@camstack/ui-library 0.1.39 → 0.1.40
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/addon-global-settings-form.d.ts +60 -0
- package/dist/composites/addon-page-props.d.ts +12 -0
- package/dist/composites/agent-step-editor.d.ts +15 -0
- package/dist/composites/app-shell/app-shell.d.ts +19 -0
- package/dist/composites/app-shell/index.d.ts +3 -0
- package/dist/composites/app-shell/sidebar-item.d.ts +10 -0
- package/dist/composites/app-shell/sidebar.d.ts +14 -0
- package/dist/composites/audio-classification-list.d.ts +20 -0
- package/dist/composites/audio-level-waveform.d.ts +35 -0
- package/dist/composites/audio-waveform.d.ts +20 -0
- package/dist/composites/battery-badge.d.ts +12 -0
- package/dist/composites/breadcrumb.d.ts +25 -0
- package/dist/composites/camera-stream-player.d.ts +87 -0
- package/dist/composites/code-block.d.ts +6 -0
- package/dist/composites/config-form-builder.d.ts +18 -0
- package/dist/composites/config-form-field.d.ts +70 -0
- package/dist/composites/confirm-action-button.d.ts +41 -0
- package/dist/composites/confirm-dialog.d.ts +13 -0
- package/dist/composites/data-table/data-table-header.d.ts +10 -0
- package/dist/composites/data-table/data-table-pagination.d.ts +9 -0
- package/dist/composites/data-table/data-table-row.d.ts +10 -0
- package/dist/composites/data-table/data-table.d.ts +2 -0
- package/dist/composites/data-table/index.d.ts +2 -0
- package/dist/composites/data-table/types.d.ts +34 -0
- package/dist/composites/data-table.d.ts +37 -0
- package/dist/composites/detection-canvas.d.ts +29 -0
- package/dist/composites/detection-colors.d.ts +15 -0
- package/dist/composites/detection-overlay.d.ts +9 -0
- package/dist/composites/detection-result-tree.d.ts +11 -0
- package/dist/composites/dev-shell.d.ts +20 -0
- package/dist/composites/device-activity-panel.d.ts +29 -0
- package/dist/composites/device-card.d.ts +38 -0
- package/dist/composites/device-grid.d.ts +12 -0
- package/dist/composites/device-item/actions.d.ts +9 -0
- package/dist/composites/device-item/children-accordion.d.ts +11 -0
- package/dist/composites/device-item/features.d.ts +17 -0
- package/dist/composites/device-item/header.d.ts +14 -0
- package/dist/composites/device-item/helpers.d.ts +147 -0
- package/dist/composites/device-item/index.d.ts +5 -0
- package/dist/composites/device-item/preview.d.ts +23 -0
- package/dist/composites/device-item/status-dot.d.ts +5 -0
- package/dist/composites/device-list/empty-state.d.ts +6 -0
- package/dist/composites/device-list/filter-chips.d.ts +19 -0
- package/dist/composites/device-list/group.d.ts +6 -0
- package/dist/composites/device-list/index.d.ts +31 -0
- package/dist/composites/device-list/pagination.d.ts +18 -0
- package/dist/composites/device-list/url-state.d.ts +24 -0
- package/dist/composites/discovery-panel.d.ts +26 -0
- package/dist/composites/doorbell-recent-panel.d.ts +10 -0
- package/dist/composites/empty-state.d.ts +10 -0
- package/dist/composites/event-stream.d.ts +48 -0
- package/dist/composites/filter-bar.d.ts +28 -0
- package/dist/composites/form-field.d.ts +11 -0
- package/dist/composites/image-selector.d.ts +25 -0
- package/dist/composites/index.d.ts +99 -0
- package/dist/composites/inference-config-selector.d.ts +44 -0
- package/dist/composites/kebab-menu.d.ts +39 -0
- package/dist/composites/key-value-list.d.ts +9 -0
- package/dist/composites/log-stream.d.ts +61 -0
- package/dist/composites/login-form.d.ts +8 -0
- package/dist/composites/mount-addon-page.d.ts +16 -0
- package/dist/composites/node-picker.d.ts +15 -0
- package/dist/composites/page-header.d.ts +8 -0
- package/dist/composites/phase-icon.d.ts +5 -0
- package/dist/composites/pipeline-builder.d.ts +43 -0
- package/dist/composites/pipeline-runtime-selector.d.ts +16 -0
- package/dist/composites/pipeline-step.d.ts +65 -0
- package/dist/composites/pipeline-tree-matrix.d.ts +31 -0
- package/dist/composites/provider-badge.d.ts +7 -0
- package/dist/composites/ptz-overlay.d.ts +20 -0
- package/dist/composites/response-log.d.ts +9 -0
- package/dist/composites/slide-over-panel.d.ts +11 -0
- package/dist/composites/snapshot-button.d.ts +25 -0
- package/dist/composites/stat-card.d.ts +10 -0
- package/dist/composites/state-values-stream.d.ts +30 -0
- package/dist/composites/status-badge.d.ts +10 -0
- package/dist/composites/step-timings.d.ts +9 -0
- package/dist/composites/step-tree-master.d.ts +28 -0
- package/dist/composites/stream-panel.d.ts +143 -0
- package/dist/composites/version-badge.d.ts +24 -0
- package/dist/composites/widget-slot.d.ts +20 -0
- package/dist/contexts/custom-field-renderers.d.ts +26 -0
- package/dist/contexts/device-context.d.ts +20 -0
- package/dist/contexts/player-overlays.d.ts +56 -0
- package/dist/contexts/system-context.d.ts +19 -0
- package/dist/contexts/widget-registry.d.ts +68 -0
- package/dist/contexts/zone-editing.d.ts +59 -0
- package/dist/generated/system-hooks.d.ts +933 -0
- package/dist/hooks/index.d.ts +27 -0
- package/dist/hooks/use-cluster-nodes.d.ts +17 -0
- package/dist/hooks/use-debounced-string.d.ts +1 -0
- package/dist/hooks/use-device-battery.d.ts +14 -0
- package/dist/hooks/use-device-capability.d.ts +17 -0
- package/dist/hooks/use-device-detections.d.ts +50 -0
- package/dist/hooks/use-device-features.d.ts +25 -0
- package/dist/hooks/use-device-proxy.d.ts +106 -0
- package/dist/hooks/use-device-snapshot.d.ts +10 -0
- package/dist/hooks/use-device-webrtc.d.ts +108 -0
- package/dist/hooks/use-devices.d.ts +13 -0
- package/dist/hooks/use-doorbell-events.d.ts +20 -0
- package/dist/hooks/use-event-invalidation.d.ts +1 -0
- package/dist/hooks/use-event-stream.d.ts +5 -0
- package/dist/hooks/use-is-mobile.d.ts +8 -0
- package/dist/hooks/use-live-buffer.d.ts +8 -0
- package/dist/hooks/use-live-event.d.ts +3 -0
- package/dist/hooks/use-ptz.d.ts +54 -0
- package/dist/hooks/use-system-query.d.ts +12 -0
- package/dist/icons/index.d.ts +2 -0
- package/dist/icons/provider-icons.d.ts +3 -0
- package/dist/icons/status-icons.d.ts +3 -0
- package/dist/index.cjs +23484 -14252
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +14 -3787
- package/dist/index.js +22810 -13741
- package/dist/index.js.map +1 -1
- package/dist/lib/cn.d.ts +2 -0
- package/dist/lib/index.d.ts +8 -0
- package/dist/lib/mf-runtime-init.d.ts +1 -0
- package/dist/lib/phase-config.d.ts +16 -0
- package/dist/lib/pipeline-mirror.d.ts +23 -0
- package/dist/lib/responsive.d.ts +81 -0
- package/dist/lib/shared-context.d.ts +5 -0
- package/dist/lib/validate-template.d.ts +2 -0
- package/dist/primitives/badge.d.ts +11 -0
- package/dist/primitives/bottom-sheet.d.ts +9 -0
- package/dist/primitives/button.d.ts +10 -0
- package/dist/primitives/card.d.ts +9 -0
- package/dist/primitives/checkbox.d.ts +4 -0
- package/dist/primitives/collapsible-card.d.ts +15 -0
- package/dist/primitives/dialog.d.ts +20 -0
- package/dist/primitives/dropdown.d.ts +19 -0
- package/dist/primitives/floating-panel.d.ts +22 -0
- package/dist/primitives/icon-button.d.ts +13 -0
- package/dist/primitives/index.d.ts +21 -0
- package/dist/primitives/input.d.ts +11 -0
- package/dist/primitives/label.d.ts +4 -0
- package/dist/primitives/mobile-drawer.d.ts +10 -0
- package/dist/primitives/popover.d.ts +10 -0
- package/dist/primitives/scroll-area.d.ts +4 -0
- package/dist/primitives/select.d.ts +9 -0
- package/dist/primitives/separator.d.ts +9 -0
- package/dist/primitives/skeleton.d.ts +4 -0
- package/dist/primitives/switch.d.ts +7 -0
- package/dist/primitives/tabs.d.ts +17 -0
- package/dist/primitives/tooltip.d.ts +6 -0
- package/dist/theme/create-theme.d.ts +2 -0
- package/dist/theme/defaults.d.ts +4 -0
- package/dist/theme/index.cjs +228 -248
- package/dist/theme/index.cjs.map +1 -1
- package/dist/theme/index.d.ts +6 -128
- package/dist/theme/index.js +212 -214
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/theme-provider.d.ts +10 -0
- package/dist/theme/theme-to-css.d.ts +2 -0
- package/dist/theme/{index.d.cts → types.d.ts} +5 -27
- package/dist/theme/use-theme-mode.d.ts +2 -0
- package/dist/trpc-react.d.ts +7 -0
- package/package.json +5 -3
- package/dist/index.d.cts +0 -3787
package/dist/index.d.ts
CHANGED
|
@@ -1,3787 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
import { System, SystemLiveEvent } from '@camstack/sdk';
|
|
16
|
-
import { UseMutationOptions, UseMutationResult, QueryKey, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
17
|
-
import { CreateTRPCReact } from '@trpc/react-query';
|
|
18
|
-
|
|
19
|
-
declare function cn(...inputs: ClassValue[]): string;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Responsive design tokens — three-tier system.
|
|
23
|
-
*
|
|
24
|
-
* The admin-ui targets three width tiers; every component should pick
|
|
25
|
-
* the right token from this file instead of hand-coding breakpoints.
|
|
26
|
-
* Adopting the tokens uniformly is what makes the app feel consistent
|
|
27
|
-
* across operator devices (mobile / tablet / desktop) and what unlocks
|
|
28
|
-
* targeted tuning (e.g. shrink every label by 1px in one place).
|
|
29
|
-
*
|
|
30
|
-
* Tier definitions (Tailwind breakpoints):
|
|
31
|
-
*
|
|
32
|
-
* • **L1 — Compact** (`< 640px`, default = mobile portrait)
|
|
33
|
-
* Single column, tight padding, smallest text, icon-only buttons
|
|
34
|
-
* where labels can be inferred. The operator can still see every
|
|
35
|
-
* stat / action — no horizontal scroll, no clipped text. The user
|
|
36
|
-
* directive: "molta informazione in poco spazio quando la width è
|
|
37
|
-
* bassa."
|
|
38
|
-
*
|
|
39
|
-
* • **L2 — Standard** (`sm` — `640–1023px`, tablet + small laptop)
|
|
40
|
-
* 2-column grids, side panels become visible, button labels return.
|
|
41
|
-
* Targets ~768px–1024px viewports — the most common operator sizes.
|
|
42
|
-
*
|
|
43
|
-
* • **L3 — Spacious** (`lg+` — `≥ 1024px`, desktop)
|
|
44
|
-
* 4-column grids, generous padding, full-width header text,
|
|
45
|
-
* side-by-side composite layouts. The operator has elbow room.
|
|
46
|
-
*
|
|
47
|
-
* Conventions:
|
|
48
|
-
* - **Always start from L1** — the bare class is always the compact
|
|
49
|
-
* variant, then `sm:` adds room at 640px, `lg:` at 1024px. No
|
|
50
|
-
* desktop-first breakpoints; no max-width queries.
|
|
51
|
-
* - **Token strings are static** — kept as `as const` so callers can
|
|
52
|
-
* compose them via `cn()` / template literals without running a
|
|
53
|
-
* class generator at runtime.
|
|
54
|
-
* - **Pair the token with a comment** — the comment in the file
|
|
55
|
-
* names every breakpoint it crosses, so a reader can predict the
|
|
56
|
-
* layout without going to Tailwind docs.
|
|
57
|
-
*/
|
|
58
|
-
/** Container padding for a card-style section (header + body). */
|
|
59
|
-
declare const SECTION_CARD: "rounded-lg border border-border bg-surface overflow-hidden";
|
|
60
|
-
/** Header strip inside a card (between border-b lines). */
|
|
61
|
-
declare const SECTION_HEADER: "border-b border-border px-3 sm:px-4 py-1.5 sm:py-2";
|
|
62
|
-
/** Body padding for a card-style section. */
|
|
63
|
-
declare const SECTION_BODY: "p-2 sm:p-3 lg:p-4";
|
|
64
|
-
/** Gap between cards in a vertical stack. */
|
|
65
|
-
declare const STACK_GAP: "space-y-3 sm:space-y-4";
|
|
66
|
-
/** Gap between cards in a grid (4 cells / row at lg). */
|
|
67
|
-
declare const GRID_GAP: "gap-2 sm:gap-3";
|
|
68
|
-
/** Row padding inside a divided list (e.g. InfoRow). */
|
|
69
|
-
declare const LIST_ROW: "px-3 sm:px-4 py-1.5 sm:py-2";
|
|
70
|
-
/** 1-up at L1, 2-up at L2, 4-up at L3 — quick-stat row. */
|
|
71
|
-
declare const GRID_QUICK_STATS: "grid grid-cols-2 sm:grid-cols-2 lg:grid-cols-4";
|
|
72
|
-
/** 1-up at L1, 2-up at L2+ — paired panels (motion + detection rules). */
|
|
73
|
-
declare const GRID_PAIRED: "grid grid-cols-1 lg:grid-cols-2";
|
|
74
|
-
/** Side-by-side layout that stacks below md (canvas + side panel). */
|
|
75
|
-
declare const SPLIT_PANEL_OUTER: "flex flex-col-reverse md:flex-row";
|
|
76
|
-
/** Sidebar narrow lane in a SPLIT_PANEL_OUTER layout. */
|
|
77
|
-
declare const SPLIT_PANEL_SIDE: "w-full md:w-44 lg:w-52 md:flex-shrink-0 border-b md:border-b-0 md:border-l border-border";
|
|
78
|
-
/** Section header label (uppercase tracking-wider). */
|
|
79
|
-
declare const TEXT_SECTION_LABEL: "text-[10px] sm:text-[11px] font-semibold text-foreground uppercase tracking-wider";
|
|
80
|
-
/** Field label inside a row. */
|
|
81
|
-
declare const TEXT_FIELD_LABEL: "text-[11px] sm:text-xs text-foreground";
|
|
82
|
-
/** Sub-label / hint text. */
|
|
83
|
-
declare const TEXT_HINT: "text-[10px] text-foreground-subtle";
|
|
84
|
-
/** Primary value (a metric, badge, …). */
|
|
85
|
-
declare const TEXT_VALUE: "text-[11px] sm:text-xs font-medium text-foreground";
|
|
86
|
-
/** Big metric value (StatCard). */
|
|
87
|
-
declare const TEXT_METRIC: "text-base sm:text-lg font-semibold leading-tight text-foreground";
|
|
88
|
-
/** Default compact button. */
|
|
89
|
-
declare const BTN_COMPACT: "inline-flex items-center justify-center gap-1 rounded border border-border bg-surface px-1.5 py-0.5 sm:px-2 sm:py-1 text-[10px] sm:text-[11px] font-medium text-foreground hover:bg-surface-hover transition-colors disabled:opacity-40";
|
|
90
|
-
/** Primary compact button. */
|
|
91
|
-
declare const BTN_COMPACT_PRIMARY: "inline-flex items-center justify-center gap-1 rounded border border-primary/40 bg-primary/15 px-1.5 py-0.5 sm:px-2 sm:py-1 text-[10px] sm:text-[11px] font-medium text-primary hover:bg-primary/25 transition-colors disabled:opacity-40";
|
|
92
|
-
/** Danger compact button. */
|
|
93
|
-
declare const BTN_COMPACT_DANGER: "inline-flex items-center justify-center gap-1 rounded border border-danger/40 bg-danger/10 px-1.5 py-0.5 sm:px-2 sm:py-1 text-[10px] sm:text-[11px] font-medium text-danger hover:bg-danger/20 transition-colors disabled:opacity-40";
|
|
94
|
-
/** Warning compact button (e.g. cancel-drawing). */
|
|
95
|
-
declare const BTN_COMPACT_WARNING: "inline-flex items-center justify-center gap-1 rounded border border-warning/40 bg-warning/10 px-1.5 py-0.5 sm:px-2 sm:py-1 text-[10px] sm:text-[11px] font-medium text-warning hover:bg-warning/20 transition-colors disabled:opacity-40";
|
|
96
|
-
/** Compact text/select/number input. */
|
|
97
|
-
declare const INPUT_COMPACT: "w-full rounded border border-border bg-background px-1.5 py-0.5 sm:px-2 sm:py-1 text-[11px] sm:text-xs text-foreground focus:border-primary focus:ring-1 focus:ring-primary/30 outline-none";
|
|
98
|
-
/** Chip-style toggle (zone / class selectors in ZoneRulesEditor). */
|
|
99
|
-
declare const CHIP_BASE: "inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[10px] font-medium transition-colors";
|
|
100
|
-
declare const CHIP_ACTIVE: "border-primary/50 bg-primary/15 text-primary";
|
|
101
|
-
declare const CHIP_INACTIVE: "border-border bg-surface text-foreground-subtle hover:bg-surface-hover";
|
|
102
|
-
|
|
103
|
-
interface MirrorSource {
|
|
104
|
-
readonly nodeId: string;
|
|
105
|
-
readonly engine: {
|
|
106
|
-
readonly format: string;
|
|
107
|
-
};
|
|
108
|
-
readonly defaults: Readonly<Record<string, AgentAddonConfig>>;
|
|
109
|
-
}
|
|
110
|
-
interface MirrorInput {
|
|
111
|
-
readonly source: MirrorSource;
|
|
112
|
-
readonly target: MirrorSource;
|
|
113
|
-
readonly catalog: PipelineSchema;
|
|
114
|
-
readonly addonIds: readonly string[];
|
|
115
|
-
}
|
|
116
|
-
type MirrorOutcome = 'exact' | 'mapped' | 'skip';
|
|
117
|
-
interface MirrorResultEntry {
|
|
118
|
-
readonly addonId: string;
|
|
119
|
-
readonly outcome: MirrorOutcome;
|
|
120
|
-
readonly modelId: string | null;
|
|
121
|
-
readonly reason?: string;
|
|
122
|
-
readonly patch: CameraStepOverridePatch | null;
|
|
123
|
-
}
|
|
124
|
-
declare function mirror(input: MirrorInput): readonly MirrorResultEntry[];
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* phase-config — canonical visual config for CameraPhase values.
|
|
128
|
-
*
|
|
129
|
-
* Single source of truth for label, color classes, dot class, and
|
|
130
|
-
* lucide icon name. Every UI surface (PhaseBadge, CameraStatusStrip,
|
|
131
|
-
* CameraAssignmentsTable, DeviceDetail, OverviewTab, NodeLiveTab)
|
|
132
|
-
* imports from here instead of hardcoding phase → style mappings.
|
|
133
|
-
*
|
|
134
|
-
* Icon components are NOT imported here (would pull lucide-react into
|
|
135
|
-
* the config module). Consumers import the icon by name themselves:
|
|
136
|
-
* `import { [cfg.icon] } from 'lucide-react'`
|
|
137
|
-
* or use the provided `PhaseIcon` component from `./phase-icon.tsx`.
|
|
138
|
-
*/
|
|
139
|
-
|
|
140
|
-
interface PhaseVisual {
|
|
141
|
-
/** Human-readable label (e.g. "Active", "Load-Shed"). */
|
|
142
|
-
readonly label: string;
|
|
143
|
-
/** Tailwind text color class (e.g. "text-success"). */
|
|
144
|
-
readonly textColor: string;
|
|
145
|
-
/** Tailwind border+bg classes for pill/badge containers. */
|
|
146
|
-
readonly badgeClass: string;
|
|
147
|
-
/** Tailwind class for the status dot (circle indicator). */
|
|
148
|
-
readonly dotClass: string;
|
|
149
|
-
/** Lucide icon name to use for this phase. */
|
|
150
|
-
readonly icon: 'Activity' | 'Eye' | 'AlertTriangle' | 'PauseCircle' | 'PowerOff';
|
|
151
|
-
}
|
|
152
|
-
declare const PHASE_CONFIG: Record<CameraPhase, PhaseVisual>;
|
|
153
|
-
/** Look up phase config with a safe fallback to `watching` for unknown values. */
|
|
154
|
-
declare function getPhaseVisual(phase: string): PhaseVisual;
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Cross-bundle React Context sharing.
|
|
158
|
-
*
|
|
159
|
-
* Addon page bundles (benchmark, etc.) ship their own bundled copy of
|
|
160
|
-
* `@camstack/ui-library`. Without sharing, each bundle calls
|
|
161
|
-
* `createContext()` and gets a fresh Context instance — so when the
|
|
162
|
-
* bundle's hook reads from this Context, it doesn't match the host
|
|
163
|
-
* admin-ui's <Provider> tree, and `useContext()` returns the default
|
|
164
|
-
* value (typically `null`) which often causes a `must be used within
|
|
165
|
-
* Provider` throw.
|
|
166
|
-
*
|
|
167
|
-
* This helper stashes Context instances on `globalThis` keyed by a
|
|
168
|
-
* unique name, so the SECOND-evaluated copy reuses the host's
|
|
169
|
-
* instance instead of creating a duplicate.
|
|
170
|
-
*
|
|
171
|
-
* Boot order:
|
|
172
|
-
* 1. admin-ui's main.tsx evaluates first → globalThis Map is empty
|
|
173
|
-
* → creates Context, stores it under `name`.
|
|
174
|
-
* 2. Addon bundle evaluates later → globalThis Map has the entry
|
|
175
|
-
* → returns the host's Context.
|
|
176
|
-
*
|
|
177
|
-
* Critical: pick UNIQUE `name`s. Two distinct contexts with the same
|
|
178
|
-
* name will silently collide (and TypeScript can't catch it because
|
|
179
|
-
* the Map is typed as `Context<unknown>`).
|
|
180
|
-
*/
|
|
181
|
-
|
|
182
|
-
declare global {
|
|
183
|
-
var __camstackSharedContexts: Map<string, Context<unknown>> | undefined;
|
|
184
|
-
}
|
|
185
|
-
declare function createSharedContext<T>(name: string, defaultValue: T): Context<T>;
|
|
186
|
-
|
|
187
|
-
declare function ensureMfHostInit(): void;
|
|
188
|
-
|
|
189
|
-
type ProviderType = 'frigate' | 'scrypted' | 'reolink' | 'homeAssistant' | 'rtsp';
|
|
190
|
-
declare const providerIcons: Record<ProviderType, LucideIcon>;
|
|
191
|
-
|
|
192
|
-
type StatusType = 'online' | 'offline' | 'degraded' | 'unknown';
|
|
193
|
-
declare const statusIcons: Record<StatusType, LucideIcon>;
|
|
194
|
-
|
|
195
|
-
declare const buttonVariants: (props?: ({
|
|
196
|
-
variant?: "primary" | "danger" | "secondary" | "ghost" | "outline" | null | undefined;
|
|
197
|
-
size?: "sm" | "md" | "lg" | null | undefined;
|
|
198
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
199
|
-
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
200
|
-
}
|
|
201
|
-
declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
202
|
-
|
|
203
|
-
declare const iconButtonVariants: (props?: ({
|
|
204
|
-
variant?: "primary" | "danger" | "secondary" | "ghost" | "outline" | null | undefined;
|
|
205
|
-
size?: "sm" | "md" | "lg" | null | undefined;
|
|
206
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
207
|
-
interface IconButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, VariantProps<typeof iconButtonVariants> {
|
|
208
|
-
icon: LucideIcon;
|
|
209
|
-
'aria-label': string;
|
|
210
|
-
}
|
|
211
|
-
declare const IconButton: react.ForwardRefExoticComponent<IconButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
212
|
-
|
|
213
|
-
declare const badgeVariants: (props?: ({
|
|
214
|
-
variant?: "success" | "warning" | "danger" | "info" | "default" | null | undefined;
|
|
215
|
-
styleVariant?: "outline" | "solid" | null | undefined;
|
|
216
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
217
|
-
interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'style'>, VariantProps<typeof badgeVariants> {
|
|
218
|
-
style?: 'solid' | 'outline';
|
|
219
|
-
}
|
|
220
|
-
declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttributes<HTMLSpanElement>>;
|
|
221
|
-
|
|
222
|
-
declare const cardVariants: (props?: ({
|
|
223
|
-
variant?: "flat" | "bordered" | null | undefined;
|
|
224
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
225
|
-
interface CardProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
|
|
226
|
-
}
|
|
227
|
-
declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
|
|
228
|
-
|
|
229
|
-
interface CollapsibleCardProps {
|
|
230
|
-
readonly expanded: boolean;
|
|
231
|
-
readonly onExpandedChange: (next: boolean) => void;
|
|
232
|
-
/** Rendered inside the clickable header row, to the right of the chevron. */
|
|
233
|
-
readonly header: ReactNode;
|
|
234
|
-
/** Expanded body — rendered below a subtle divider when `expanded === true`. */
|
|
235
|
-
readonly children?: ReactNode;
|
|
236
|
-
/** Dims the entire card — for steps flagged as disabled/inactive. */
|
|
237
|
-
readonly dimmed?: boolean;
|
|
238
|
-
/** Hide the chevron (header still click-toggles). Useful for always-expanded views. */
|
|
239
|
-
readonly hideChevron?: boolean;
|
|
240
|
-
readonly className?: string;
|
|
241
|
-
}
|
|
242
|
-
declare function CollapsibleCard({ expanded, onExpandedChange, header, children, dimmed, hideChevron, className, }: CollapsibleCardProps): react_jsx_runtime.JSX.Element;
|
|
243
|
-
|
|
244
|
-
interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
|
|
245
|
-
}
|
|
246
|
-
declare const Label: react.ForwardRefExoticComponent<LabelProps & react.RefAttributes<HTMLLabelElement>>;
|
|
247
|
-
|
|
248
|
-
declare const separatorVariants: (props?: ({
|
|
249
|
-
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
250
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
251
|
-
interface SeparatorProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof separatorVariants> {
|
|
252
|
-
}
|
|
253
|
-
declare const Separator: react.ForwardRefExoticComponent<SeparatorProps & react.RefAttributes<HTMLDivElement>>;
|
|
254
|
-
|
|
255
|
-
interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
|
|
256
|
-
}
|
|
257
|
-
declare const Skeleton: react.ForwardRefExoticComponent<SkeletonProps & react.RefAttributes<HTMLDivElement>>;
|
|
258
|
-
|
|
259
|
-
declare const inputVariants: (props?: ({
|
|
260
|
-
state?: "default" | "error" | null | undefined;
|
|
261
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
262
|
-
interface InputProps extends InputHTMLAttributes<HTMLInputElement>, VariantProps<typeof inputVariants> {
|
|
263
|
-
leftSlot?: ReactNode;
|
|
264
|
-
rightSlot?: ReactNode;
|
|
265
|
-
}
|
|
266
|
-
declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
|
|
267
|
-
|
|
268
|
-
interface SelectOption {
|
|
269
|
-
value: string;
|
|
270
|
-
label: string;
|
|
271
|
-
}
|
|
272
|
-
interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {
|
|
273
|
-
options: SelectOption[];
|
|
274
|
-
}
|
|
275
|
-
declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLSelectElement>>;
|
|
276
|
-
|
|
277
|
-
interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
278
|
-
}
|
|
279
|
-
declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
|
|
280
|
-
|
|
281
|
-
interface SwitchProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
|
|
282
|
-
checked: boolean;
|
|
283
|
-
onCheckedChange: (checked: boolean) => void;
|
|
284
|
-
label?: string;
|
|
285
|
-
}
|
|
286
|
-
declare const Switch: react.ForwardRefExoticComponent<SwitchProps & react.RefAttributes<HTMLButtonElement>>;
|
|
287
|
-
|
|
288
|
-
interface DialogProps {
|
|
289
|
-
children: ReactNode;
|
|
290
|
-
open?: boolean;
|
|
291
|
-
onOpenChange?: (open: boolean) => void;
|
|
292
|
-
}
|
|
293
|
-
declare function Dialog({ children, open: controlledOpen, onOpenChange }: DialogProps): react_jsx_runtime.JSX.Element;
|
|
294
|
-
declare function DialogTrigger({ children, ...props }: HTMLAttributes<HTMLButtonElement>): react_jsx_runtime.JSX.Element;
|
|
295
|
-
declare const contentVariants: (props?: ({
|
|
296
|
-
width?: "sm" | "md" | "lg" | null | undefined;
|
|
297
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
298
|
-
interface DialogContentProps extends HTMLAttributes<HTMLDialogElement>, VariantProps<typeof contentVariants> {
|
|
299
|
-
}
|
|
300
|
-
declare const DialogContent: react.ForwardRefExoticComponent<DialogContentProps & react.RefAttributes<HTMLDialogElement>>;
|
|
301
|
-
declare function DialogHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
302
|
-
declare function DialogFooter({ className, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
303
|
-
declare function DialogTitle({ className, ...props }: HTMLAttributes<HTMLHeadingElement>): react_jsx_runtime.JSX.Element;
|
|
304
|
-
declare function DialogDescription({ className, ...props }: HTMLAttributes<HTMLParagraphElement>): react_jsx_runtime.JSX.Element;
|
|
305
|
-
|
|
306
|
-
declare function Dropdown({ children }: {
|
|
307
|
-
children: ReactNode;
|
|
308
|
-
}): react_jsx_runtime.JSX.Element;
|
|
309
|
-
declare function DropdownTrigger({ children, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): react_jsx_runtime.JSX.Element;
|
|
310
|
-
interface DropdownContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
311
|
-
/** Horizontal alignment relative to the trigger. Default: 'start' (left-aligned). */
|
|
312
|
-
align?: 'start' | 'end';
|
|
313
|
-
/** Pixel offset between trigger and content. Default: 4. */
|
|
314
|
-
offset?: number;
|
|
315
|
-
}
|
|
316
|
-
declare function DropdownContent({ className, children, align, offset, ...props }: DropdownContentProps): react.ReactPortal | null;
|
|
317
|
-
interface DropdownItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
318
|
-
icon?: LucideIcon;
|
|
319
|
-
variant?: 'default' | 'danger';
|
|
320
|
-
}
|
|
321
|
-
declare function DropdownItem({ className, icon: Icon, variant, children, onClick, ...props }: DropdownItemProps): react_jsx_runtime.JSX.Element;
|
|
322
|
-
|
|
323
|
-
declare function Tooltip({ children }: {
|
|
324
|
-
children: ReactNode;
|
|
325
|
-
}): react_jsx_runtime.JSX.Element;
|
|
326
|
-
declare function TooltipTrigger({ children, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
327
|
-
declare function TooltipContent({ className, children, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
328
|
-
|
|
329
|
-
interface PopoverProps {
|
|
330
|
-
children: ReactNode;
|
|
331
|
-
open?: boolean;
|
|
332
|
-
onOpenChange?: (open: boolean) => void;
|
|
333
|
-
}
|
|
334
|
-
declare function Popover({ children, open: controlledOpen, onOpenChange }: PopoverProps): react_jsx_runtime.JSX.Element;
|
|
335
|
-
declare function PopoverTrigger({ children, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): react_jsx_runtime.JSX.Element;
|
|
336
|
-
declare function PopoverContent({ className, children, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element | null;
|
|
337
|
-
|
|
338
|
-
interface TabsProps extends HTMLAttributes<HTMLDivElement> {
|
|
339
|
-
value?: string;
|
|
340
|
-
onValueChange?: (value: string) => void;
|
|
341
|
-
defaultValue?: string;
|
|
342
|
-
}
|
|
343
|
-
declare function Tabs({ value: controlledValue, onValueChange, defaultValue, className, ...props }: TabsProps): react_jsx_runtime.JSX.Element;
|
|
344
|
-
declare function TabsList({ className, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
345
|
-
interface TabsTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
346
|
-
value: string;
|
|
347
|
-
}
|
|
348
|
-
declare function TabsTrigger({ value, className, ...props }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
|
|
349
|
-
interface TabsContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
350
|
-
value: string;
|
|
351
|
-
}
|
|
352
|
-
declare function TabsContent({ value, className, ...props }: TabsContentProps): react_jsx_runtime.JSX.Element | null;
|
|
353
|
-
|
|
354
|
-
interface ScrollAreaProps extends HTMLAttributes<HTMLDivElement> {
|
|
355
|
-
}
|
|
356
|
-
declare const ScrollArea: react.ForwardRefExoticComponent<ScrollAreaProps & react.RefAttributes<HTMLDivElement>>;
|
|
357
|
-
|
|
358
|
-
interface FloatingPanelProps {
|
|
359
|
-
/** Panel title displayed in the title bar */
|
|
360
|
-
title: string;
|
|
361
|
-
/** Called when the close button is clicked */
|
|
362
|
-
onClose: () => void;
|
|
363
|
-
/** Panel content */
|
|
364
|
-
children: ReactNode;
|
|
365
|
-
/** Default width in pixels */
|
|
366
|
-
defaultWidth?: number;
|
|
367
|
-
/** Default height in pixels */
|
|
368
|
-
defaultHeight?: number;
|
|
369
|
-
/** Minimum width in pixels */
|
|
370
|
-
minWidth?: number;
|
|
371
|
-
/** Minimum height in pixels */
|
|
372
|
-
minHeight?: number;
|
|
373
|
-
/** Offset index to stagger multiple panels (adds 30px offset per index) */
|
|
374
|
-
offsetIndex?: number;
|
|
375
|
-
/** Additional CSS classes for the panel container */
|
|
376
|
-
className?: string;
|
|
377
|
-
}
|
|
378
|
-
declare function FloatingPanel({ title, onClose, children, defaultWidth, defaultHeight, minWidth, minHeight, offsetIndex, className, }: FloatingPanelProps): react_jsx_runtime.JSX.Element;
|
|
379
|
-
|
|
380
|
-
interface MobileDrawerProps {
|
|
381
|
-
open: boolean;
|
|
382
|
-
onClose: () => void;
|
|
383
|
-
children: ReactNode;
|
|
384
|
-
className?: string;
|
|
385
|
-
/** Width of the drawer panel. Default: 'w-64' */
|
|
386
|
-
width?: string;
|
|
387
|
-
}
|
|
388
|
-
declare function MobileDrawer({ open, onClose, children, className, width }: MobileDrawerProps): react_jsx_runtime.JSX.Element;
|
|
389
|
-
|
|
390
|
-
interface BottomSheetProps {
|
|
391
|
-
open: boolean;
|
|
392
|
-
onClose: () => void;
|
|
393
|
-
title?: string;
|
|
394
|
-
children: ReactNode;
|
|
395
|
-
className?: string;
|
|
396
|
-
}
|
|
397
|
-
declare function BottomSheet({ open, onClose, title, children, className }: BottomSheetProps): react_jsx_runtime.JSX.Element;
|
|
398
|
-
|
|
399
|
-
interface BreadcrumbItem {
|
|
400
|
-
/** Display label */
|
|
401
|
-
label: string;
|
|
402
|
-
/** If provided, renders as a clickable link. Last item is never a link. */
|
|
403
|
-
href?: string;
|
|
404
|
-
/** Click handler — used instead of href for SPA navigation */
|
|
405
|
-
onClick?: () => void;
|
|
406
|
-
}
|
|
407
|
-
interface BreadcrumbProps {
|
|
408
|
-
items: BreadcrumbItem[];
|
|
409
|
-
className?: string;
|
|
410
|
-
}
|
|
411
|
-
/**
|
|
412
|
-
* Breadcrumb navigation component.
|
|
413
|
-
*
|
|
414
|
-
* Usage with react-router:
|
|
415
|
-
* ```tsx
|
|
416
|
-
* <Breadcrumb items={[
|
|
417
|
-
* { label: 'Integrations', onClick: () => navigate('/integrations') },
|
|
418
|
-
* { label: 'RTSP Cameras', onClick: () => navigate('/integrations/int_0001') },
|
|
419
|
-
* { label: 'Front Door' },
|
|
420
|
-
* ]} />
|
|
421
|
-
* ```
|
|
422
|
-
*/
|
|
423
|
-
declare function Breadcrumb({ items, className }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
|
|
424
|
-
|
|
425
|
-
interface SlideOverPanelProps {
|
|
426
|
-
readonly open: boolean;
|
|
427
|
-
readonly onClose: () => void;
|
|
428
|
-
readonly title: ReactNode;
|
|
429
|
-
readonly subtitle?: ReactNode;
|
|
430
|
-
readonly footer?: ReactNode;
|
|
431
|
-
readonly children: ReactNode;
|
|
432
|
-
readonly widthClass?: string;
|
|
433
|
-
}
|
|
434
|
-
declare function SlideOverPanel({ open, onClose, title, subtitle, footer, children, widthClass, }: SlideOverPanelProps): react_jsx_runtime.JSX.Element | null;
|
|
435
|
-
|
|
436
|
-
type StepDotState = 'inherit' | 'on' | 'off' | 'na';
|
|
437
|
-
interface StepTreeNode {
|
|
438
|
-
readonly addonId: string;
|
|
439
|
-
readonly addonName: string;
|
|
440
|
-
readonly slot: PipelineSlot;
|
|
441
|
-
readonly inputClasses: readonly string[];
|
|
442
|
-
readonly outputClasses: readonly string[];
|
|
443
|
-
readonly children: readonly StepTreeNode[];
|
|
444
|
-
}
|
|
445
|
-
interface StepTreeMasterProps {
|
|
446
|
-
readonly tree: readonly StepTreeNode[];
|
|
447
|
-
readonly selectedAddonId: string | null;
|
|
448
|
-
readonly onSelect: (addonId: string) => void;
|
|
449
|
-
readonly agentDots?: Readonly<Record<string, readonly {
|
|
450
|
-
readonly agentNodeId: string;
|
|
451
|
-
readonly state: StepDotState;
|
|
452
|
-
}[]>>;
|
|
453
|
-
readonly className?: string;
|
|
454
|
-
}
|
|
455
|
-
declare function StepTreeMaster({ tree, selectedAddonId, onSelect, agentDots, className, }: StepTreeMasterProps): react_jsx_runtime.JSX.Element;
|
|
456
|
-
/**
|
|
457
|
-
* Helper: build a StepTreeNode[] from a `PipelineSchema` by chaining on
|
|
458
|
-
* `inputClasses` ⇔ `outputClasses` compatibility. Mirrors the orchestrator
|
|
459
|
-
* resolver's `buildTreeFromAddons` logic but yields names only (display
|
|
460
|
-
* layer). Addons in the audio-classifier slot become separate roots.
|
|
461
|
-
*/
|
|
462
|
-
declare function buildStepTreeFromSchema(schema: PipelineSchema): readonly StepTreeNode[];
|
|
463
|
-
|
|
464
|
-
type EditorMode = 'agent' | 'device';
|
|
465
|
-
interface AgentStepEditorProps {
|
|
466
|
-
readonly mode: EditorMode;
|
|
467
|
-
readonly addon: PipelineAddonSchema;
|
|
468
|
-
/** L1 base — always visible as the "inherited" baseline. */
|
|
469
|
-
readonly agentDefault: AgentAddonConfig;
|
|
470
|
-
readonly agentNodeId: string;
|
|
471
|
-
/** Device mode only — current L2.5 patch for (agent, addon). */
|
|
472
|
-
readonly currentPatch?: CameraStepOverridePatch | null;
|
|
473
|
-
readonly onChangeAgentConfig?: (next: AgentAddonConfig) => void;
|
|
474
|
-
readonly onChangePatch?: (next: CameraStepOverridePatch | null) => void;
|
|
475
|
-
readonly engineFormat: string;
|
|
476
|
-
}
|
|
477
|
-
declare function AgentStepEditor(props: AgentStepEditorProps): react_jsx_runtime.JSX.Element;
|
|
478
|
-
|
|
479
|
-
interface AgentColumn {
|
|
480
|
-
readonly agentNodeId: string;
|
|
481
|
-
readonly engineLabel: string;
|
|
482
|
-
}
|
|
483
|
-
type CellState = {
|
|
484
|
-
readonly kind: 'enabled';
|
|
485
|
-
readonly modelId: string;
|
|
486
|
-
} | {
|
|
487
|
-
readonly kind: 'disabled';
|
|
488
|
-
} | {
|
|
489
|
-
readonly kind: 'na';
|
|
490
|
-
};
|
|
491
|
-
interface PipelineTreeMatrixProps {
|
|
492
|
-
readonly tree: readonly StepTreeNode[];
|
|
493
|
-
readonly agents: readonly AgentColumn[];
|
|
494
|
-
readonly getCellState: (addonId: string, agentNodeId: string) => CellState;
|
|
495
|
-
readonly onCellClick: (addonId: string, agentNodeId: string) => void;
|
|
496
|
-
readonly selectedCell: {
|
|
497
|
-
readonly addonId: string;
|
|
498
|
-
readonly agentNodeId: string;
|
|
499
|
-
} | null;
|
|
500
|
-
/**
|
|
501
|
-
* Optional inline on/off toggle next to each step name. Only useful
|
|
502
|
-
* in single-agent mode (per-node pipeline tab) where the row already
|
|
503
|
-
* targets one (agent, addon) pair unambiguously. The matrix renders
|
|
504
|
-
* the toggle when this callback is set AND `agents.length === 1`.
|
|
505
|
-
*/
|
|
506
|
-
readonly onToggleEnabled?: (addonId: string, next: boolean) => void;
|
|
507
|
-
}
|
|
508
|
-
declare function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedCell, onToggleEnabled, }: PipelineTreeMatrixProps): react_jsx_runtime.JSX.Element;
|
|
509
|
-
|
|
510
|
-
interface NodePickerProps {
|
|
511
|
-
readonly selectedNodeId: string;
|
|
512
|
-
readonly onSelect: (nodeId: string) => void;
|
|
513
|
-
/** Caption shown before the pill bar. Defaults to `Node`. */
|
|
514
|
-
readonly label?: string;
|
|
515
|
-
/** Hide the leading `Server` icon (compact toolbars). */
|
|
516
|
-
readonly hideIcon?: boolean;
|
|
517
|
-
/**
|
|
518
|
-
* When true, render even when only the hub is online. Useful when
|
|
519
|
-
* the surrounding UI relies on the picker as a layout anchor; the
|
|
520
|
-
* default hides the picker since there's nothing to choose.
|
|
521
|
-
*/
|
|
522
|
-
readonly alwaysShow?: boolean;
|
|
523
|
-
}
|
|
524
|
-
declare function NodePicker({ selectedNodeId, onSelect, label, hideIcon, alwaysShow, }: NodePickerProps): react_jsx_runtime.JSX.Element | null;
|
|
525
|
-
|
|
526
|
-
type Status = 'online' | 'offline' | 'degraded' | 'unknown';
|
|
527
|
-
interface StatusBadgeProps {
|
|
528
|
-
status: Status;
|
|
529
|
-
showDot?: boolean;
|
|
530
|
-
showLabel?: boolean;
|
|
531
|
-
size?: 'sm' | 'md';
|
|
532
|
-
className?: string;
|
|
533
|
-
}
|
|
534
|
-
declare function StatusBadge({ status, showDot, showLabel, size, className, }: StatusBadgeProps): react_jsx_runtime.JSX.Element;
|
|
535
|
-
|
|
536
|
-
interface ProviderBadgeProps {
|
|
537
|
-
provider: ProviderType;
|
|
538
|
-
showLabel?: boolean;
|
|
539
|
-
className?: string;
|
|
540
|
-
}
|
|
541
|
-
declare function ProviderBadge({ provider, showLabel, className, }: ProviderBadgeProps): react_jsx_runtime.JSX.Element;
|
|
542
|
-
|
|
543
|
-
type SemanticBadgeVariant = 'success' | 'warning' | 'danger' | 'info' | 'neutral';
|
|
544
|
-
interface SemanticBadgeProps {
|
|
545
|
-
children: react__default.ReactNode;
|
|
546
|
-
variant?: SemanticBadgeVariant;
|
|
547
|
-
/** Use monospace font (good for versions, codes) */
|
|
548
|
-
mono?: boolean;
|
|
549
|
-
className?: string;
|
|
550
|
-
}
|
|
551
|
-
/**
|
|
552
|
-
* General-purpose badge with semantic color variants.
|
|
553
|
-
* Solid background with dark text for maximum contrast.
|
|
554
|
-
*/
|
|
555
|
-
declare function SemanticBadge({ children, variant, mono, className }: SemanticBadgeProps): react_jsx_runtime.JSX.Element;
|
|
556
|
-
interface VersionBadgeProps {
|
|
557
|
-
version: string;
|
|
558
|
-
preRelease?: boolean;
|
|
559
|
-
className?: string;
|
|
560
|
-
}
|
|
561
|
-
/**
|
|
562
|
-
* Version badge — auto-detects pre-release versions.
|
|
563
|
-
* Stable = success (green), Pre-release = warning (amber).
|
|
564
|
-
*/
|
|
565
|
-
declare function VersionBadge({ version, preRelease, className }: VersionBadgeProps): react_jsx_runtime.JSX.Element;
|
|
566
|
-
|
|
567
|
-
interface FormFieldProps$1 {
|
|
568
|
-
label: string;
|
|
569
|
-
description?: string;
|
|
570
|
-
error?: string;
|
|
571
|
-
required?: boolean;
|
|
572
|
-
children: ReactNode;
|
|
573
|
-
orientation?: 'vertical' | 'horizontal';
|
|
574
|
-
className?: string;
|
|
575
|
-
}
|
|
576
|
-
declare function FormField$1({ label, description, error, required, children, orientation, className, }: FormFieldProps$1): react_jsx_runtime.JSX.Element;
|
|
577
|
-
|
|
578
|
-
interface PageHeaderProps {
|
|
579
|
-
title: string;
|
|
580
|
-
subtitle?: string;
|
|
581
|
-
actions?: ReactNode;
|
|
582
|
-
className?: string;
|
|
583
|
-
}
|
|
584
|
-
declare function PageHeader({ title, subtitle, actions, className }: PageHeaderProps): react_jsx_runtime.JSX.Element;
|
|
585
|
-
|
|
586
|
-
interface EmptyStateProps {
|
|
587
|
-
icon?: LucideIcon;
|
|
588
|
-
title: string;
|
|
589
|
-
description?: string;
|
|
590
|
-
action?: ReactNode;
|
|
591
|
-
className?: string;
|
|
592
|
-
}
|
|
593
|
-
declare function EmptyState({ icon: Icon, title, description, action, className, }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
594
|
-
|
|
595
|
-
interface ConfirmOptions {
|
|
596
|
-
title: string;
|
|
597
|
-
message: string;
|
|
598
|
-
confirmLabel?: string;
|
|
599
|
-
cancelLabel?: string;
|
|
600
|
-
variant?: 'danger' | 'warning' | 'default';
|
|
601
|
-
}
|
|
602
|
-
declare function useConfirm(): (options: ConfirmOptions) => Promise<boolean>;
|
|
603
|
-
declare function ConfirmDialogProvider({ children }: {
|
|
604
|
-
children: ReactNode;
|
|
605
|
-
}): react_jsx_runtime.JSX.Element;
|
|
606
|
-
|
|
607
|
-
interface StatCardProps {
|
|
608
|
-
value: string | number;
|
|
609
|
-
label: string;
|
|
610
|
-
trend?: {
|
|
611
|
-
value: number;
|
|
612
|
-
direction: 'up' | 'down';
|
|
613
|
-
};
|
|
614
|
-
className?: string;
|
|
615
|
-
}
|
|
616
|
-
declare function StatCard({ value, label, trend, className }: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
617
|
-
|
|
618
|
-
interface KeyValueListProps {
|
|
619
|
-
items: {
|
|
620
|
-
key: string;
|
|
621
|
-
value: ReactNode;
|
|
622
|
-
}[];
|
|
623
|
-
className?: string;
|
|
624
|
-
}
|
|
625
|
-
declare function KeyValueList({ items, className }: KeyValueListProps): react_jsx_runtime.JSX.Element;
|
|
626
|
-
|
|
627
|
-
interface CodeBlockProps {
|
|
628
|
-
children: string;
|
|
629
|
-
maxHeight?: number;
|
|
630
|
-
className?: string;
|
|
631
|
-
}
|
|
632
|
-
declare function CodeBlock({ children, maxHeight, className }: CodeBlockProps): react_jsx_runtime.JSX.Element;
|
|
633
|
-
|
|
634
|
-
type FilterDef = {
|
|
635
|
-
type: 'search';
|
|
636
|
-
key: string;
|
|
637
|
-
placeholder?: string;
|
|
638
|
-
} | {
|
|
639
|
-
type: 'select';
|
|
640
|
-
key: string;
|
|
641
|
-
label: string;
|
|
642
|
-
options: {
|
|
643
|
-
value: string;
|
|
644
|
-
label: string;
|
|
645
|
-
}[];
|
|
646
|
-
} | {
|
|
647
|
-
type: 'badge-toggle';
|
|
648
|
-
key: string;
|
|
649
|
-
options: {
|
|
650
|
-
value: string;
|
|
651
|
-
label: string;
|
|
652
|
-
}[];
|
|
653
|
-
};
|
|
654
|
-
|
|
655
|
-
interface FilterBarProps {
|
|
656
|
-
filters: FilterDef[];
|
|
657
|
-
values: Record<string, unknown>;
|
|
658
|
-
onChange: (values: Record<string, unknown>) => void;
|
|
659
|
-
className?: string;
|
|
660
|
-
}
|
|
661
|
-
declare function FilterBar({ filters, values, onChange, className }: FilterBarProps): react_jsx_runtime.JSX.Element;
|
|
662
|
-
|
|
663
|
-
interface SidebarItemProps {
|
|
664
|
-
label: string;
|
|
665
|
-
icon: LucideIcon;
|
|
666
|
-
href: string;
|
|
667
|
-
badge?: string | number;
|
|
668
|
-
active?: boolean;
|
|
669
|
-
className?: string;
|
|
670
|
-
}
|
|
671
|
-
declare function SidebarItem({ label, icon: Icon, href, badge, active, className, }: SidebarItemProps): react_jsx_runtime.JSX.Element;
|
|
672
|
-
|
|
673
|
-
interface SidebarSection {
|
|
674
|
-
label?: string;
|
|
675
|
-
items: SidebarItemProps[];
|
|
676
|
-
}
|
|
677
|
-
interface SidebarProps {
|
|
678
|
-
logo?: ReactNode;
|
|
679
|
-
sections: SidebarSection[];
|
|
680
|
-
footer?: SidebarItemProps[];
|
|
681
|
-
onNavigate?: () => void;
|
|
682
|
-
className?: string;
|
|
683
|
-
}
|
|
684
|
-
declare function Sidebar({ logo, sections, footer, onNavigate, className }: SidebarProps): react_jsx_runtime.JSX.Element;
|
|
685
|
-
|
|
686
|
-
interface AppShellProps {
|
|
687
|
-
sidebar: SidebarProps;
|
|
688
|
-
header?: {
|
|
689
|
-
breadcrumbs?: {
|
|
690
|
-
label: string;
|
|
691
|
-
href?: string;
|
|
692
|
-
}[];
|
|
693
|
-
actions?: ReactNode;
|
|
694
|
-
};
|
|
695
|
-
/** Content shown in the center of the mobile top bar (e.g. logo) */
|
|
696
|
-
mobileLogo?: ReactNode;
|
|
697
|
-
/** Content shown on the right side of the mobile top bar (e.g. avatar menu) */
|
|
698
|
-
mobileActions?: ReactNode;
|
|
699
|
-
children: ReactNode;
|
|
700
|
-
className?: string;
|
|
701
|
-
}
|
|
702
|
-
declare function AppShell({ sidebar, header, mobileLogo, mobileActions, children, className }: AppShellProps): react_jsx_runtime.JSX.Element;
|
|
703
|
-
|
|
704
|
-
interface DataTableAction {
|
|
705
|
-
label: string;
|
|
706
|
-
icon?: LucideIcon;
|
|
707
|
-
onClick: () => void;
|
|
708
|
-
variant?: 'danger' | 'default';
|
|
709
|
-
}
|
|
710
|
-
interface DataTableProps<T> {
|
|
711
|
-
data: T[];
|
|
712
|
-
columns: ColumnDef<T, unknown>[];
|
|
713
|
-
sorting?: SortingState;
|
|
714
|
-
onSortingChange?: (sorting: SortingState) => void;
|
|
715
|
-
filtering?: ColumnFiltersState;
|
|
716
|
-
onFilteringChange?: (filtering: ColumnFiltersState) => void;
|
|
717
|
-
pagination?: {
|
|
718
|
-
page: number;
|
|
719
|
-
pageSize: number;
|
|
720
|
-
total: number;
|
|
721
|
-
};
|
|
722
|
-
onPaginationChange?: (pagination: PaginationState) => void;
|
|
723
|
-
loading?: boolean;
|
|
724
|
-
emptyState?: ReactNode;
|
|
725
|
-
rowActions?: (row: T) => DataTableAction[];
|
|
726
|
-
onRowClick?: (row: T) => void;
|
|
727
|
-
selectable?: boolean;
|
|
728
|
-
compact?: boolean;
|
|
729
|
-
stickyHeader?: boolean;
|
|
730
|
-
className?: string;
|
|
731
|
-
/** How to render on mobile. 'scroll' keeps table with horizontal scroll. 'cards' renders each row as a card. Default: 'scroll' */
|
|
732
|
-
mobileMode?: 'scroll' | 'cards';
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
declare function DataTable<T>({ data, columns: userColumns, sorting, onSortingChange, filtering, onFilteringChange, pagination, onPaginationChange, loading, emptyState, rowActions, onRowClick, selectable, compact, stickyHeader, className, mobileMode, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
736
|
-
|
|
737
|
-
interface DeviceCardBadge {
|
|
738
|
-
/** Badge label text */
|
|
739
|
-
label: string;
|
|
740
|
-
/** Optional icon rendered before the label */
|
|
741
|
-
icon?: ReactNode;
|
|
742
|
-
/** Click handler — makes the badge interactive */
|
|
743
|
-
onClick?: () => void;
|
|
744
|
-
}
|
|
745
|
-
interface DeviceCardAction {
|
|
746
|
-
/** Icon to render */
|
|
747
|
-
icon: ReactNode;
|
|
748
|
-
/** Tooltip / aria-label */
|
|
749
|
-
label: string;
|
|
750
|
-
/** Click handler */
|
|
751
|
-
onClick: () => void;
|
|
752
|
-
}
|
|
753
|
-
interface DeviceCardProps {
|
|
754
|
-
/** Primary title (e.g., device name) */
|
|
755
|
-
title: string;
|
|
756
|
-
/** Secondary text (e.g., model, IP) */
|
|
757
|
-
subtitle?: string;
|
|
758
|
-
/** Status: determines the color of the status dot */
|
|
759
|
-
status?: 'online' | 'offline' | 'warning' | 'unknown';
|
|
760
|
-
/** Whether this card is currently selected */
|
|
761
|
-
selected?: boolean;
|
|
762
|
-
/** Click handler for the card body */
|
|
763
|
-
onClick?: () => void;
|
|
764
|
-
/** Clickable badges (e.g., stream profiles) */
|
|
765
|
-
badges?: DeviceCardBadge[];
|
|
766
|
-
/** Action icons shown at the bottom (e.g., PTZ, events) */
|
|
767
|
-
actions?: DeviceCardAction[];
|
|
768
|
-
/** Content rendered at the bottom when status is offline (e.g., Connect button) */
|
|
769
|
-
offlineAction?: ReactNode;
|
|
770
|
-
/** Additional CSS classes */
|
|
771
|
-
className?: string;
|
|
772
|
-
}
|
|
773
|
-
declare function DeviceCard({ title, subtitle, status, selected, onClick, badges, actions, offlineAction, className, }: DeviceCardProps): react_jsx_runtime.JSX.Element;
|
|
774
|
-
|
|
775
|
-
interface DeviceGridProps {
|
|
776
|
-
/** Grid items */
|
|
777
|
-
children: ReactNode;
|
|
778
|
-
/** Minimum card width in pixels (default 220) */
|
|
779
|
-
minCardWidth?: number;
|
|
780
|
-
/** Gap between cards in Tailwind spacing units (default 3) */
|
|
781
|
-
gap?: number;
|
|
782
|
-
/** Additional CSS classes */
|
|
783
|
-
className?: string;
|
|
784
|
-
}
|
|
785
|
-
declare function DeviceGrid({ children, minCardWidth, gap, className, }: DeviceGridProps): react_jsx_runtime.JSX.Element;
|
|
786
|
-
|
|
787
|
-
/**
|
|
788
|
-
* Reactive runtime-state read handle as exposed by the codegen
|
|
789
|
-
* `DeviceProxy` factory. Same shape useDeviceStateSlice expects —
|
|
790
|
-
* defined here so the combinator's selector parameter has a tight
|
|
791
|
-
* type without re-importing the codegen file.
|
|
792
|
-
*/
|
|
793
|
-
interface StateSliceHandle<T> {
|
|
794
|
-
readonly value: T | undefined;
|
|
795
|
-
subscribe(cb: (slice: T | undefined) => void): () => void;
|
|
796
|
-
}
|
|
797
|
-
interface QueryFn$2<I, O> {
|
|
798
|
-
query(input: I): Promise<O>;
|
|
799
|
-
}
|
|
800
|
-
interface SubscribeFn<I, T> {
|
|
801
|
-
subscribe(input: I, opts: {
|
|
802
|
-
onData: (evt: {
|
|
803
|
-
data: T;
|
|
804
|
-
}) => void;
|
|
805
|
-
onError?: (err: unknown) => void;
|
|
806
|
-
}): {
|
|
807
|
-
unsubscribe: () => void;
|
|
808
|
-
};
|
|
809
|
-
}
|
|
810
|
-
/**
|
|
811
|
-
* Minimal vanilla tRPC proxy shape. Same contract `useDeviceWebrtc`,
|
|
812
|
-
* `useDeviceBattery` etc. use — both `BackendClient.trpc` and an
|
|
813
|
-
* addon page's injected `trpc` satisfy this structurally.
|
|
814
|
-
*
|
|
815
|
-
* The proxy is also passed (cast) into `createDeviceProxy` as the
|
|
816
|
-
* `AddonApi` argument — the cap-method dispatchers structurally
|
|
817
|
-
* match `client.<cap>.<method>.{query|mutate|subscribe}`.
|
|
818
|
-
*/
|
|
819
|
-
interface UseDeviceProxyTrpc {
|
|
820
|
-
readonly deviceManager: {
|
|
821
|
-
readonly getBindings: QueryFn$2<{
|
|
822
|
-
deviceId: number;
|
|
823
|
-
}, DeviceBinding>;
|
|
824
|
-
};
|
|
825
|
-
readonly live?: {
|
|
826
|
-
readonly onEvent: SubscribeFn<{
|
|
827
|
-
category: string;
|
|
828
|
-
}, {
|
|
829
|
-
category?: string;
|
|
830
|
-
data?: unknown;
|
|
831
|
-
source?: {
|
|
832
|
-
type: string;
|
|
833
|
-
id: string | number;
|
|
834
|
-
};
|
|
835
|
-
}>;
|
|
836
|
-
};
|
|
837
|
-
}
|
|
838
|
-
/**
|
|
839
|
-
* @returns the proxy, or `null` while bindings are still loading or
|
|
840
|
-
* when `deviceId` is null. Re-rendered when bindings change.
|
|
841
|
-
*/
|
|
842
|
-
declare function useDeviceProxy(trpc: UseDeviceProxyTrpc, deviceId: number | null): DeviceProxy | null;
|
|
843
|
-
/**
|
|
844
|
-
* Companion hook — reads a `SliceHandle` reactively, returning the
|
|
845
|
-
* current value and re-rendering on every push from the kernel
|
|
846
|
-
* mirror. Pass `dev?.state.battery` etc. as the handle.
|
|
847
|
-
*
|
|
848
|
-
* const dev = useDeviceProxy(trpc, deviceId)
|
|
849
|
-
* const battery = useDeviceStateSlice(dev?.state.battery)
|
|
850
|
-
*
|
|
851
|
-
* Why a hook (and not just `dev.state.battery.subscribe(...)` inline)?
|
|
852
|
-
* React doesn't observe external mutations on its own — a bare
|
|
853
|
-
* subscribe call inside a render would fire on every render (memory
|
|
854
|
-
* leak), wouldn't trigger a re-render on slice change, and wouldn't
|
|
855
|
-
* clean up at unmount. The hook bridges the imperative
|
|
856
|
-
* `(value, subscribe)` pair into React's declarative lifecycle via
|
|
857
|
-
* `useSyncExternalStore` (the canonical React 18 primitive for
|
|
858
|
-
* external stores — handles tearing in concurrent rendering and
|
|
859
|
-
* de-dups identical pushes).
|
|
860
|
-
*/
|
|
861
|
-
declare function useDeviceStateSlice<T>(handle: StateSliceHandle<T> | undefined): T | undefined;
|
|
862
|
-
/**
|
|
863
|
-
* One-line combinator — collapse the common
|
|
864
|
-
* `useDeviceProxy + useDeviceStateSlice(dev?.state.<cap>)` pair into a
|
|
865
|
-
* single hook. The selector receives the live `DeviceProxy['state']`
|
|
866
|
-
* bag (typed against the codegen, so `s.battery` etc. autocomplete)
|
|
867
|
-
* and returns one slice handle. Returns the slice value, undefined
|
|
868
|
-
* while the binding resolves OR when the slice has no cached push yet.
|
|
869
|
-
*
|
|
870
|
-
* Idiomatic call-site:
|
|
871
|
-
*
|
|
872
|
-
* const battery = useDeviceState(trpc, deviceId, (s) => s.battery)
|
|
873
|
-
* const zones = useDeviceState(trpc, deviceId, (s) => s.zones)
|
|
874
|
-
*
|
|
875
|
-
* vs. the manual pair:
|
|
876
|
-
*
|
|
877
|
-
* const dev = useDeviceProxy(trpc, deviceId)
|
|
878
|
-
* const battery = useDeviceStateSlice(dev?.state.battery)
|
|
879
|
-
* const zones = useDeviceStateSlice(dev?.state.zones)
|
|
880
|
-
*
|
|
881
|
-
* Use the manual pair when:
|
|
882
|
-
* - you also need the proxy's cap method bag (`dev.zones?.addZone(...)`)
|
|
883
|
-
* - you want to share the proxy across multiple slice reads with a
|
|
884
|
-
* single binding fetch (the combinator calls useDeviceProxy
|
|
885
|
-
* internally, which dedups bindings via React Query in practice
|
|
886
|
-
* but spawns one extra subscription per call site)
|
|
887
|
-
*
|
|
888
|
-
* Use the combinator when reading just one slice — most common case.
|
|
889
|
-
*/
|
|
890
|
-
declare function useDeviceState<T>(trpc: UseDeviceProxyTrpc, deviceId: number | null, select: (state: DeviceProxy['state']) => StateSliceHandle<T>): T | undefined;
|
|
891
|
-
|
|
892
|
-
/**
|
|
893
|
-
* Shared types + helpers for the DeviceItem composite. Lives outside
|
|
894
|
-
* the orchestrator file so every sub-component can import without
|
|
895
|
-
* cycles.
|
|
896
|
-
*
|
|
897
|
-
* - `DeviceItemDevice` / `DeviceItemParent` / `DeviceItemKind` —
|
|
898
|
-
* wire-shape mirrors of the `DeviceInfo` row.
|
|
899
|
-
* - `DeviceItemVariant` + `VariantDefaults` + `DEFAULTS` +
|
|
900
|
-
* `resolveFlags` — the variant→flags resolution pipeline.
|
|
901
|
-
* - `ROLE_ICONS` / `TYPE_ICONS` / `deviceLeadIcon` — icon resolution
|
|
902
|
-
* for the row's lead icon.
|
|
903
|
-
* - `FEATURE_ICON_MAP` / `FEATURE_LABEL_MAP` — for the features
|
|
904
|
-
* popover (NEW in Phase 1).
|
|
905
|
-
* - Capability gates: `maySupportSwitch`, `isAccessoryChild`,
|
|
906
|
-
* `hasMotionTriggerFeature`.
|
|
907
|
-
* - `shortStableId` — display-token for stableId tail.
|
|
908
|
-
*/
|
|
909
|
-
|
|
910
|
-
/**
|
|
911
|
-
* Mirror of the canonical `DeviceInfo` wire shape (see
|
|
912
|
-
* `packages/types/src/capabilities/device-manager.cap.ts`). Every
|
|
913
|
-
* `deviceManager.listAll` / `getDevice` / `getChildren` row is
|
|
914
|
-
* already this exact shape — call sites pass the raw row through
|
|
915
|
-
* without remapping. Lives here as a structural type (not an
|
|
916
|
-
* import) so this composite stays decoupled from `@camstack/types`.
|
|
917
|
-
*/
|
|
918
|
-
interface DeviceItemDevice {
|
|
919
|
-
readonly id: number;
|
|
920
|
-
readonly stableId: string;
|
|
921
|
-
readonly addonId: string;
|
|
922
|
-
readonly type: string;
|
|
923
|
-
readonly name: string;
|
|
924
|
-
readonly online: boolean;
|
|
925
|
-
/** Soft-disable flag — `true` dims the row + skips live fetches.
|
|
926
|
-
* Matches `DeviceInfo.disabled` so the wire row passes through. */
|
|
927
|
-
readonly disabled: boolean;
|
|
928
|
-
readonly parentDeviceId: number | null;
|
|
929
|
-
/** Optional `DeviceRole` string. Present ⇒ this is an accessory. */
|
|
930
|
-
readonly role?: string | null;
|
|
931
|
-
/** DeviceFeature strings — gates BatteryBadge etc. */
|
|
932
|
-
readonly features?: readonly string[];
|
|
933
|
-
/** True for ICameraDevice instances — gates snapshot popover. */
|
|
934
|
-
readonly isCamera?: boolean;
|
|
935
|
-
}
|
|
936
|
-
interface DeviceItemParent {
|
|
937
|
-
readonly id: number;
|
|
938
|
-
readonly name: string;
|
|
939
|
-
/**
|
|
940
|
-
* Type of the parent device. Optional — when provided, callers can
|
|
941
|
-
* distinguish "adopted under a hub/nvr" (renders with extra indent in
|
|
942
|
-
* the table view) from a generic accessory parent.
|
|
943
|
-
*/
|
|
944
|
-
readonly type?: string;
|
|
945
|
-
}
|
|
946
|
-
type DeviceItemKind = 'top-level' | 'adopted' | 'accessory';
|
|
947
|
-
declare function deriveDeviceKind(device: Pick<DeviceItemDevice, 'parentDeviceId' | 'role'>): DeviceItemKind;
|
|
948
|
-
type DeviceItemVariant = 'minimal' | 'compact' | 'expanded';
|
|
949
|
-
type DeviceItemView = 'card' | 'table';
|
|
950
|
-
interface DeviceItemProps {
|
|
951
|
-
readonly trpc: UseDeviceProxyTrpc;
|
|
952
|
-
readonly device: DeviceItemDevice;
|
|
953
|
-
readonly variant?: DeviceItemVariant;
|
|
954
|
-
/**
|
|
955
|
-
* Render mode. `'card'` (default) = flex row + optional accordion
|
|
956
|
-
* below. `'table'` = `<tr>` with one `<td>` per logical column.
|
|
957
|
-
* Phase 2's `<DeviceList>` wrapper drives this prop; Phase 1
|
|
958
|
-
* scaffolds both branches with no current consumer using table.
|
|
959
|
-
*/
|
|
960
|
-
readonly view?: DeviceItemView;
|
|
961
|
-
/**
|
|
962
|
-
* When true, the row is rendered as an accessory of a parent (Phase 2
|
|
963
|
-
* nested-only mode). Adds a subtle background tint + indent on the
|
|
964
|
-
* first cell. Has no effect on `view='card'`. Caller provides `true`
|
|
965
|
-
* only for the accessory passes inside <DeviceList>.
|
|
966
|
-
*/
|
|
967
|
-
readonly isAccessoryRow?: boolean;
|
|
968
|
-
/**
|
|
969
|
-
* Indent level for the `<td>` first cell in `view='table'`. Controls
|
|
970
|
-
* `pl-N` on the name cell so adopted-under-hub rows can be visually
|
|
971
|
-
* nested below their parent without forcing the accessory tint.
|
|
972
|
-
*
|
|
973
|
-
* 0 → `pl-2` (top-level, no parent)
|
|
974
|
-
* 1 → `pl-6` (adopted under a hub/nvr — visual hierarchy hint)
|
|
975
|
-
* 2 → `pl-8` (accessory under any parent — strongest indent)
|
|
976
|
-
*
|
|
977
|
-
* When omitted, the orchestrator derives `2` from `isAccessoryRow` and
|
|
978
|
-
* otherwise defaults to `0`. Caller may override (e.g. <DeviceList>
|
|
979
|
-
* promoting "adopted-under-hub" rows from 0 → 1).
|
|
980
|
-
*/
|
|
981
|
-
readonly indentLevel?: 0 | 1 | 2;
|
|
982
|
-
/**
|
|
983
|
-
* Controlled expand state for the children-accordion chevron. When
|
|
984
|
-
* BOTH `expanded` and `onToggleExpand` are passed, DeviceItem becomes
|
|
985
|
-
* fully controlled; otherwise it falls back to internal state. Used
|
|
986
|
-
* by `<TableRowGroup>` to lift expand state to the parent so the
|
|
987
|
-
* accessory `<tr>` rows can render based on the same flag the chevron
|
|
988
|
-
* flips.
|
|
989
|
-
*/
|
|
990
|
-
readonly expanded?: boolean;
|
|
991
|
-
readonly onToggleExpand?: () => void;
|
|
992
|
-
readonly integrationIcon?: ReactNode;
|
|
993
|
-
readonly parent?: DeviceItemParent | null;
|
|
994
|
-
readonly showIntegrationIcon?: boolean;
|
|
995
|
-
readonly showParentBadge?: boolean;
|
|
996
|
-
readonly showSnapshot?: boolean;
|
|
997
|
-
readonly showBattery?: boolean;
|
|
998
|
-
readonly showStableId?: boolean;
|
|
999
|
-
readonly showId?: boolean;
|
|
1000
|
-
readonly showSwitchToggle?: boolean;
|
|
1001
|
-
readonly showChildrenAccordion?: boolean;
|
|
1002
|
-
readonly children?: readonly DeviceItemDevice[];
|
|
1003
|
-
readonly onNavigate?: (deviceId: number) => void;
|
|
1004
|
-
readonly className?: string;
|
|
1005
|
-
}
|
|
1006
|
-
|
|
1007
|
-
/**
|
|
1008
|
-
* <DeviceItem> — orchestrator that composes Header / Preview /
|
|
1009
|
-
* Features / Actions / StatusDot in a flex row (`view='card'`) or a
|
|
1010
|
-
* `<tr>` with one `<td>` per logical column (`view='table'`).
|
|
1011
|
-
*
|
|
1012
|
-
* Public API contract: identical to the predecessor `device-item.tsx`
|
|
1013
|
-
* file so the 5 existing call sites compile unchanged. The new
|
|
1014
|
-
* `view` prop defaults to `'card'`.
|
|
1015
|
-
*/
|
|
1016
|
-
|
|
1017
|
-
declare function DeviceItem(props: DeviceItemProps): ReactNode;
|
|
1018
|
-
|
|
1019
|
-
type DeviceListView = 'cards' | 'table';
|
|
1020
|
-
|
|
1021
|
-
/**
|
|
1022
|
-
* <DeviceList> — paginated, filterable, view-toggleable device list.
|
|
1023
|
-
*
|
|
1024
|
-
* Composes:
|
|
1025
|
-
* - useDeviceListUrlState (URL+LS hybrid)
|
|
1026
|
-
* - groupTopLevelAndAccessories (top-level vs accessory split)
|
|
1027
|
-
* - <Pagination>, <FilterChips>, <DeviceListEmptyState>
|
|
1028
|
-
* - <DeviceItem view={view}> per row
|
|
1029
|
-
*
|
|
1030
|
-
* Realtime: per-page useEventInvalidation calls remain authoritative for
|
|
1031
|
-
* Phase 2. Lifting the sync into ui-library would require a context bridge
|
|
1032
|
-
* that's out of scope.
|
|
1033
|
-
*
|
|
1034
|
-
* Search: debounced 300 ms before pushing to URL state. Auto-expands
|
|
1035
|
-
* parent rows when search matches an accessory.
|
|
1036
|
-
*/
|
|
1037
|
-
|
|
1038
|
-
interface DeviceListAddonOption {
|
|
1039
|
-
readonly id: string;
|
|
1040
|
-
readonly name: string;
|
|
1041
|
-
readonly icon?: ReactNode;
|
|
1042
|
-
}
|
|
1043
|
-
interface DeviceListProps {
|
|
1044
|
-
readonly devices: readonly DeviceItemDevice[];
|
|
1045
|
-
readonly trpc: UseDeviceProxyTrpc;
|
|
1046
|
-
readonly defaultView?: DeviceListView;
|
|
1047
|
-
readonly filters?: {
|
|
1048
|
-
readonly types?: readonly string[];
|
|
1049
|
-
readonly addons?: readonly DeviceListAddonOption[];
|
|
1050
|
-
};
|
|
1051
|
-
/** Pre-applied addon filter — hides the addon-chip group. */
|
|
1052
|
-
readonly forceAddon?: string;
|
|
1053
|
-
readonly resolveIntegrationIcon?: (addonId: string) => ReactNode | null;
|
|
1054
|
-
readonly resolveParent?: (parentId: number) => DeviceItemParent | null;
|
|
1055
|
-
readonly onNavigate?: (deviceId: number) => void;
|
|
1056
|
-
readonly pageSize?: {
|
|
1057
|
-
readonly cards: number;
|
|
1058
|
-
readonly table: number;
|
|
1059
|
-
};
|
|
1060
|
-
readonly urlScope?: 'root' | 'nested';
|
|
1061
|
-
/** LocalStorage key prefix. Default 'devices' for root scope, 'integrations:nested' for nested. */
|
|
1062
|
-
readonly lsKey?: string;
|
|
1063
|
-
}
|
|
1064
|
-
declare function DeviceList(props: DeviceListProps): ReactNode;
|
|
1065
|
-
|
|
1066
|
-
interface PipelineStepDisplayConfig {
|
|
1067
|
-
readonly addonId: string;
|
|
1068
|
-
readonly addonName: string;
|
|
1069
|
-
readonly slot: PipelineSlot;
|
|
1070
|
-
readonly inputClasses: readonly string[];
|
|
1071
|
-
readonly outputClasses: readonly string[];
|
|
1072
|
-
readonly enabled: boolean;
|
|
1073
|
-
readonly modelId: string;
|
|
1074
|
-
readonly children: readonly PipelineStepDisplayConfig[];
|
|
1075
|
-
/** Independent engine override — only used by audio-classifier steps */
|
|
1076
|
-
readonly engine?: PipelineEngineChoice;
|
|
1077
|
-
/** UI grouping — steps with the same group are displayed under one heading */
|
|
1078
|
-
readonly group?: string;
|
|
1079
|
-
/** Current values for the step's configSchema fields */
|
|
1080
|
-
readonly settings?: Record<string, unknown>;
|
|
1081
|
-
}
|
|
1082
|
-
interface PipelineStepProps {
|
|
1083
|
-
readonly step: PipelineStepDisplayConfig;
|
|
1084
|
-
readonly schema: PipelineAddonSchema | null;
|
|
1085
|
-
/** Full schema map so children can look up their own schema */
|
|
1086
|
-
readonly allSchemas: ReadonlyMap<string, PipelineAddonSchema>;
|
|
1087
|
-
readonly depth?: number;
|
|
1088
|
-
readonly onChange: (updated: PipelineStepDisplayConfig) => void;
|
|
1089
|
-
readonly onDelete?: (addonId: string) => void;
|
|
1090
|
-
readonly readOnly?: boolean;
|
|
1091
|
-
/**
|
|
1092
|
-
* Toggle mode:
|
|
1093
|
-
* - `'simple'` (default) — header shows a single on/off switch that drives
|
|
1094
|
-
* `step.enabled` directly. Used on the agent page (`NodePipelineTab`)
|
|
1095
|
-
* where toggling IS the final state.
|
|
1096
|
-
* - `'threeState'` — header shows a 3-button segmented control
|
|
1097
|
-
* `[Inherit | On | Off]`. `overrideState` is the current override value
|
|
1098
|
-
* (`true` / `false` / `null` for inherit). When the override changes,
|
|
1099
|
-
* `onOverrideChange` fires. `step.enabled` still renders the effective
|
|
1100
|
-
* state (inherited agent default OR override). Used on the camera page
|
|
1101
|
-
* where the user edits a SPARSE override over the agent baseline.
|
|
1102
|
-
*/
|
|
1103
|
-
readonly toggleMode?: 'simple' | 'threeState';
|
|
1104
|
-
/**
|
|
1105
|
-
* 3-state override value when `toggleMode === 'threeState'`. `null` or
|
|
1106
|
-
* `undefined` means "inherit" (no override active). Ignored in `'simple'` mode.
|
|
1107
|
-
*/
|
|
1108
|
-
readonly overrideState?: boolean | null;
|
|
1109
|
-
/** Fired when the user flips the 3-state toggle in `'threeState'` mode. */
|
|
1110
|
-
readonly onOverrideChange?: (next: boolean | null) => void;
|
|
1111
|
-
/** Agent's default enabled value, shown as an annotation in `'threeState'` mode. */
|
|
1112
|
-
readonly inheritedEnabled?: boolean;
|
|
1113
|
-
/**
|
|
1114
|
-
* Hide the Model dropdown + dynamic configSchema controls inside the
|
|
1115
|
-
* expanded config panel. Used on the camera page where the step's
|
|
1116
|
-
* model + settings are agent-level — a camera can land on any agent,
|
|
1117
|
-
* so exposing agent-level knobs here would be misleading. Agent I/O
|
|
1118
|
-
* tags, engine selector (audio), and the step name stay visible.
|
|
1119
|
-
*/
|
|
1120
|
-
readonly hideModelAndSettings?: boolean;
|
|
1121
|
-
}
|
|
1122
|
-
declare function PipelineStep({ step, schema, allSchemas: _allSchemas, depth: _depth, onChange, onDelete: _onDelete, readOnly, toggleMode, overrideState, onOverrideChange, inheritedEnabled, hideModelAndSettings, }: PipelineStepProps): react_jsx_runtime.JSX.Element;
|
|
1123
|
-
declare function ConfigSchemaField({ field, allFields, step, disabled, onChange }: {
|
|
1124
|
-
field: ConfigField;
|
|
1125
|
-
allFields: readonly ConfigField[];
|
|
1126
|
-
step: PipelineStepDisplayConfig;
|
|
1127
|
-
disabled: boolean;
|
|
1128
|
-
onChange: (updated: PipelineStepDisplayConfig) => void;
|
|
1129
|
-
}): react_jsx_runtime.JSX.Element | null;
|
|
1130
|
-
|
|
1131
|
-
interface PipelineRuntimeOption {
|
|
1132
|
-
readonly id: string;
|
|
1133
|
-
readonly label: string;
|
|
1134
|
-
readonly available: boolean;
|
|
1135
|
-
/** Platform score for this backend (higher = better) */
|
|
1136
|
-
readonly platformScore?: number;
|
|
1137
|
-
/** Whether this is the best-scored backend */
|
|
1138
|
-
readonly isBest?: boolean;
|
|
1139
|
-
}
|
|
1140
|
-
interface PipelineRuntimeSelectorProps {
|
|
1141
|
-
readonly options: readonly PipelineRuntimeOption[];
|
|
1142
|
-
readonly value: string;
|
|
1143
|
-
readonly onChange: (value: string) => void;
|
|
1144
|
-
}
|
|
1145
|
-
declare function PipelineRuntimeSelector({ options, value, onChange }: PipelineRuntimeSelectorProps): react_jsx_runtime.JSX.Element;
|
|
1146
|
-
|
|
1147
|
-
interface PipelineBuilderProps {
|
|
1148
|
-
readonly schema: PipelineSchema;
|
|
1149
|
-
readonly steps: readonly PipelineStepDisplayConfig[];
|
|
1150
|
-
readonly onChange: (steps: readonly PipelineStepDisplayConfig[]) => void;
|
|
1151
|
-
readonly templates: readonly PipelineTemplate[];
|
|
1152
|
-
readonly selectedTemplateId: string | null;
|
|
1153
|
-
readonly onSelectTemplate: (id: string | null) => void;
|
|
1154
|
-
readonly onSaveTemplate: (name: string, steps: readonly PipelineStepDisplayConfig[]) => void;
|
|
1155
|
-
readonly onUpdateTemplate: (id: string, steps: readonly PipelineStepDisplayConfig[]) => void;
|
|
1156
|
-
readonly onDeleteTemplate: (id: string) => void;
|
|
1157
|
-
readonly readOnly?: boolean;
|
|
1158
|
-
/** Addon IDs to exclude from the pipeline (e.g. 'motion-detection' for benchmark) */
|
|
1159
|
-
readonly excludeAddons?: readonly string[];
|
|
1160
|
-
/** Hide the template bar (save/load/delete) */
|
|
1161
|
-
readonly hideTemplates?: boolean;
|
|
1162
|
-
/** Only show enabled steps (hide disabled addons and placeholders) */
|
|
1163
|
-
readonly showOnlyEnabled?: boolean;
|
|
1164
|
-
/** Show "Slot: ..." labels above step groups (default: false) */
|
|
1165
|
-
readonly showSlotLabels?: boolean;
|
|
1166
|
-
/**
|
|
1167
|
-
* Toggle mode passed through to every `PipelineStep`:
|
|
1168
|
-
* - `'simple'` (default) — single on/off switch, edits `step.enabled` directly.
|
|
1169
|
-
* - `'threeState'` — segmented `[Inherit | On | Off]` control that emits
|
|
1170
|
-
* override changes via `onOverrideChange` (per addonId). `step.enabled`
|
|
1171
|
-
* still reflects the effective state (agent default OR override).
|
|
1172
|
-
*/
|
|
1173
|
-
readonly toggleMode?: 'simple' | 'threeState';
|
|
1174
|
-
/** Current override map keyed on `addonId` when `toggleMode === 'threeState'`. */
|
|
1175
|
-
readonly overrides?: Readonly<Record<string, boolean>>;
|
|
1176
|
-
/** Fires when the user flips a per-addon 3-state toggle. `null` = inherit. */
|
|
1177
|
-
readonly onOverrideChange?: (addonId: string, next: boolean | null) => void;
|
|
1178
|
-
/** Agent default enabled state per addonId, shown as annotation in `'threeState'` mode. */
|
|
1179
|
-
readonly inheritedEnabledByAddon?: Readonly<Record<string, boolean>>;
|
|
1180
|
-
/**
|
|
1181
|
-
* Hide the Model dropdown + dynamic configSchema controls on every
|
|
1182
|
-
* step (passes through to `PipelineStep.hideModelAndSettings`). Used
|
|
1183
|
-
* on the camera page where these knobs are agent-level.
|
|
1184
|
-
*/
|
|
1185
|
-
readonly hideModelAndSettings?: boolean;
|
|
1186
|
-
}
|
|
1187
|
-
declare function PipelineBuilder({ schema, steps, onChange, templates, selectedTemplateId, onSelectTemplate, onSaveTemplate, onUpdateTemplate, onDeleteTemplate, readOnly, excludeAddons, hideTemplates, showOnlyEnabled, showSlotLabels, toggleMode, overrides, onOverrideChange, inheritedEnabledByAddon, hideModelAndSettings, }: PipelineBuilderProps): react_jsx_runtime.JSX.Element;
|
|
1188
|
-
|
|
1189
|
-
/**
|
|
1190
|
-
* Detection class colors — single source of truth.
|
|
1191
|
-
*
|
|
1192
|
-
* Used by: DetectionCanvas (UI), result-annotator (server-side SVG),
|
|
1193
|
-
* admin-ui event viewer, and any other place that visualizes detections.
|
|
1194
|
-
*/
|
|
1195
|
-
/** Fixed colors for known detection classes */
|
|
1196
|
-
declare const CLASS_COLORS: Readonly<Record<string, string>>;
|
|
1197
|
-
/** Primary/default color when nothing else matches */
|
|
1198
|
-
declare const DEFAULT_COLOR = "#f59e42";
|
|
1199
|
-
/**
|
|
1200
|
-
* Get the color for a detection class name.
|
|
1201
|
-
* Returns a fixed color for known classes, or a deterministic hash-based color for unknown ones.
|
|
1202
|
-
*/
|
|
1203
|
-
declare function getClassColor(className: string, customColors?: Readonly<Record<string, string>>): string;
|
|
1204
|
-
|
|
1205
|
-
/** Legacy alias kept so pre-rework consumers don't need a coordinated rename. */
|
|
1206
|
-
type Detection = ObjectDetection;
|
|
1207
|
-
interface DetectionCanvasProps {
|
|
1208
|
-
/** Image source (data URL or regular URL) */
|
|
1209
|
-
readonly src: string | null;
|
|
1210
|
-
/** Image dimensions (used for bbox coordinate mapping) */
|
|
1211
|
-
readonly imageWidth: number;
|
|
1212
|
-
readonly imageHeight: number;
|
|
1213
|
-
/** Detections to overlay — flat list (first-level + details). */
|
|
1214
|
-
readonly detections?: readonly ObjectDetection[];
|
|
1215
|
-
/** Custom class → hex color mapping (merged with defaults) */
|
|
1216
|
-
readonly classColors?: Readonly<Record<string, string>>;
|
|
1217
|
-
/** Aspect ratio CSS value (default: auto based on image dimensions) */
|
|
1218
|
-
readonly aspectRatio?: string;
|
|
1219
|
-
/** Additional CSS classes on the container */
|
|
1220
|
-
readonly className?: string;
|
|
1221
|
-
/** Placeholder content when no image is loaded */
|
|
1222
|
-
readonly placeholder?: ReactNode;
|
|
1223
|
-
/** Show confidence percentage in bbox labels */
|
|
1224
|
-
readonly showConfidence?: boolean;
|
|
1225
|
-
/** Minimum confidence to display (0-1, default: 0) */
|
|
1226
|
-
readonly minConfidence?: number;
|
|
1227
|
-
/** Border width for bboxes in px (default: 2) */
|
|
1228
|
-
readonly borderWidth?: number;
|
|
1229
|
-
}
|
|
1230
|
-
declare function DetectionCanvas({ src, imageWidth, imageHeight, detections, classColors, aspectRatio, className, placeholder, showConfidence, minConfidence, borderWidth, }: DetectionCanvasProps): react_jsx_runtime.JSX.Element;
|
|
1231
|
-
|
|
1232
|
-
interface DetectionResultTreeProps {
|
|
1233
|
-
readonly detections: readonly ObjectDetection[];
|
|
1234
|
-
readonly classColors?: Readonly<Record<string, string>>;
|
|
1235
|
-
readonly className?: string;
|
|
1236
|
-
/** Set of detection ids that are hidden */
|
|
1237
|
-
readonly hiddenKeys?: ReadonlySet<string>;
|
|
1238
|
-
/** Callback when a detection's visibility is toggled */
|
|
1239
|
-
readonly onToggleVisibility?: (key: string, visible: boolean) => void;
|
|
1240
|
-
}
|
|
1241
|
-
declare function DetectionResultTree({ detections, classColors, className, hiddenKeys, onToggleVisibility, }: DetectionResultTreeProps): react_jsx_runtime.JSX.Element;
|
|
1242
|
-
|
|
1243
|
-
/**
|
|
1244
|
-
* StepTimings — displays pipeline execution timings per step.
|
|
1245
|
-
*/
|
|
1246
|
-
interface StepTimingsProps {
|
|
1247
|
-
readonly timings: Readonly<Record<string, number>>;
|
|
1248
|
-
readonly totalMs?: number;
|
|
1249
|
-
readonly className?: string;
|
|
1250
|
-
}
|
|
1251
|
-
declare function StepTimings({ timings, totalMs, className }: StepTimingsProps): react_jsx_runtime.JSX.Element | null;
|
|
1252
|
-
|
|
1253
|
-
/**
|
|
1254
|
-
* ImageSelector — chip-style picker for reference media + upload button.
|
|
1255
|
-
* Despite the historical name it's media-agnostic: pass `accept` to
|
|
1256
|
-
* filter the file picker (defaults to `image/*`). Used by both the
|
|
1257
|
-
* Image Tester and the Audio Tester so the two tabs share the exact
|
|
1258
|
-
* same selection UI.
|
|
1259
|
-
*/
|
|
1260
|
-
interface ReferenceImage {
|
|
1261
|
-
readonly id?: string;
|
|
1262
|
-
readonly filename: string;
|
|
1263
|
-
readonly sizeKB?: number;
|
|
1264
|
-
}
|
|
1265
|
-
interface ImageSelectorProps {
|
|
1266
|
-
readonly images: readonly ReferenceImage[];
|
|
1267
|
-
readonly selectedFilename: string;
|
|
1268
|
-
readonly uploadedName?: string;
|
|
1269
|
-
readonly onSelect: (filename: string) => void;
|
|
1270
|
-
readonly onUpload: (base64: string, filename: string, dataUrl: string) => void;
|
|
1271
|
-
readonly className?: string;
|
|
1272
|
-
/** File picker `accept` value. Default: `image/*`. */
|
|
1273
|
-
readonly accept?: string;
|
|
1274
|
-
/** Override the upload button label. Default: `Upload...`. */
|
|
1275
|
-
readonly uploadLabel?: string;
|
|
1276
|
-
}
|
|
1277
|
-
declare function ImageSelector({ images, selectedFilename, uploadedName, onSelect, onUpload, className, accept, uploadLabel, }: ImageSelectorProps): react_jsx_runtime.JSX.Element;
|
|
1278
|
-
|
|
1279
|
-
/**
|
|
1280
|
-
* InferenceConfigSelector — cascading selectors for runtime/backend/model.
|
|
1281
|
-
*
|
|
1282
|
-
* Used by benchmark Engine tab, Image Tester pipeline steps, and admin-ui
|
|
1283
|
-
* pipeline configuration. Shows only valid combinations based on capabilities.
|
|
1284
|
-
*/
|
|
1285
|
-
interface InferenceBackendOption {
|
|
1286
|
-
readonly id: string;
|
|
1287
|
-
readonly label: string;
|
|
1288
|
-
readonly available: boolean;
|
|
1289
|
-
}
|
|
1290
|
-
interface InferenceModelOption {
|
|
1291
|
-
readonly id: string;
|
|
1292
|
-
readonly name: string;
|
|
1293
|
-
readonly downloaded?: boolean;
|
|
1294
|
-
}
|
|
1295
|
-
interface InferenceAgentOption {
|
|
1296
|
-
readonly id: string;
|
|
1297
|
-
readonly name: string;
|
|
1298
|
-
readonly status: 'online' | 'offline' | 'busy';
|
|
1299
|
-
}
|
|
1300
|
-
interface InferenceConfigSelectorProps {
|
|
1301
|
-
readonly runtime: 'node' | 'python';
|
|
1302
|
-
readonly backend: string;
|
|
1303
|
-
readonly modelId: string;
|
|
1304
|
-
readonly agentId?: string;
|
|
1305
|
-
readonly runtimes: readonly {
|
|
1306
|
-
value: string;
|
|
1307
|
-
label: string;
|
|
1308
|
-
available: boolean;
|
|
1309
|
-
}[];
|
|
1310
|
-
readonly backends: readonly InferenceBackendOption[];
|
|
1311
|
-
readonly models: readonly InferenceModelOption[];
|
|
1312
|
-
readonly agents?: readonly InferenceAgentOption[];
|
|
1313
|
-
readonly onRuntimeChange: (rt: 'node' | 'python') => void;
|
|
1314
|
-
readonly onBackendChange: (id: string) => void;
|
|
1315
|
-
readonly onModelChange: (id: string) => void;
|
|
1316
|
-
readonly onAgentChange?: (id: string) => void;
|
|
1317
|
-
readonly layout?: 'horizontal' | 'vertical' | 'grid';
|
|
1318
|
-
readonly className?: string;
|
|
1319
|
-
/** Show agent selector (default: false) */
|
|
1320
|
-
readonly showAgent?: boolean;
|
|
1321
|
-
}
|
|
1322
|
-
declare function InferenceConfigSelector({ runtime, backend, modelId, agentId, runtimes, backends, models, agents, onRuntimeChange, onBackendChange, onModelChange, onAgentChange, layout, className, showAgent, }: InferenceConfigSelectorProps): react_jsx_runtime.JSX.Element;
|
|
1323
|
-
|
|
1324
|
-
/**
|
|
1325
|
-
* Standard props for addon page components.
|
|
1326
|
-
*
|
|
1327
|
-
* Every addon page receives these props from the AddonPageLoader in admin-ui.
|
|
1328
|
-
* Use this type for your page's default export:
|
|
1329
|
-
*
|
|
1330
|
-
* ```tsx
|
|
1331
|
-
* import type { AddonPageProps } from '@camstack/ui'
|
|
1332
|
-
* import { trpc } from '@camstack/ui-library'
|
|
1333
|
-
*
|
|
1334
|
-
* export default function MyAddonPage({ theme }: AddonPageProps) {
|
|
1335
|
-
* // Typed React-Query hooks via the shared proxy.
|
|
1336
|
-
* const { data } = trpc.system.health.useQuery()
|
|
1337
|
-
* return <pre>{JSON.stringify(data)}</pre>
|
|
1338
|
-
* }
|
|
1339
|
-
* ```
|
|
1340
|
-
*
|
|
1341
|
-
* The `trpc` prop is the vanilla SDK client (BackendClient.trpc) and
|
|
1342
|
-
* remains available for non-React contexts. Inside React components
|
|
1343
|
-
* prefer the typed `trpc.X.useQuery / useMutation / useSubscription`
|
|
1344
|
-
* hooks imported from `@camstack/ui-library` — they share the same
|
|
1345
|
-
* QueryClient + WS client as the host admin-ui and therefore play nice
|
|
1346
|
-
* with cache invalidation, suspense, and the rest of React Query.
|
|
1347
|
-
*/
|
|
1348
|
-
|
|
1349
|
-
interface AddonPageProps {
|
|
1350
|
-
/** Vanilla tRPC client — fully typed access for non-React call sites. */
|
|
1351
|
-
readonly trpc: TRPCClient<AppRouter>;
|
|
1352
|
-
/** Current theme state */
|
|
1353
|
-
readonly theme: {
|
|
1354
|
-
readonly isDark: boolean;
|
|
1355
|
-
};
|
|
1356
|
-
/** Navigate to a route within the admin UI */
|
|
1357
|
-
readonly navigate: (path: string) => void;
|
|
1358
|
-
}
|
|
1359
|
-
|
|
1360
|
-
interface MountAddonPageOptions {
|
|
1361
|
-
/** Backend server URL (default: 'https://localhost:4443') */
|
|
1362
|
-
serverUrl?: string;
|
|
1363
|
-
/** Title shown in the dev toolbar */
|
|
1364
|
-
title?: string;
|
|
1365
|
-
/** Root element ID (default: 'root') */
|
|
1366
|
-
rootId?: string;
|
|
1367
|
-
}
|
|
1368
|
-
/**
|
|
1369
|
-
* Mount an addon page component with the full dev shell.
|
|
1370
|
-
*
|
|
1371
|
-
* @param PageComponent - The addon page component (must accept AddonPageProps)
|
|
1372
|
-
* @param options - Configuration options
|
|
1373
|
-
*/
|
|
1374
|
-
declare function mountAddonPage(PageComponent: (props: AddonPageProps) => React.ReactNode, options?: MountAddonPageOptions): void;
|
|
1375
|
-
|
|
1376
|
-
/** Probe state for a single field — exported for callers that need to track probe lifecycle externally. */
|
|
1377
|
-
interface ProbeState {
|
|
1378
|
-
status: 'probing' | 'ok' | 'error';
|
|
1379
|
-
result?: FieldProbeResult;
|
|
1380
|
-
}
|
|
1381
|
-
interface FormFieldProps {
|
|
1382
|
-
field: ConfigField;
|
|
1383
|
-
values: Record<string, unknown>;
|
|
1384
|
-
onChange: (key: string, value: unknown) => void;
|
|
1385
|
-
disabled?: boolean;
|
|
1386
|
-
translationFn?: TranslationFn;
|
|
1387
|
-
/**
|
|
1388
|
-
* Dedicated probe callback — used by the device-creation dialog where
|
|
1389
|
-
* the device doesn't exist yet so the generic `onAction` routing
|
|
1390
|
-
* cannot resolve an addon owner. For existing-device forms prefer
|
|
1391
|
-
* `onAction` with action `'test-probe'`: the probe field falls back
|
|
1392
|
-
* to it when `onTestField` is absent, so the two paths converge.
|
|
1393
|
-
*/
|
|
1394
|
-
onTestField?: (key: string, value: unknown) => Promise<FieldProbeResult>;
|
|
1395
|
-
/** External probe result (from "Test All" button) */
|
|
1396
|
-
externalProbe?: {
|
|
1397
|
-
status: 'probing' | 'ok' | 'error';
|
|
1398
|
-
result?: FieldProbeResult;
|
|
1399
|
-
};
|
|
1400
|
-
/**
|
|
1401
|
-
* Inline-action callback. Fired by icon buttons on any field
|
|
1402
|
-
* (copy-value, regenerate-rtsp-token, …) and by the probe field's
|
|
1403
|
-
* Test button when `onTestField` is not provided — in that case the
|
|
1404
|
-
* action name is `'test-probe'` and the current field value flows
|
|
1405
|
-
* through the third arg so the handler can probe it.
|
|
1406
|
-
*
|
|
1407
|
-
* Returns `Promise<unknown>` (not `void`) because some actions yield
|
|
1408
|
-
* a result the caller wants (the probe returns a `FieldProbeResult`).
|
|
1409
|
-
*/
|
|
1410
|
-
onAction?: (action: string, key: string, value?: unknown) => Promise<unknown>;
|
|
1411
|
-
/** All fields in the section — used to resolve defaults for showWhen conditions */
|
|
1412
|
-
allFields?: readonly ConfigField[];
|
|
1413
|
-
}
|
|
1414
|
-
declare function NodeSelectField({ field, value, onChange, disabled, translationFn, }: {
|
|
1415
|
-
field: ConfigNodeSelectField;
|
|
1416
|
-
value: unknown;
|
|
1417
|
-
onChange: (v: unknown) => void;
|
|
1418
|
-
disabled?: boolean;
|
|
1419
|
-
translationFn?: TranslationFn;
|
|
1420
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1421
|
-
declare function NodeMultiSelectField({ field, value, onChange, disabled, translationFn, }: {
|
|
1422
|
-
field: ConfigNodeMultiSelectField;
|
|
1423
|
-
value: unknown;
|
|
1424
|
-
onChange: (v: unknown) => void;
|
|
1425
|
-
disabled?: boolean;
|
|
1426
|
-
translationFn?: TranslationFn;
|
|
1427
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1428
|
-
/**
|
|
1429
|
-
* Resolve a `ConfigCondition` against the form's flat values bag and the
|
|
1430
|
-
* sibling-field list (used to recover schema defaults when the
|
|
1431
|
-
* referenced field hasn't been touched yet). Returns `true` for fields
|
|
1432
|
-
* with no `showWhen` — i.e. always visible — and for fields whose
|
|
1433
|
-
* condition is missing a recognised operator (forward-compat: a future
|
|
1434
|
-
* operator added to `ConfigCondition` won't accidentally hide every
|
|
1435
|
-
* field on older clients).
|
|
1436
|
-
*
|
|
1437
|
-
* Exported so callers (FormBuilder section renderer, future
|
|
1438
|
-
* sub-tab visibility checks, …) can pre-evaluate which fields would be
|
|
1439
|
-
* rendered without instantiating a React subtree.
|
|
1440
|
-
*/
|
|
1441
|
-
declare function isFieldVisible(field: ConfigField, values: Record<string, unknown>, allFields?: readonly ConfigField[]): boolean;
|
|
1442
|
-
declare function FormField({ field, values, onChange, disabled, translationFn, onTestField, externalProbe, allFields, onAction }: FormFieldProps): react_jsx_runtime.JSX.Element | null;
|
|
1443
|
-
|
|
1444
|
-
type TranslationFn = (key: string) => string;
|
|
1445
|
-
interface FormBuilderProps {
|
|
1446
|
-
schema: ConfigUISchema;
|
|
1447
|
-
values: Record<string, unknown>;
|
|
1448
|
-
onChange: (values: Record<string, unknown>) => void;
|
|
1449
|
-
disabled?: boolean;
|
|
1450
|
-
translationFn?: TranslationFn;
|
|
1451
|
-
onTestField?: (key: string, value: unknown) => Promise<FieldProbeResult>;
|
|
1452
|
-
/** External probe results from useProbeAll hook */
|
|
1453
|
-
probeResults?: Record<string, ProbeState>;
|
|
1454
|
-
/** Callback to clear a probe result when a field value changes */
|
|
1455
|
-
onClearProbe?: (key: string) => void;
|
|
1456
|
-
}
|
|
1457
|
-
declare function ConfigFormBuilder({ schema, values, onChange, disabled, translationFn, onTestField, probeResults, onClearProbe }: FormBuilderProps): react_jsx_runtime.JSX.Element;
|
|
1458
|
-
|
|
1459
|
-
interface AddonGlobalSettingsFormTrpc {
|
|
1460
|
-
addonSettings: {
|
|
1461
|
-
getGlobalSettings: {
|
|
1462
|
-
query: (input: {
|
|
1463
|
-
addonId: string;
|
|
1464
|
-
nodeId?: string;
|
|
1465
|
-
overlay?: Record<string, unknown>;
|
|
1466
|
-
}) => Promise<ConfigUISchemaWithValues | null>;
|
|
1467
|
-
};
|
|
1468
|
-
updateGlobalSettings: {
|
|
1469
|
-
mutate: (input: {
|
|
1470
|
-
addonId: string;
|
|
1471
|
-
nodeId?: string;
|
|
1472
|
-
patch: Record<string, unknown>;
|
|
1473
|
-
}) => Promise<unknown>;
|
|
1474
|
-
};
|
|
1475
|
-
};
|
|
1476
|
-
}
|
|
1477
|
-
interface AddonGlobalSettingsFormProps {
|
|
1478
|
-
readonly trpc: AddonGlobalSettingsFormTrpc;
|
|
1479
|
-
readonly addonId: string;
|
|
1480
|
-
readonly nodeId: string;
|
|
1481
|
-
readonly title?: string;
|
|
1482
|
-
readonly disabled?: boolean;
|
|
1483
|
-
readonly onAfterChange?: () => void;
|
|
1484
|
-
/** Bump to force refetch (e.g. after an external mutation). */
|
|
1485
|
-
readonly refreshToken?: number;
|
|
1486
|
-
/**
|
|
1487
|
-
* Render as collapsible. When true, the form body is hidden until
|
|
1488
|
-
* the operator expands the header (click). Defaults to open so
|
|
1489
|
-
* callers that always want the form visible don't have to opt out.
|
|
1490
|
-
*/
|
|
1491
|
-
readonly collapsible?: boolean;
|
|
1492
|
-
/** When `collapsible`, start expanded (true) or collapsed (false). Defaults to false. */
|
|
1493
|
-
readonly defaultOpen?: boolean;
|
|
1494
|
-
/**
|
|
1495
|
-
* - `'persist'` (default): edits call `updateGlobalSettings` and
|
|
1496
|
-
* re-fetch — the live store is mutated. Use in settings editors
|
|
1497
|
-
* (NodePipelineTab, device details).
|
|
1498
|
-
* - `'override'`: edits stay local (never touch the store).
|
|
1499
|
-
* `onOverrideChange` receives the current override values on
|
|
1500
|
-
* every edit so the caller can pass them to a per-run action.
|
|
1501
|
-
* Use in the benchmark tabs — operator tweaks for a single
|
|
1502
|
-
* bench run without mutating the addon's saved settings.
|
|
1503
|
-
*/
|
|
1504
|
-
readonly mode?: 'persist' | 'override';
|
|
1505
|
-
/**
|
|
1506
|
-
* Called on every edit when `mode: 'override'`. `patch` is the sparse
|
|
1507
|
-
* diff vs the persisted baseline (only the fields the operator touched).
|
|
1508
|
-
* `effective` is the baseline merged with the patch — every field a
|
|
1509
|
-
* downstream action might need, with the operator's override applied.
|
|
1510
|
-
* Callers that need to emit a full engine triple (runtime+backend+format)
|
|
1511
|
-
* should read from `effective`, not `patch`, so partial edits (e.g.
|
|
1512
|
-
* operator tweaks only `device`) still produce a complete payload.
|
|
1513
|
-
*/
|
|
1514
|
-
readonly onOverrideChange?: (patch: Record<string, unknown>, effective: Record<string, unknown>) => void;
|
|
1515
|
-
}
|
|
1516
|
-
declare function AddonGlobalSettingsForm({ trpc, addonId, nodeId, title, disabled, onAfterChange, refreshToken, collapsible, defaultOpen, mode, onOverrideChange, }: AddonGlobalSettingsFormProps): react_jsx_runtime.JSX.Element;
|
|
1517
|
-
|
|
1518
|
-
interface MotionZone {
|
|
1519
|
-
readonly x: number;
|
|
1520
|
-
readonly y: number;
|
|
1521
|
-
readonly w: number;
|
|
1522
|
-
readonly h: number;
|
|
1523
|
-
readonly intensity: number;
|
|
1524
|
-
}
|
|
1525
|
-
interface MotionState {
|
|
1526
|
-
readonly zones: readonly MotionZone[];
|
|
1527
|
-
readonly frameWidth: number;
|
|
1528
|
-
readonly frameHeight: number;
|
|
1529
|
-
}
|
|
1530
|
-
interface DetectionState {
|
|
1531
|
-
readonly detections: readonly ObjectDetection[];
|
|
1532
|
-
readonly frameWidth: number;
|
|
1533
|
-
readonly frameHeight: number;
|
|
1534
|
-
}
|
|
1535
|
-
interface MotionRawBox {
|
|
1536
|
-
readonly bbox: readonly [number, number, number, number];
|
|
1537
|
-
readonly changeScore: number;
|
|
1538
|
-
}
|
|
1539
|
-
interface MotionRawState {
|
|
1540
|
-
readonly boxes: readonly MotionRawBox[];
|
|
1541
|
-
readonly frameWidth: number;
|
|
1542
|
-
readonly frameHeight: number;
|
|
1543
|
-
readonly motionScore: number;
|
|
1544
|
-
}
|
|
1545
|
-
interface DeviceDetections {
|
|
1546
|
-
readonly motion: MotionState | null;
|
|
1547
|
-
readonly motionRaw: MotionRawState | null;
|
|
1548
|
-
readonly detection: DetectionState | null;
|
|
1549
|
-
readonly phase: string;
|
|
1550
|
-
}
|
|
1551
|
-
interface LiveOnEvent {
|
|
1552
|
-
subscribe: (input: {
|
|
1553
|
-
category: string;
|
|
1554
|
-
}, opts: {
|
|
1555
|
-
onData: (event: unknown) => void;
|
|
1556
|
-
}) => {
|
|
1557
|
-
unsubscribe: () => void;
|
|
1558
|
-
};
|
|
1559
|
-
}
|
|
1560
|
-
interface UseDetectionsTrpc {
|
|
1561
|
-
live?: {
|
|
1562
|
-
onEvent?: LiveOnEvent;
|
|
1563
|
-
};
|
|
1564
|
-
}
|
|
1565
|
-
declare function useDeviceDetections(trpc: UseDetectionsTrpc, deviceId: number | null): DeviceDetections;
|
|
1566
|
-
|
|
1567
|
-
interface DetectionOverlayProps {
|
|
1568
|
-
readonly detections: DeviceDetections;
|
|
1569
|
-
readonly showMotionZones?: boolean;
|
|
1570
|
-
readonly showMotionRaw?: boolean;
|
|
1571
|
-
readonly showDetections?: boolean;
|
|
1572
|
-
readonly showPhaseIndicator?: boolean;
|
|
1573
|
-
}
|
|
1574
|
-
declare function DetectionOverlay({ detections: { motion, motionRaw, detection, phase }, showMotionZones, showMotionRaw, showDetections, showPhaseIndicator, }: DetectionOverlayProps): react_jsx_runtime.JSX.Element | null;
|
|
1575
|
-
|
|
1576
|
-
type PlayerConnectionState = 'connecting' | 'playing' | 'error' | 'disconnected' | 'idle';
|
|
1577
|
-
/**
|
|
1578
|
-
* Signaling function for WebRTC connection.
|
|
1579
|
-
* Called by the player to establish the WebRTC session.
|
|
1580
|
-
* Must return an RTCSessionDescription (the server's offer or answer depending on mode).
|
|
1581
|
-
*
|
|
1582
|
-
* Server-offer mode (default):
|
|
1583
|
-
* 1. signalingFn is called with streamId → returns { sessionId, sdpOffer }
|
|
1584
|
-
* 2. Player sets remote description (server offer), creates answer
|
|
1585
|
-
* 3. Player calls answerFn(sessionId, sdpAnswer) to complete
|
|
1586
|
-
*
|
|
1587
|
-
* WHEP mode (legacy):
|
|
1588
|
-
* 1. Player creates offer, gathers ICE
|
|
1589
|
-
* 2. signalingFn is called with the client SDP offer → returns sdpAnswer
|
|
1590
|
-
* 3. Player sets remote description (answer)
|
|
1591
|
-
*/
|
|
1592
|
-
interface SignalingResult {
|
|
1593
|
-
/** Server-offer mode: session ID + SDP offer from server */
|
|
1594
|
-
sessionId: string;
|
|
1595
|
-
sdpOffer: string;
|
|
1596
|
-
}
|
|
1597
|
-
/**
|
|
1598
|
-
* Client-side capabilities sent to the server at session creation.
|
|
1599
|
-
* The server uses these to pick the best native source for adaptive
|
|
1600
|
-
* streams (e.g. a 320×180 thumbnail player on a slow link gets the
|
|
1601
|
-
* camera's low stream rather than ffmpeg-transcoded 4K).
|
|
1602
|
-
*
|
|
1603
|
-
* All fields are optional — when omitted the server defaults to its
|
|
1604
|
-
* highest-quality registered source.
|
|
1605
|
-
*/
|
|
1606
|
-
interface ClientStreamHints {
|
|
1607
|
-
viewportWidth?: number;
|
|
1608
|
-
viewportHeight?: number;
|
|
1609
|
-
devicePixelRatio?: number;
|
|
1610
|
-
downlinkMbps?: number;
|
|
1611
|
-
prefersTier?: string;
|
|
1612
|
-
}
|
|
1613
|
-
interface CameraStreamPlayerProps {
|
|
1614
|
-
/** Server base URL (e.g. window.location.origin) */
|
|
1615
|
-
serverUrl: string;
|
|
1616
|
-
/**
|
|
1617
|
-
* Stable key used for React reconciliation (the player remounts when
|
|
1618
|
-
* this changes), the snapshot filename, and WHEP fallback URL. The
|
|
1619
|
-
* value is opaque to the player — no parsing, no semantic meaning.
|
|
1620
|
-
* Typical values: a `StreamChoice.id` (`'profile:high'`, `'stream:native:main'`).
|
|
1621
|
-
*/
|
|
1622
|
-
streamKey: string;
|
|
1623
|
-
/** Human-readable label shown in overlay */
|
|
1624
|
-
label?: string;
|
|
1625
|
-
/** Auto-play on mount (default: true) */
|
|
1626
|
-
autoPlay?: boolean;
|
|
1627
|
-
/** Start muted (default: true) */
|
|
1628
|
-
muted?: boolean;
|
|
1629
|
-
/** Show toolbar controls (default: true) */
|
|
1630
|
-
showControls?: boolean;
|
|
1631
|
-
/** Additional CSS classes for the root container */
|
|
1632
|
-
className?: string;
|
|
1633
|
-
/** Called on connection state change */
|
|
1634
|
-
onStateChange?: (state: PlayerConnectionState) => void;
|
|
1635
|
-
/** Called on error */
|
|
1636
|
-
onError?: (error: string) => void;
|
|
1637
|
-
/** Custom overlay rendered on top of the video */
|
|
1638
|
-
overlay?: ReactNode;
|
|
1639
|
-
/**
|
|
1640
|
-
* Create a WebRTC session (server-offer signaling). When provided,
|
|
1641
|
-
* uses server-offer mode instead of WHEP. The caller closes over the
|
|
1642
|
-
* target (profile / cam-stream / adaptive) and any device context;
|
|
1643
|
-
* the player just hands it the auto-derived `hints` (viewport,
|
|
1644
|
-
* downlink) so the server can score adaptive selections.
|
|
1645
|
-
*/
|
|
1646
|
-
createSession?: (hints?: ClientStreamHints) => Promise<SignalingResult>;
|
|
1647
|
-
/**
|
|
1648
|
-
* Send the client's SDP answer (server-offer signaling).
|
|
1649
|
-
* Required when createSession is provided.
|
|
1650
|
-
*/
|
|
1651
|
-
sendAnswer?: (sessionId: string, sdpAnswer: string) => Promise<void>;
|
|
1652
|
-
/** Explicitly close the WebRTC session on server (cleanup on unmount). */
|
|
1653
|
-
closeSession?: (sessionId: string) => Promise<void>;
|
|
1654
|
-
/**
|
|
1655
|
-
* Override client hints sent to the server at session creation.
|
|
1656
|
-
* Values provided here replace the auto-computed browser values.
|
|
1657
|
-
* Use for network simulation (benchmark) or manual tier forcing.
|
|
1658
|
-
*/
|
|
1659
|
-
hintsOverride?: Partial<ClientStreamHints>;
|
|
1660
|
-
}
|
|
1661
|
-
declare function CameraStreamPlayer({ serverUrl, streamKey, label, autoPlay, muted: initialMuted, showControls, className, onStateChange, onError, overlay, createSession, sendAnswer, closeSession, hintsOverride, }: CameraStreamPlayerProps): react_jsx_runtime.JSX.Element;
|
|
1662
|
-
|
|
1663
|
-
/**
|
|
1664
|
-
* Discriminated WebRTC target — same shape as the backend cap. Kept
|
|
1665
|
-
* locally on the StreamChoice so consumers don't need to import from
|
|
1666
|
-
* `@camstack/types` to render a panel.
|
|
1667
|
-
*/
|
|
1668
|
-
type StreamChoiceTarget = {
|
|
1669
|
-
readonly kind: 'adaptive';
|
|
1670
|
-
} | {
|
|
1671
|
-
readonly kind: 'profile';
|
|
1672
|
-
readonly profile: 'high' | 'mid' | 'low';
|
|
1673
|
-
} | {
|
|
1674
|
-
readonly kind: 'cam-stream';
|
|
1675
|
-
readonly camStreamId: string;
|
|
1676
|
-
};
|
|
1677
|
-
interface StreamChoice {
|
|
1678
|
-
/**
|
|
1679
|
-
* Stable identifier for React keys, dropdown values, and the
|
|
1680
|
-
* player's `streamKey` prop. Opaque to the panel — typical values:
|
|
1681
|
-
* `'adaptive'`, `'profile:high'`, `'stream:native:main'`.
|
|
1682
|
-
*/
|
|
1683
|
-
readonly id: string;
|
|
1684
|
-
/** Display label (e.g. "Adaptive", "HIGH (3840×2160)", "Native main"). */
|
|
1685
|
-
readonly label: string;
|
|
1686
|
-
/** Structured WebRTC target — passed verbatim to `createSession`. */
|
|
1687
|
-
readonly target: StreamChoiceTarget;
|
|
1688
|
-
/** Live broker status (null if unavailable). */
|
|
1689
|
-
readonly status?: string | null;
|
|
1690
|
-
/** Input FPS from camera (null if unavailable). */
|
|
1691
|
-
readonly inputFps?: number | null;
|
|
1692
|
-
/** Decoded FPS (null if unavailable). */
|
|
1693
|
-
readonly decodeFps?: number | null;
|
|
1694
|
-
/** Bitrate in kbps (null if unavailable). */
|
|
1695
|
-
readonly bitrateKbps?: number | null;
|
|
1696
|
-
}
|
|
1697
|
-
interface StreamStats {
|
|
1698
|
-
readonly status: string;
|
|
1699
|
-
readonly inputFps: number;
|
|
1700
|
-
readonly decodeFps: number;
|
|
1701
|
-
readonly uptimeMs: number;
|
|
1702
|
-
}
|
|
1703
|
-
interface StreamPanelProps {
|
|
1704
|
-
readonly serverUrl: string;
|
|
1705
|
-
readonly createSession: (target: StreamChoiceTarget, hints?: ClientStreamHints) => Promise<SignalingResult>;
|
|
1706
|
-
readonly sendAnswer: (sessionId: string, sdpAnswer: string) => Promise<void>;
|
|
1707
|
-
readonly closeSession?: (sessionId: string) => Promise<void>;
|
|
1708
|
-
/** Available streams. If omitted or single entry, no dropdown shown. */
|
|
1709
|
-
readonly streams?: readonly StreamChoice[];
|
|
1710
|
-
/** Currently active StreamChoice id. Defaults to first stream. */
|
|
1711
|
-
readonly activeStreamId?: string;
|
|
1712
|
-
/** Called when user selects a different stream (StreamChoice id). */
|
|
1713
|
-
readonly onStreamChange?: (id: string) => void;
|
|
1714
|
-
readonly deviceName?: string;
|
|
1715
|
-
/** Pipeline phase from useDeviceDetections (e.g. "active", "watching") */
|
|
1716
|
-
readonly phase?: string;
|
|
1717
|
-
/** Pipeline metrics from useDeviceWebrtc. If provided, overrides phase and adds detection fps. */
|
|
1718
|
-
readonly pipelineMetrics?: {
|
|
1719
|
-
phase: string;
|
|
1720
|
-
detectionFps: number;
|
|
1721
|
-
avgInferenceMs: number;
|
|
1722
|
-
} | null;
|
|
1723
|
-
/** Detection data from useDeviceDetections hook. If omitted, no overlays. */
|
|
1724
|
-
readonly detections?: DeviceDetections;
|
|
1725
|
-
/** Initial state for detection overlay (default: true) */
|
|
1726
|
-
readonly defaultShowDetections?: boolean;
|
|
1727
|
-
/** Initial state for motion overlay (default: false) */
|
|
1728
|
-
readonly defaultShowMotion?: boolean;
|
|
1729
|
-
readonly streamStats?: StreamStats;
|
|
1730
|
-
/** Auto-play on mount (default: true) */
|
|
1731
|
-
readonly autoPlay?: boolean;
|
|
1732
|
-
/** Show play/stop toggle + snapshot preview when stopped (default: false) */
|
|
1733
|
-
readonly showPlayStop?: boolean;
|
|
1734
|
-
/** Snapshot source URL (data: URI). Only used when showPlayStop=true. */
|
|
1735
|
-
readonly snapshotSrc?: string | null;
|
|
1736
|
-
/** Whether snapshot is currently loading */
|
|
1737
|
-
readonly snapshotLoading?: boolean;
|
|
1738
|
-
/** Callback to refresh snapshot */
|
|
1739
|
-
readonly onRefreshSnapshot?: () => void;
|
|
1740
|
-
/** Show stream stats in header (fps, uptime) (default: false) */
|
|
1741
|
-
readonly showStreamStats?: boolean;
|
|
1742
|
-
readonly children?: ReactNode;
|
|
1743
|
-
/**
|
|
1744
|
-
* Extra overlay node composited on top of the video, alongside the
|
|
1745
|
-
* built-in detection overlay. Used by callers to layer device-scoped
|
|
1746
|
-
* controls (PTZOverlay, AudioPTT, ...) without forking the panel.
|
|
1747
|
-
*/
|
|
1748
|
-
readonly extraOverlay?: ReactNode;
|
|
1749
|
-
/**
|
|
1750
|
-
* Whether the device supports PTZ. When true, the header shows a
|
|
1751
|
-
* "PTZ" toggle next to detect/motion.
|
|
1752
|
-
*/
|
|
1753
|
-
readonly ptzAvailable?: boolean;
|
|
1754
|
-
/**
|
|
1755
|
-
* Controlled visibility of the PTZ overlay. Drives both the
|
|
1756
|
-
* header button highlight and (combined with `ptzOverlay`) overlay
|
|
1757
|
-
* rendering. Caller computes the final value (e.g. OR with an
|
|
1758
|
-
* external "force on" surface like a floating PTZ panel) and
|
|
1759
|
-
* passes it down here.
|
|
1760
|
-
*/
|
|
1761
|
-
readonly ptzShown?: boolean;
|
|
1762
|
-
/**
|
|
1763
|
-
* Overlay rendered ON the live video when `ptzShown` is true.
|
|
1764
|
-
* Typically a `<PTZOverlay controls={...} mode="overlay" />` from
|
|
1765
|
-
* ui-library. Combined with `extraOverlay` in the player overlay
|
|
1766
|
-
* slot — both render together when active.
|
|
1767
|
-
*/
|
|
1768
|
-
readonly ptzOverlay?: ReactNode;
|
|
1769
|
-
/**
|
|
1770
|
-
* Notified when the user clicks the in-header PTZ toggle. The
|
|
1771
|
-
* caller updates its source of truth for `ptzShown`. No-op if
|
|
1772
|
-
* omitted (button stays inert).
|
|
1773
|
-
*/
|
|
1774
|
-
readonly onPtzToggle?: () => void;
|
|
1775
|
-
/**
|
|
1776
|
-
* Whether the device supports two-way audio (intercom). When true,
|
|
1777
|
-
* the header shows an "Intercom" toggle next to detect/motion that
|
|
1778
|
-
* lets the operator open the floating intercom panel without leaving
|
|
1779
|
-
* the stream view.
|
|
1780
|
-
*/
|
|
1781
|
-
readonly intercomAvailable?: boolean;
|
|
1782
|
-
/**
|
|
1783
|
-
* Controlled visibility of the intercom panel — drives the button's
|
|
1784
|
-
* highlight state. The caller (which owns the floating-panel state)
|
|
1785
|
-
* passes `true` while its intercom panel is open.
|
|
1786
|
-
*/
|
|
1787
|
-
readonly intercomShown?: boolean;
|
|
1788
|
-
/**
|
|
1789
|
-
* Notified when the user clicks the in-header intercom toggle. The
|
|
1790
|
-
* caller flips its panel state. No-op if omitted (button inert).
|
|
1791
|
-
*/
|
|
1792
|
-
readonly onIntercomToggle?: () => void;
|
|
1793
|
-
/**
|
|
1794
|
-
* When true, drops the panel's outer rounded card chrome (border,
|
|
1795
|
-
* rounded corners, background). Use when embedding into another
|
|
1796
|
-
* surface that already provides framing — e.g. the device-detail
|
|
1797
|
-
* left-column hero where the panel is one row of a larger card.
|
|
1798
|
-
*/
|
|
1799
|
-
readonly chromeless?: boolean;
|
|
1800
|
-
readonly className?: string;
|
|
1801
|
-
}
|
|
1802
|
-
declare function StreamPanel({ serverUrl, createSession, sendAnswer, closeSession, streams, activeStreamId: controlledStreamId, onStreamChange, deviceName, phase, pipelineMetrics, detections, defaultShowDetections, defaultShowMotion, streamStats, autoPlay, showPlayStop, snapshotSrc, snapshotLoading, onRefreshSnapshot, showStreamStats, children, extraOverlay, ptzAvailable, ptzShown, ptzOverlay, onPtzToggle, intercomAvailable, intercomShown, onIntercomToggle, chromeless, className, }: StreamPanelProps): react_jsx_runtime.JSX.Element;
|
|
1803
|
-
|
|
1804
|
-
interface LoginFormProps {
|
|
1805
|
-
onLogin: (username: string, password: string) => Promise<void>;
|
|
1806
|
-
serverUrl?: string;
|
|
1807
|
-
logoSrc?: string;
|
|
1808
|
-
error?: string;
|
|
1809
|
-
className?: string;
|
|
1810
|
-
}
|
|
1811
|
-
declare function LoginForm({ onLogin, serverUrl, logoSrc, error: externalError, className, }: LoginFormProps): react_jsx_runtime.JSX.Element;
|
|
1812
|
-
|
|
1813
|
-
interface DevShellProps {
|
|
1814
|
-
children: (props: {
|
|
1815
|
-
trpc: TRPCClient<AppRouter>;
|
|
1816
|
-
theme: UseThemeModeReturn;
|
|
1817
|
-
}) => ReactNode;
|
|
1818
|
-
serverUrl?: string;
|
|
1819
|
-
title?: string;
|
|
1820
|
-
}
|
|
1821
|
-
interface DevShellContextValue {
|
|
1822
|
-
trpc: TRPCClient<AppRouter>;
|
|
1823
|
-
token: string;
|
|
1824
|
-
logout: () => void;
|
|
1825
|
-
}
|
|
1826
|
-
declare function useDevShell(): DevShellContextValue;
|
|
1827
|
-
declare function DevShell({ children, serverUrl, title, }: DevShellProps): react_jsx_runtime.JSX.Element;
|
|
1828
|
-
|
|
1829
|
-
interface AudioWaveformProps {
|
|
1830
|
-
/** Raw audio samples (mono Float32Array, -1..1 range) */
|
|
1831
|
-
readonly samples: Float32Array | null;
|
|
1832
|
-
/** Sample rate in Hz (for time axis labels) */
|
|
1833
|
-
readonly sampleRate?: number;
|
|
1834
|
-
/** Height in pixels */
|
|
1835
|
-
readonly height?: number;
|
|
1836
|
-
/** CSS class for the container */
|
|
1837
|
-
readonly className?: string;
|
|
1838
|
-
/** Waveform color (CSS color string) */
|
|
1839
|
-
readonly color?: string;
|
|
1840
|
-
/** Background color */
|
|
1841
|
-
readonly bgColor?: string;
|
|
1842
|
-
}
|
|
1843
|
-
/**
|
|
1844
|
-
* Canvas-based audio waveform visualization.
|
|
1845
|
-
* Renders a waveform from Float32Array audio samples.
|
|
1846
|
-
* Downsamples to pixel resolution for performance.
|
|
1847
|
-
*/
|
|
1848
|
-
declare function AudioWaveform({ samples, sampleRate, height, className, color, bgColor, }: AudioWaveformProps): react_jsx_runtime.JSX.Element;
|
|
1849
|
-
|
|
1850
|
-
interface AudioLevelWaveformProps {
|
|
1851
|
-
/** Current dBFS level — push a new value to append to the internal ring buffer. */
|
|
1852
|
-
readonly currentDbfs: number | null;
|
|
1853
|
-
/** How many seconds of history to display (default 30) */
|
|
1854
|
-
readonly durationSec?: number;
|
|
1855
|
-
/** Max samples to keep in memory (default 120 ≈ 60s at 2 samples/s) */
|
|
1856
|
-
readonly maxSamples?: number;
|
|
1857
|
-
/** Height in pixels (default 64) */
|
|
1858
|
-
readonly height?: number;
|
|
1859
|
-
/** CSS class for the container */
|
|
1860
|
-
readonly className?: string;
|
|
1861
|
-
/** Bar color (CSS) */
|
|
1862
|
-
readonly color?: string;
|
|
1863
|
-
/** Clipping color when dBFS > threshold (default red) */
|
|
1864
|
-
readonly clipColor?: string;
|
|
1865
|
-
/** dBFS threshold for clipping color (default -6) */
|
|
1866
|
-
readonly clipThreshold?: number;
|
|
1867
|
-
/** Min dBFS to display (default -96) */
|
|
1868
|
-
readonly minDbfs?: number;
|
|
1869
|
-
}
|
|
1870
|
-
/**
|
|
1871
|
-
* Canvas-based live audio level waveform with internal state.
|
|
1872
|
-
*
|
|
1873
|
-
* Receives `currentDbfs` — each time it changes, a new sample is appended
|
|
1874
|
-
* to an internal ring buffer and the canvas is redrawn. The component
|
|
1875
|
-
* manages its own history, so callers just push the latest dBFS value.
|
|
1876
|
-
*
|
|
1877
|
-
* Designed to be fed from the `pipeline.audio-inference-result` event
|
|
1878
|
-
* (each chunk, ~0.5s, produces one sample via `frame.level.dbfs`).
|
|
1879
|
-
*/
|
|
1880
|
-
declare function AudioLevelWaveform({ currentDbfs, durationSec, maxSamples, height, className, color, clipColor, clipThreshold, minDbfs, }: AudioLevelWaveformProps): react_jsx_runtime.JSX.Element;
|
|
1881
|
-
|
|
1882
|
-
interface AudioClassification {
|
|
1883
|
-
readonly className: string;
|
|
1884
|
-
readonly score: number;
|
|
1885
|
-
}
|
|
1886
|
-
interface AudioClassificationListProps {
|
|
1887
|
-
/** Sorted classifications (highest score first) */
|
|
1888
|
-
readonly classifications: readonly AudioClassification[];
|
|
1889
|
-
/** Processing state indicator */
|
|
1890
|
-
readonly processing?: boolean;
|
|
1891
|
-
/** Inference time in ms */
|
|
1892
|
-
readonly inferenceMs?: number;
|
|
1893
|
-
/** Max items to show (default: 10) */
|
|
1894
|
-
readonly maxItems?: number;
|
|
1895
|
-
/** Optional className */
|
|
1896
|
-
readonly className?: string;
|
|
1897
|
-
}
|
|
1898
|
-
/**
|
|
1899
|
-
* Displays audio classification results as a ranked list with score bars.
|
|
1900
|
-
*/
|
|
1901
|
-
declare function AudioClassificationList({ classifications, processing, inferenceMs, maxItems, className, }: AudioClassificationListProps): react_jsx_runtime.JSX.Element;
|
|
1902
|
-
|
|
1903
|
-
interface ResponseLogProps {
|
|
1904
|
-
readonly data: unknown;
|
|
1905
|
-
readonly label?: string;
|
|
1906
|
-
readonly className?: string;
|
|
1907
|
-
}
|
|
1908
|
-
/**
|
|
1909
|
-
* Expandable log box showing the raw JSON response from a pipeline run.
|
|
1910
|
-
*/
|
|
1911
|
-
declare function ResponseLog({ data, label, className }: ResponseLogProps): react_jsx_runtime.JSX.Element | null;
|
|
1912
|
-
|
|
1913
|
-
interface PhaseIconProps extends LucideProps {
|
|
1914
|
-
readonly phase: string;
|
|
1915
|
-
}
|
|
1916
|
-
declare function PhaseIcon({ phase, ...props }: PhaseIconProps): react_jsx_runtime.JSX.Element;
|
|
1917
|
-
|
|
1918
|
-
interface LiveBuffer<T> {
|
|
1919
|
-
readonly entries: readonly T[];
|
|
1920
|
-
/** Append one entry; oldest is evicted past `max`. */
|
|
1921
|
-
readonly append: (entry: T) => void;
|
|
1922
|
-
/** Replace all entries — used by Clear / scope-change resets. */
|
|
1923
|
-
readonly reset: () => void;
|
|
1924
|
-
}
|
|
1925
|
-
declare function useLiveBuffer<T>(max: number): LiveBuffer<T>;
|
|
1926
|
-
|
|
1927
|
-
interface LogEntry {
|
|
1928
|
-
readonly timestamp: string;
|
|
1929
|
-
readonly level: string;
|
|
1930
|
-
readonly message: string;
|
|
1931
|
-
readonly scope?: string;
|
|
1932
|
-
readonly tags?: Record<string, string | undefined>;
|
|
1933
|
-
readonly meta?: Record<string, unknown>;
|
|
1934
|
-
}
|
|
1935
|
-
interface LogStreamProps {
|
|
1936
|
-
/** Lock to a specific agent. When set, the agent selector is hidden. */
|
|
1937
|
-
readonly agentId?: string;
|
|
1938
|
-
/** Lock to a specific addon. When set, the addon selector is hidden. */
|
|
1939
|
-
readonly addonId?: string;
|
|
1940
|
-
/** Lock to a specific device. When set, the device selector is hidden. */
|
|
1941
|
-
readonly deviceId?: number;
|
|
1942
|
-
/**
|
|
1943
|
-
* Lock to a specific integration. Filter is ALWAYS applied when
|
|
1944
|
-
* provided — current providers don't yet tag loggers with
|
|
1945
|
-
* `integrationId`, so the result will be empty until they do, but
|
|
1946
|
-
* the filter lets us light up integration-scoped logs incrementally
|
|
1947
|
-
* without changing the call sites here.
|
|
1948
|
-
*/
|
|
1949
|
-
readonly integrationId?: string;
|
|
1950
|
-
/**
|
|
1951
|
-
* Correlation id for short-lived operations that have no `deviceId`
|
|
1952
|
-
* yet (e.g. a creation-field probe). The matching surface (the
|
|
1953
|
-
* Add-Device modal) generates the id once per dialog open and the
|
|
1954
|
-
* provider plumbs it into its own scoped logger so the user sees
|
|
1955
|
-
* live socket / handshake lines streaming during the test.
|
|
1956
|
-
*/
|
|
1957
|
-
readonly requestId?: string;
|
|
1958
|
-
/** Initial log level filter. */
|
|
1959
|
-
readonly level?: 'debug' | 'info' | 'warn' | 'error';
|
|
1960
|
-
/** Max height CSS class (default: 'max-h-96'). */
|
|
1961
|
-
readonly maxHeight?: string;
|
|
1962
|
-
/** Show the scope column. */
|
|
1963
|
-
readonly showScope?: boolean;
|
|
1964
|
-
/** Show the filter bar with selectors. Set false for compact inline use. */
|
|
1965
|
-
readonly showFilters?: boolean;
|
|
1966
|
-
/** Initial number of historical entries to fetch (default: 100). */
|
|
1967
|
-
readonly limit?: number;
|
|
1968
|
-
/**
|
|
1969
|
-
* Optional controlled live buffer. When provided, the stream reads
|
|
1970
|
-
* + appends to this external store rather than its own `useState`,
|
|
1971
|
-
* so visible logs survive an unmount/remount of the component
|
|
1972
|
-
* (used by `DeviceActivityPanel` to preserve content across tab
|
|
1973
|
-
* switches without keeping subscriptions open in inactive tabs).
|
|
1974
|
-
*/
|
|
1975
|
-
readonly liveBuffer?: LiveBuffer<LogEntry>;
|
|
1976
|
-
/** Close button handler — when provided, renders a close button. */
|
|
1977
|
-
readonly onClose?: () => void;
|
|
1978
|
-
readonly className?: string;
|
|
1979
|
-
}
|
|
1980
|
-
declare function LogStream({ agentId: propsAgentId, addonId: propsAddonId, deviceId: propsDeviceId, integrationId: propsIntegrationId, requestId: propsRequestId, level: initialLevel, maxHeight, showScope, showFilters, limit, liveBuffer: externalBuffer, onClose, className, }: LogStreamProps): react_jsx_runtime.JSX.Element;
|
|
1981
|
-
interface FloatingLogStreamProps extends LogStreamProps {
|
|
1982
|
-
/** Position: 'bottom' anchors to parent bottom, 'overlay' is absolute positioned. */
|
|
1983
|
-
readonly position?: 'bottom' | 'overlay';
|
|
1984
|
-
}
|
|
1985
|
-
declare function FloatingLogStream({ position, className, ...props }: FloatingLogStreamProps): react_jsx_runtime.JSX.Element;
|
|
1986
|
-
|
|
1987
|
-
interface EventEntry {
|
|
1988
|
-
readonly id: string;
|
|
1989
|
-
readonly timestamp: string;
|
|
1990
|
-
readonly source: {
|
|
1991
|
-
readonly type: string;
|
|
1992
|
-
readonly id: string | number;
|
|
1993
|
-
readonly nodeId?: string;
|
|
1994
|
-
readonly addonId?: string;
|
|
1995
|
-
readonly deviceId?: number;
|
|
1996
|
-
};
|
|
1997
|
-
readonly category: string;
|
|
1998
|
-
readonly data: Record<string, unknown>;
|
|
1999
|
-
}
|
|
2000
|
-
interface EventStreamProps {
|
|
2001
|
-
readonly agentId?: string;
|
|
2002
|
-
readonly addonId?: string;
|
|
2003
|
-
readonly deviceId?: number;
|
|
2004
|
-
/** Initial whitelist — the user can mutate through the multiselect popover.
|
|
2005
|
-
* Defaults to ALL EventCategory values when both this and `categories`
|
|
2006
|
-
* are omitted. */
|
|
2007
|
-
readonly defaultCategories?: readonly string[];
|
|
2008
|
-
/** Legacy alias for `defaultCategories`. Kept for back-compat. */
|
|
2009
|
-
readonly categories?: readonly string[];
|
|
2010
|
-
/** Category glob/pattern passed to the backend subscription (e.g. 'addon.*'). */
|
|
2011
|
-
readonly category?: string;
|
|
2012
|
-
readonly maxHeight?: string;
|
|
2013
|
-
readonly limit?: number;
|
|
2014
|
-
/** Show the multiselect filter button in the toolbar (default true). */
|
|
2015
|
-
readonly showCategoryFilter?: boolean;
|
|
2016
|
-
readonly showFilters?: boolean;
|
|
2017
|
-
/**
|
|
2018
|
-
* Optional controlled live buffer. When provided, the stream reads
|
|
2019
|
-
* + appends to this external store rather than its own `useState`,
|
|
2020
|
-
* so the visible list survives an unmount/remount of the component
|
|
2021
|
-
* (used by `DeviceActivityPanel` to keep tab content alive across
|
|
2022
|
-
* tab switches without keeping subscriptions open in inactive tabs).
|
|
2023
|
-
*/
|
|
2024
|
-
readonly liveBuffer?: LiveBuffer<EventEntry>;
|
|
2025
|
-
readonly onClose?: () => void;
|
|
2026
|
-
readonly className?: string;
|
|
2027
|
-
}
|
|
2028
|
-
declare function EventStream({ agentId, addonId, deviceId, defaultCategories, categories: legacyCategories, category: propsCategory, maxHeight, limit, showCategoryFilter, showFilters: _showFilters, liveBuffer: externalBuffer, onClose, className, }: EventStreamProps): react_jsx_runtime.JSX.Element;
|
|
2029
|
-
interface FloatingEventStreamProps extends EventStreamProps {
|
|
2030
|
-
readonly position?: 'bottom' | 'overlay';
|
|
2031
|
-
}
|
|
2032
|
-
declare function FloatingEventStream({ position, className, ...props }: FloatingEventStreamProps): react_jsx_runtime.JSX.Element;
|
|
2033
|
-
|
|
2034
|
-
/**
|
|
2035
|
-
* Shared discovery panel — renders the `device-discovery` cap surface
|
|
2036
|
-
* for any parent device that registers it (Reolink Hub, future ONVIF
|
|
2037
|
-
* gateway, NVR-style integrations). Keeps the integration's UI
|
|
2038
|
-
* surface zero-effort: as long as the cap is mounted, the panel
|
|
2039
|
-
* renders the channel list with status badges, refresh, adopt, and
|
|
2040
|
-
* release controls.
|
|
2041
|
-
*
|
|
2042
|
-
* Mirrors the Scrypted device-discovery affordance pattern: a single
|
|
2043
|
-
* generic UI used by every plugin that exposes children behind a
|
|
2044
|
-
* gateway. Keeps the operator UX consistent across integrations.
|
|
2045
|
-
*/
|
|
2046
|
-
interface DiscoveryPanelProps {
|
|
2047
|
-
readonly deviceId: number;
|
|
2048
|
-
readonly className?: string;
|
|
2049
|
-
/**
|
|
2050
|
-
* Optional navigation callback fired when the operator clicks the
|
|
2051
|
-
* "Open" link on an adopted child row. ui-library deliberately
|
|
2052
|
-
* stays free of `react-router-dom` so it works in agent UIs +
|
|
2053
|
-
* embedded admin shells alike — host wires the actual navigation.
|
|
2054
|
-
* When omitted, the link is hidden.
|
|
2055
|
-
*/
|
|
2056
|
-
readonly onOpenChild?: (childDeviceId: number) => void;
|
|
2057
|
-
}
|
|
2058
|
-
declare function DiscoveryPanel({ deviceId, className, onOpenChild }: DiscoveryPanelProps): React.ReactElement;
|
|
2059
|
-
|
|
2060
|
-
interface StateChangeEntry {
|
|
2061
|
-
readonly id: string;
|
|
2062
|
-
readonly timestamp: string;
|
|
2063
|
-
readonly capName: string;
|
|
2064
|
-
readonly slice: Record<string, unknown>;
|
|
2065
|
-
}
|
|
2066
|
-
interface StateValuesStreamProps {
|
|
2067
|
-
/** Device whose runtime-state changes we want to track. Required. */
|
|
2068
|
-
readonly deviceId: number;
|
|
2069
|
-
/** Initial cap-name filter — empty = all caps visible. */
|
|
2070
|
-
readonly defaultCaps?: readonly string[];
|
|
2071
|
-
/** Max height CSS class. */
|
|
2072
|
-
readonly maxHeight?: string;
|
|
2073
|
-
/** Initial number of historical entries to fetch. */
|
|
2074
|
-
readonly limit?: number;
|
|
2075
|
-
/**
|
|
2076
|
-
* Optional controlled live buffer. When provided the stream appends
|
|
2077
|
-
* to this external store instead of its own internal `useState`,
|
|
2078
|
-
* so the entries survive an unmount/remount of the component (used
|
|
2079
|
-
* by `DeviceActivityPanel` to keep tab content visible across
|
|
2080
|
-
* tab switches without leaving subscriptions alive in inactive
|
|
2081
|
-
* tabs).
|
|
2082
|
-
*/
|
|
2083
|
-
readonly liveBuffer?: LiveBuffer<StateChangeEntry>;
|
|
2084
|
-
readonly onClose?: () => void;
|
|
2085
|
-
readonly className?: string;
|
|
2086
|
-
}
|
|
2087
|
-
declare function StateValuesStream({ deviceId, defaultCaps, maxHeight, limit, liveBuffer: externalBuffer, onClose, className, }: StateValuesStreamProps): react_jsx_runtime.JSX.Element;
|
|
2088
|
-
|
|
2089
|
-
interface DeviceActivityPanelProps {
|
|
2090
|
-
readonly deviceId: number;
|
|
2091
|
-
/** Initial event categories the user wants tracked. Defaults to "all". */
|
|
2092
|
-
readonly defaultEventCategories?: readonly string[];
|
|
2093
|
-
/** Initial state-cap whitelist. Empty = show every cap that fires. */
|
|
2094
|
-
readonly defaultStateCaps?: readonly string[];
|
|
2095
|
-
/** Tab to show first. */
|
|
2096
|
-
readonly initialTab?: ActivityTabId;
|
|
2097
|
-
/** CSS class for the panel root. */
|
|
2098
|
-
readonly className?: string;
|
|
2099
|
-
/** Max content height (passed to the active stream). */
|
|
2100
|
-
readonly maxHeight?: string;
|
|
2101
|
-
}
|
|
2102
|
-
declare const TABS: readonly [{
|
|
2103
|
-
readonly id: "logs";
|
|
2104
|
-
readonly label: "Logs";
|
|
2105
|
-
readonly icon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
2106
|
-
}, {
|
|
2107
|
-
readonly id: "events";
|
|
2108
|
-
readonly label: "Events";
|
|
2109
|
-
readonly icon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
2110
|
-
}, {
|
|
2111
|
-
readonly id: "state";
|
|
2112
|
-
readonly label: "State";
|
|
2113
|
-
readonly icon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
2114
|
-
}];
|
|
2115
|
-
type ActivityTabId = (typeof TABS)[number]['id'];
|
|
2116
|
-
declare function DeviceActivityPanel({ deviceId, defaultEventCategories, defaultStateCaps, initialTab, className, maxHeight, }: DeviceActivityPanelProps): react_jsx_runtime.JSX.Element;
|
|
2117
|
-
|
|
2118
|
-
interface ConfirmActionButtonProps<TResult> {
|
|
2119
|
-
/** Visible label on the trigger button. */
|
|
2120
|
-
readonly label: string;
|
|
2121
|
-
/** Icon component (lucide-react) rendered inside the trigger. */
|
|
2122
|
-
readonly icon?: ComponentType<{
|
|
2123
|
-
className?: string;
|
|
2124
|
-
}>;
|
|
2125
|
-
/** Dialog title. Defaults to "Confirm action". */
|
|
2126
|
-
readonly title?: string;
|
|
2127
|
-
/**
|
|
2128
|
-
* Dialog body — accepts either a string (rendered as DialogDescription)
|
|
2129
|
-
* or arbitrary ReactNode for callers that need lists, code blocks, etc.
|
|
2130
|
-
*/
|
|
2131
|
-
readonly description?: ReactNode;
|
|
2132
|
-
/** Label on the confirm button inside the dialog. Defaults to `label`. */
|
|
2133
|
-
readonly confirmLabel?: string;
|
|
2134
|
-
/** Visual variant for the trigger button (defaults to `outline`). */
|
|
2135
|
-
readonly triggerVariant?: ButtonProps['variant'];
|
|
2136
|
-
/**
|
|
2137
|
-
* Visual variant for the confirm button inside the dialog. Defaults to
|
|
2138
|
-
* `danger` since this component is meant for destructive actions.
|
|
2139
|
-
*/
|
|
2140
|
-
readonly confirmVariant?: ButtonProps['variant'];
|
|
2141
|
-
/** Trigger button size — propagated to the underlying Button. */
|
|
2142
|
-
readonly size?: ButtonProps['size'];
|
|
2143
|
-
/** Disable the trigger entirely (gates rendering instead of UX state). */
|
|
2144
|
-
readonly disabled?: boolean;
|
|
2145
|
-
/** Optional extra class name on the trigger. */
|
|
2146
|
-
readonly className?: string;
|
|
2147
|
-
/**
|
|
2148
|
-
* The async action to run on confirm. Must throw on failure so this
|
|
2149
|
-
* component can surface the error inline. The result is returned to
|
|
2150
|
-
* `onSuccess` for callers that need it (e.g. to invalidate queries).
|
|
2151
|
-
*/
|
|
2152
|
-
readonly action: () => Promise<TResult>;
|
|
2153
|
-
/** Called after `action` resolves, with the result. */
|
|
2154
|
-
readonly onSuccess?: (result: TResult) => void;
|
|
2155
|
-
}
|
|
2156
|
-
declare function ConfirmActionButton<TResult>({ label, icon: Icon, title, description, confirmLabel, triggerVariant, confirmVariant, size, disabled, className, action, onSuccess, }: ConfirmActionButtonProps<TResult>): react_jsx_runtime.JSX.Element;
|
|
2157
|
-
|
|
2158
|
-
/**
|
|
2159
|
-
* Cardinal + intercardinal direction tokens. The hook translates them
|
|
2160
|
-
* into normalised `(pan, tilt)` vectors before calling the underlying
|
|
2161
|
-
* cap so the cap surface stays speed-vector-shaped.
|
|
2162
|
-
*/
|
|
2163
|
-
type PTZDirection = 'up' | 'down' | 'left' | 'right' | 'up-left' | 'up-right' | 'down-left' | 'down-right';
|
|
2164
|
-
interface PTZPreset {
|
|
2165
|
-
readonly id: string;
|
|
2166
|
-
readonly name: string;
|
|
2167
|
-
}
|
|
2168
|
-
/**
|
|
2169
|
-
* Backwards-compatible alias for the trpc shape — historically the
|
|
2170
|
-
* hook took its own narrow contract; the proxy generalisation
|
|
2171
|
-
* supersedes that.
|
|
2172
|
-
*/
|
|
2173
|
-
type PTZTrpcProxy = UseDeviceProxyTrpc;
|
|
2174
|
-
interface UsePTZOptions {
|
|
2175
|
-
/** Default speed (0..1) for moves when the caller omits one. */
|
|
2176
|
-
readonly defaultSpeed?: number;
|
|
2177
|
-
/** Pulse duration (ms) for one-shot `move` calls. */
|
|
2178
|
-
readonly pulseMs?: number;
|
|
2179
|
-
/**
|
|
2180
|
-
* Gate the hook's network calls. When `false`, the initial preset
|
|
2181
|
-
* refresh is skipped and every method becomes a no-op. Use to avoid
|
|
2182
|
-
* "provider not available" errors on devices that don't advertise
|
|
2183
|
-
* the `ptz` capability.
|
|
2184
|
-
*/
|
|
2185
|
-
readonly enabled?: boolean;
|
|
2186
|
-
}
|
|
2187
|
-
interface UsePTZResult {
|
|
2188
|
-
/** One-shot directional pulse. Stops itself after `pulseMs`. */
|
|
2189
|
-
readonly move: (direction: PTZDirection, speed?: number) => Promise<void>;
|
|
2190
|
-
/** Begin continuous motion in `direction` until `stopContinuous` is called. */
|
|
2191
|
-
readonly startContinuous: (direction: PTZDirection, speed?: number) => Promise<void>;
|
|
2192
|
-
/** Stop any ongoing continuous motion. Idempotent. */
|
|
2193
|
-
readonly stopContinuous: () => Promise<void>;
|
|
2194
|
-
/** Discrete zoom step (in or out). */
|
|
2195
|
-
readonly zoom: (direction: 'in' | 'out', speed?: number) => Promise<void>;
|
|
2196
|
-
/** Jump to the home preset (0 on most cameras). */
|
|
2197
|
-
readonly goHome: () => Promise<void>;
|
|
2198
|
-
/** Jump to a named preset. */
|
|
2199
|
-
readonly goToPreset: (presetId: string) => Promise<void>;
|
|
2200
|
-
/** List of presets reported by the camera. Empty until first refresh. */
|
|
2201
|
-
readonly presets: readonly PTZPreset[];
|
|
2202
|
-
/** Force a refresh of the presets list. */
|
|
2203
|
-
readonly refreshPresets: () => Promise<void>;
|
|
2204
|
-
/** True while a control call is in flight (any path). */
|
|
2205
|
-
readonly busy: boolean;
|
|
2206
|
-
/** Last error message from any cap call, or null. */
|
|
2207
|
-
readonly error: string | null;
|
|
2208
|
-
}
|
|
2209
|
-
declare function usePTZ(trpc: UseDeviceProxyTrpc, deviceId: number, options?: UsePTZOptions): UsePTZResult;
|
|
2210
|
-
|
|
2211
|
-
interface PTZOverlayProps {
|
|
2212
|
-
/** Result of `usePTZ(trpc, deviceId)`. */
|
|
2213
|
-
readonly controls: UsePTZResult;
|
|
2214
|
-
/**
|
|
2215
|
-
* Visual variant. `'overlay'` floats over the camera viewport with
|
|
2216
|
-
* a translucent dark pill; `'panel'` lays out flat inside its
|
|
2217
|
-
* container with no inner chrome — use that when hosting inside a
|
|
2218
|
-
* floating panel that already provides the dark surface.
|
|
2219
|
-
*/
|
|
2220
|
-
readonly mode?: 'overlay' | 'panel';
|
|
2221
|
-
/** Show the presets dropdown (default: true when presets > 0). */
|
|
2222
|
-
readonly showPresets?: boolean;
|
|
2223
|
-
/** Show the zoom buttons (default: true). */
|
|
2224
|
-
readonly showZoom?: boolean;
|
|
2225
|
-
/** Show the home button (default: true). */
|
|
2226
|
-
readonly showHome?: boolean;
|
|
2227
|
-
readonly className?: string;
|
|
2228
|
-
}
|
|
2229
|
-
declare function PTZOverlay({ controls, mode, showPresets, showZoom, showHome, className, }: PTZOverlayProps): react_jsx_runtime.JSX.Element;
|
|
2230
|
-
|
|
2231
|
-
interface BatteryStatusLike {
|
|
2232
|
-
readonly percentage: number;
|
|
2233
|
-
readonly charging: 'dc' | 'solar' | 'none';
|
|
2234
|
-
readonly sleeping: boolean;
|
|
2235
|
-
}
|
|
2236
|
-
interface BatteryBadgeProps {
|
|
2237
|
-
readonly status: BatteryStatusLike | null | undefined;
|
|
2238
|
-
/** `'compact'` shows only icon + %; `'full'` adds the source label. */
|
|
2239
|
-
readonly variant?: 'compact' | 'full';
|
|
2240
|
-
readonly className?: string;
|
|
2241
|
-
}
|
|
2242
|
-
declare function BatteryBadge({ status, variant, className }: BatteryBadgeProps): react_jsx_runtime.JSX.Element | null;
|
|
2243
|
-
|
|
2244
|
-
interface QueryFn$1<I, O> {
|
|
2245
|
-
query(input: I): Promise<O>;
|
|
2246
|
-
}
|
|
2247
|
-
interface SnapshotButtonTrpc {
|
|
2248
|
-
readonly snapshot: {
|
|
2249
|
-
readonly getSnapshot: QueryFn$1<{
|
|
2250
|
-
deviceId: number;
|
|
2251
|
-
streamId?: string;
|
|
2252
|
-
force?: boolean;
|
|
2253
|
-
}, {
|
|
2254
|
-
base64: string;
|
|
2255
|
-
contentType: string;
|
|
2256
|
-
} | null>;
|
|
2257
|
-
};
|
|
2258
|
-
}
|
|
2259
|
-
interface SnapshotButtonProps {
|
|
2260
|
-
readonly trpc: SnapshotButtonTrpc;
|
|
2261
|
-
readonly deviceId: number;
|
|
2262
|
-
readonly deviceName: string;
|
|
2263
|
-
/** Visual size — `'sm'` for header / tile, `'md'` for prominent CTA. */
|
|
2264
|
-
readonly size?: 'sm' | 'md';
|
|
2265
|
-
readonly className?: string;
|
|
2266
|
-
}
|
|
2267
|
-
declare function SnapshotButton({ trpc, deviceId, deviceName, size, className, }: SnapshotButtonProps): react_jsx_runtime.JSX.Element;
|
|
2268
|
-
|
|
2269
|
-
interface DoorbellPressEvent {
|
|
2270
|
-
readonly deviceId: number;
|
|
2271
|
-
readonly timestamp: number;
|
|
2272
|
-
}
|
|
2273
|
-
interface UseDoorbellEventsResult {
|
|
2274
|
-
/** Most recent press, or null if none observed since mount. */
|
|
2275
|
-
readonly latest: DoorbellPressEvent | null;
|
|
2276
|
-
/** Recent presses, newest-first. Capped at `historyLimit`. */
|
|
2277
|
-
readonly history: readonly DoorbellPressEvent[];
|
|
2278
|
-
}
|
|
2279
|
-
interface UseDoorbellEventsOptions {
|
|
2280
|
-
/**
|
|
2281
|
-
* Scope the subscription to a specific deviceId. Pass `null` (or
|
|
2282
|
-
* omit) to receive every press across the cluster.
|
|
2283
|
-
*/
|
|
2284
|
-
readonly deviceId?: number | null;
|
|
2285
|
-
/** Max history entries kept in memory. Defaults to 20. */
|
|
2286
|
-
readonly historyLimit?: number;
|
|
2287
|
-
}
|
|
2288
|
-
declare function useDoorbellEvents(options?: UseDoorbellEventsOptions): UseDoorbellEventsResult;
|
|
2289
|
-
|
|
2290
|
-
interface DoorbellRecentPanelProps {
|
|
2291
|
-
readonly history: readonly DoorbellPressEvent[];
|
|
2292
|
-
/** Max rows to show (defaults to 5). */
|
|
2293
|
-
readonly limit?: number;
|
|
2294
|
-
/** Visual hint that the latest press is fresh (< 30s) — pulses the icon. */
|
|
2295
|
-
readonly latestIsFresh?: boolean;
|
|
2296
|
-
readonly className?: string;
|
|
2297
|
-
}
|
|
2298
|
-
declare function DoorbellRecentPanel({ history, limit, latestIsFresh, className, }: DoorbellRecentPanelProps): react_jsx_runtime.JSX.Element | null;
|
|
2299
|
-
|
|
2300
|
-
interface KebabMenuItem {
|
|
2301
|
-
/** Stable id for React keys + analytics. */
|
|
2302
|
-
readonly id: string;
|
|
2303
|
-
/** Visible label. */
|
|
2304
|
-
readonly label: string;
|
|
2305
|
-
/** Icon component (lucide-react etc.). */
|
|
2306
|
-
readonly icon?: ComponentType<{
|
|
2307
|
-
className?: string;
|
|
2308
|
-
}>;
|
|
2309
|
-
/** Render an inline subtitle / hint under the label. */
|
|
2310
|
-
readonly description?: string;
|
|
2311
|
-
/** Click handler — menu auto-closes after invocation. */
|
|
2312
|
-
readonly onClick: () => void;
|
|
2313
|
-
/** When true, the item is hidden entirely (gated by feature etc.). */
|
|
2314
|
-
readonly hidden?: boolean;
|
|
2315
|
-
/** When true, the item is rendered greyed out and non-clickable. */
|
|
2316
|
-
readonly disabled?: boolean;
|
|
2317
|
-
/** Renders the item with the destructive accent (red text + hover). */
|
|
2318
|
-
readonly danger?: boolean;
|
|
2319
|
-
/**
|
|
2320
|
-
* Optional separator BEFORE this item — useful to group destructive
|
|
2321
|
-
* actions visually at the bottom of the menu.
|
|
2322
|
-
*/
|
|
2323
|
-
readonly separatorBefore?: boolean;
|
|
2324
|
-
}
|
|
2325
|
-
interface KebabMenuProps {
|
|
2326
|
-
readonly items: readonly KebabMenuItem[];
|
|
2327
|
-
/**
|
|
2328
|
-
* Optional content rendered ABOVE the items (e.g. an explanatory
|
|
2329
|
-
* label or a status line). Hidden when no header is provided.
|
|
2330
|
-
*/
|
|
2331
|
-
readonly header?: ReactNode;
|
|
2332
|
-
/** Optional class on the trigger button (sizing, alignment). */
|
|
2333
|
-
readonly triggerClassName?: string;
|
|
2334
|
-
/** Tooltip text on the trigger (defaults to "More actions"). */
|
|
2335
|
-
readonly title?: string;
|
|
2336
|
-
}
|
|
2337
|
-
declare function KebabMenu({ items, header, triggerClassName, title }: KebabMenuProps): react_jsx_runtime.JSX.Element | null;
|
|
2338
|
-
|
|
2339
|
-
/** Standard props every addon-contributed widget receives. */
|
|
2340
|
-
interface WidgetProps {
|
|
2341
|
-
/** Stable id of THIS widget instance (form-builder field key, dashboard slot UUID, etc.). */
|
|
2342
|
-
readonly instanceId: string;
|
|
2343
|
-
/** Host where this widget is rendered. */
|
|
2344
|
-
readonly host: 'device-tab' | 'dashboard' | 'integration-detail';
|
|
2345
|
-
/** Form/dashboard-supplied props. Shape depends on the widget. */
|
|
2346
|
-
readonly config?: Readonly<Record<string, unknown>>;
|
|
2347
|
-
/** Provided when host has a device context. */
|
|
2348
|
-
readonly deviceId?: number;
|
|
2349
|
-
/** Provided when host has an integration context. */
|
|
2350
|
-
readonly integrationId?: string;
|
|
2351
|
-
/** Dashboard sizing hints (placeholder for v1 — widget can ignore). */
|
|
2352
|
-
readonly size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
2353
|
-
readonly columns?: number;
|
|
2354
|
-
readonly rows?: number;
|
|
2355
|
-
}
|
|
2356
|
-
/** Public registry surface. */
|
|
2357
|
-
interface WidgetRegistry {
|
|
2358
|
-
/**
|
|
2359
|
-
* Returns the resolved widget component for `<addonId>/<stableId>`,
|
|
2360
|
-
* or `undefined` when the widget id is unknown to the registry, or
|
|
2361
|
-
* `null` while the bundle is still loading.
|
|
2362
|
-
*/
|
|
2363
|
-
resolve(widgetId: string): ComponentType<WidgetProps> | null | undefined;
|
|
2364
|
-
/** Metadata lookup — used by `<WidgetSlot>` to validate `requires`. */
|
|
2365
|
-
metadata(widgetId: string): WidgetMetadataEntry | undefined;
|
|
2366
|
-
/** Every contributed widget. Used by host pickers (e.g. dashboard
|
|
2367
|
-
* add-widget modal) to enumerate the available widgets. */
|
|
2368
|
-
listAll(): readonly WidgetMetadataEntry[];
|
|
2369
|
-
}
|
|
2370
|
-
/** One enriched-aggregator entry exposed to consumers. */
|
|
2371
|
-
interface WidgetMetadataEntry {
|
|
2372
|
-
readonly widgetId: string;
|
|
2373
|
-
readonly addonId: string;
|
|
2374
|
-
readonly stableId: string;
|
|
2375
|
-
readonly label: string;
|
|
2376
|
-
readonly description?: string;
|
|
2377
|
-
readonly icon?: string;
|
|
2378
|
-
readonly remoteName: string;
|
|
2379
|
-
readonly bundleUrl: string;
|
|
2380
|
-
readonly hosts: readonly ('device-tab' | 'dashboard' | 'integration-detail')[];
|
|
2381
|
-
readonly requires: {
|
|
2382
|
-
readonly deviceContext: boolean;
|
|
2383
|
-
readonly integrationContext: boolean;
|
|
2384
|
-
};
|
|
2385
|
-
readonly defaultSize: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
2386
|
-
readonly allowedSizes: readonly ('xs' | 'sm' | 'md' | 'lg' | 'xl')[];
|
|
2387
|
-
readonly defaultColumns: number;
|
|
2388
|
-
readonly defaultRows: number;
|
|
2389
|
-
}
|
|
2390
|
-
interface WidgetRegistryProviderProps {
|
|
2391
|
-
readonly children: ReactNode;
|
|
2392
|
-
}
|
|
2393
|
-
declare function WidgetRegistryProvider({ children }: WidgetRegistryProviderProps): react_jsx_runtime.JSX.Element;
|
|
2394
|
-
/** Returns the registered widget component, `null` while loading, or `undefined` if unknown. */
|
|
2395
|
-
declare function useWidget(widgetId: string): ComponentType<WidgetProps> | null | undefined;
|
|
2396
|
-
/** Returns the metadata entry for a widget, or `undefined` if unknown. */
|
|
2397
|
-
declare function useWidgetMetadata(widgetId: string): WidgetMetadataEntry | undefined;
|
|
2398
|
-
/** Returns every contributed widget — host pickers (dashboard
|
|
2399
|
-
* add-widget modal, settings UI palette) consume this to enumerate
|
|
2400
|
-
* the registry. Filter on the call site by `metadata.hosts.includes()`. */
|
|
2401
|
-
declare function useAllWidgets(): readonly WidgetMetadataEntry[];
|
|
2402
|
-
/** Read the registry instance — throws when no provider is mounted. */
|
|
2403
|
-
declare function useWidgetRegistry(): WidgetRegistry;
|
|
2404
|
-
/** Variant returning `null` when no provider is mounted — for boot splash etc. */
|
|
2405
|
-
declare function useOptionalWidgetRegistry(): WidgetRegistry | null;
|
|
2406
|
-
|
|
2407
|
-
/**
|
|
2408
|
-
* <WidgetSlot> — single host-side mount point for any addon-contributed
|
|
2409
|
-
* widget. Consumers reference a widget by its public id
|
|
2410
|
-
* (`<addonId>/<stableId>`), the slot looks the component up in the
|
|
2411
|
-
* shared `WidgetRegistry`, validates host context against the widget's
|
|
2412
|
-
* `requires` metadata, and renders one of:
|
|
2413
|
-
* - skeleton placeholder while the bundle is still loading,
|
|
2414
|
-
* - inline error fallback when the widget id is unknown OR the host
|
|
2415
|
-
* didn't supply a required context (`deviceContext` /
|
|
2416
|
-
* `integrationContext`),
|
|
2417
|
-
* - the resolved component otherwise.
|
|
2418
|
-
*
|
|
2419
|
-
* The slot is intentionally STUPID — no styling beyond the skeleton/
|
|
2420
|
-
* error fallback. Layout (card vs inline, sizing) is the host's
|
|
2421
|
-
* responsibility.
|
|
2422
|
-
*/
|
|
2423
|
-
|
|
2424
|
-
interface WidgetSlotProps {
|
|
2425
|
-
/** `<addonId>/<stableId>` — the public widget identifier. */
|
|
2426
|
-
readonly widgetId: string;
|
|
2427
|
-
/** Host context — picked up by metadata `requires` validation. Defaults to `'device-tab'`. */
|
|
2428
|
-
readonly host?: WidgetProps['host'];
|
|
2429
|
-
/** Forwarded to widget. */
|
|
2430
|
-
readonly config?: Readonly<Record<string, unknown>>;
|
|
2431
|
-
/** Forwarded to widget. */
|
|
2432
|
-
readonly deviceId?: number;
|
|
2433
|
-
readonly integrationId?: string;
|
|
2434
|
-
/** Stable instance id — defaults to `widgetId` for non-dashboard hosts (single mount per page). */
|
|
2435
|
-
readonly instanceId?: string;
|
|
2436
|
-
/** Dashboard sizing — placeholder for v1. */
|
|
2437
|
-
readonly size?: WidgetProps['size'];
|
|
2438
|
-
readonly columns?: number;
|
|
2439
|
-
readonly rows?: number;
|
|
2440
|
-
}
|
|
2441
|
-
declare function WidgetSlot(props: WidgetSlotProps): ReactNode;
|
|
2442
|
-
|
|
2443
|
-
/**
|
|
2444
|
-
* Props shape every custom renderer receives. Keep it congruent with
|
|
2445
|
-
* the built-in `case` branches so the dispatcher in `config-form-field`
|
|
2446
|
-
* can pass arguments uniformly.
|
|
2447
|
-
*/
|
|
2448
|
-
interface CustomFieldRendererProps {
|
|
2449
|
-
readonly field: ConfigField;
|
|
2450
|
-
readonly value: unknown;
|
|
2451
|
-
readonly onChange: (value: unknown) => void;
|
|
2452
|
-
readonly disabled?: boolean;
|
|
2453
|
-
}
|
|
2454
|
-
type CustomFieldRenderer = ComponentType<CustomFieldRendererProps>;
|
|
2455
|
-
type CustomFieldRendererMap = Readonly<Record<string, CustomFieldRenderer>>;
|
|
2456
|
-
interface CustomFieldRenderersProviderProps {
|
|
2457
|
-
readonly renderers: CustomFieldRendererMap;
|
|
2458
|
-
readonly children: ReactNode;
|
|
2459
|
-
}
|
|
2460
|
-
declare function CustomFieldRenderersProvider({ renderers, children, }: CustomFieldRenderersProviderProps): react_jsx_runtime.JSX.Element;
|
|
2461
|
-
/**
|
|
2462
|
-
* Look up a registered renderer by `field.type`. Returns null when no
|
|
2463
|
-
* renderer is registered — caller falls back to its built-in handling
|
|
2464
|
-
* (or renders nothing).
|
|
2465
|
-
*/
|
|
2466
|
-
declare function useCustomFieldRenderer(type: string): CustomFieldRenderer | null;
|
|
2467
|
-
|
|
2468
|
-
/**
|
|
2469
|
-
* Cached device snapshot. Loose-typed (`Record<string, unknown>`) at
|
|
2470
|
-
* the boundary because the wire shape lives in different places
|
|
2471
|
-
* depending on the caller — DeviceDetail reads from
|
|
2472
|
-
* `deviceManager.list`, `addon-admin-ui` from a hand-loaded subset.
|
|
2473
|
-
* Renderers narrow the fields they actually need.
|
|
2474
|
-
*/
|
|
2475
|
-
type DeviceSnapshot = Readonly<Record<string, unknown>>;
|
|
2476
|
-
interface DeviceContextProviderProps {
|
|
2477
|
-
readonly deviceId: number;
|
|
2478
|
-
/** Optional cached device snapshot — readers narrow the fields they need. */
|
|
2479
|
-
readonly device?: DeviceSnapshot;
|
|
2480
|
-
readonly children: ReactNode;
|
|
2481
|
-
}
|
|
2482
|
-
declare function DeviceContextProvider({ deviceId, device, children }: DeviceContextProviderProps): react_jsx_runtime.JSX.Element;
|
|
2483
|
-
/** @returns the device id of the current page subtree, or null if outside any provider. */
|
|
2484
|
-
declare function useDeviceId(): number | null;
|
|
2485
|
-
/** @returns the cached device snapshot, or null when no snapshot is provided. */
|
|
2486
|
-
declare function useDeviceSnapshot(): DeviceSnapshot | null;
|
|
2487
|
-
|
|
2488
|
-
interface PlayerOverlayLayer {
|
|
2489
|
-
readonly id: string;
|
|
2490
|
-
/** Lower = bottom. Built-in layers (PTZ overlay, detection overlay)
|
|
2491
|
-
* are drawn at order 0; addon-contributed layers should pick a
|
|
2492
|
-
* higher value (e.g. 100) to land on top. */
|
|
2493
|
-
readonly order: number;
|
|
2494
|
-
readonly node: ReactNode;
|
|
2495
|
-
}
|
|
2496
|
-
interface PlayerToolbarButton {
|
|
2497
|
-
readonly id: string;
|
|
2498
|
-
/** Lower = leftmost in the toolbar cluster. */
|
|
2499
|
-
readonly order: number;
|
|
2500
|
-
/** Icon node — typically a `<svg>` or lucide-react icon. The host
|
|
2501
|
-
* renders it inside a button shell; the icon component is
|
|
2502
|
-
* responsible for its own sizing (h-3 w-3 by convention). */
|
|
2503
|
-
readonly icon: ReactNode;
|
|
2504
|
-
/** Visible label on wider breakpoints; collapses to icon-only on
|
|
2505
|
-
* narrow widths. */
|
|
2506
|
-
readonly label: string;
|
|
2507
|
-
/** Title/tooltip for the rendered button. Defaults to `label`. */
|
|
2508
|
-
readonly title?: string;
|
|
2509
|
-
/** Controlled active state — drives the highlight (primary tint). */
|
|
2510
|
-
readonly active: boolean;
|
|
2511
|
-
/** Tone variant for the inactive state. `'primary'` reads as a
|
|
2512
|
-
* call-to-action (e.g. "Snapshot"); `'default'` is a neutral
|
|
2513
|
-
* toggle. */
|
|
2514
|
-
readonly tone?: 'default' | 'primary';
|
|
2515
|
-
/** Disable the button when the host is mid-transition. */
|
|
2516
|
-
readonly disabled?: boolean;
|
|
2517
|
-
readonly onClick: () => void;
|
|
2518
|
-
}
|
|
2519
|
-
interface PlayerOverlaysProviderProps {
|
|
2520
|
-
readonly children: ReactNode;
|
|
2521
|
-
}
|
|
2522
|
-
declare function PlayerOverlaysProvider({ children }: PlayerOverlaysProviderProps): react_jsx_runtime.JSX.Element;
|
|
2523
|
-
/** Snapshot of registered layers ordered by `order` (asc, ties resolved
|
|
2524
|
-
* by insertion order of the underlying Map). Returns `[]` outside a
|
|
2525
|
-
* provider. */
|
|
2526
|
-
declare function usePlayerOverlayLayers(): readonly PlayerOverlayLayer[];
|
|
2527
|
-
/** Snapshot of registered toolbar buttons, ordered by `order` (asc). */
|
|
2528
|
-
declare function usePlayerToolbarButtons(): readonly PlayerToolbarButton[];
|
|
2529
|
-
/**
|
|
2530
|
-
* Register an overlay layer for the lifetime of the calling component.
|
|
2531
|
-
* Re-registers on every render with the latest spec; auto-unregisters
|
|
2532
|
-
* on unmount. Pass `null` to skip registration when the layer is
|
|
2533
|
-
* conditionally enabled (the hook still runs every render — keeps
|
|
2534
|
-
* react-hook order stable across spec === null toggles).
|
|
2535
|
-
*
|
|
2536
|
-
* Callers that build the spec inline should memoise it (`useMemo`)
|
|
2537
|
-
* to avoid re-registering on every parent render — context-write
|
|
2538
|
-
* effects depend on referential equality of the spec object.
|
|
2539
|
-
*/
|
|
2540
|
-
declare function usePlayerOverlayLayer(spec: PlayerOverlayLayer | null): void;
|
|
2541
|
-
/** Same shape as `usePlayerOverlayLayer`, scoped to toolbar buttons. */
|
|
2542
|
-
declare function usePlayerToolbarButton(spec: PlayerToolbarButton | null): void;
|
|
2543
|
-
|
|
2544
|
-
type ZoneDrawingKind = 'polygon' | 'tripwire';
|
|
2545
|
-
interface ZoneDraftPoint {
|
|
2546
|
-
readonly x: number;
|
|
2547
|
-
readonly y: number;
|
|
2548
|
-
}
|
|
2549
|
-
interface ZoneDraft {
|
|
2550
|
-
readonly id: string;
|
|
2551
|
-
readonly kind: ZoneDrawingKind;
|
|
2552
|
-
readonly name: string;
|
|
2553
|
-
readonly color: string;
|
|
2554
|
-
readonly points: ReadonlyArray<ZoneDraftPoint>;
|
|
2555
|
-
}
|
|
2556
|
-
interface ZoneEditingState {
|
|
2557
|
-
/** Whether the zone editor overlay is active. When `true` the
|
|
2558
|
-
* Konva Stage intercepts clicks; when `false` clicks pass
|
|
2559
|
-
* through to the underlying player. */
|
|
2560
|
-
readonly editing: boolean;
|
|
2561
|
-
/** Active drawing kind. `null` means "select / drag existing
|
|
2562
|
-
* zones". Setting a non-null value triggers a fresh polygon /
|
|
2563
|
-
* tripwire creation on the next click. */
|
|
2564
|
-
readonly drawingKind: ZoneDrawingKind | null;
|
|
2565
|
-
/** Currently-selected zone id (for highlight + ZoneForm). */
|
|
2566
|
-
readonly selectedZoneId: string | null;
|
|
2567
|
-
/** In-flight draft snapshot of the zone being edited. `null` while
|
|
2568
|
-
* no edit session is active — read-only browse mode. */
|
|
2569
|
-
readonly editingDraft: ZoneDraft | null;
|
|
2570
|
-
}
|
|
2571
|
-
interface ZoneEditingActions {
|
|
2572
|
-
setEditing(editing: boolean): void;
|
|
2573
|
-
setDrawingKind(kind: ZoneDrawingKind | null): void;
|
|
2574
|
-
setSelectedZoneId(id: string | null): void;
|
|
2575
|
-
/** Start a new polygon/tripwire — convenience for "Add zone"
|
|
2576
|
-
* buttons that should both unlock the overlay AND select the
|
|
2577
|
-
* shape kind in one click. */
|
|
2578
|
-
startDrawing(kind: ZoneDrawingKind): void;
|
|
2579
|
-
/** Exit edit mode — clears the drawing kind + selection + any
|
|
2580
|
-
* in-flight draft. Called when the Detection tab is torn down. */
|
|
2581
|
-
exitEditing(): void;
|
|
2582
|
-
/** Snapshot a zone into the draft and enter unified edit mode.
|
|
2583
|
-
* If a different draft is already active it is discarded. */
|
|
2584
|
-
enterDraft(draft: ZoneDraft): void;
|
|
2585
|
-
/** Patch the active draft. No-op when no draft is active. */
|
|
2586
|
-
updateDraft(patch: Partial<Omit<ZoneDraft, 'id' | 'kind'>>): void;
|
|
2587
|
-
/** Throw the draft away. Caller is expected to refresh from
|
|
2588
|
-
* upstream zone state (operator chose Discard or navigated away). */
|
|
2589
|
-
discardDraft(): void;
|
|
2590
|
-
}
|
|
2591
|
-
interface ZoneEditingContextValue extends ZoneEditingState, ZoneEditingActions {
|
|
2592
|
-
}
|
|
2593
|
-
interface ZoneEditingProviderProps {
|
|
2594
|
-
readonly children: ReactNode;
|
|
2595
|
-
}
|
|
2596
|
-
declare function ZoneEditingProvider({ children }: ZoneEditingProviderProps): react_jsx_runtime.JSX.Element;
|
|
2597
|
-
/** Read + drive the zone-editing state. Returns `null` outside a
|
|
2598
|
-
* provider so callers that mount in pages without zones (e.g. a
|
|
2599
|
-
* shared hero on a non-camera device) can no-op gracefully. */
|
|
2600
|
-
declare function useZoneEditing(): ZoneEditingContextValue | null;
|
|
2601
|
-
|
|
2602
|
-
interface SystemProviderProps {
|
|
2603
|
-
readonly system: System;
|
|
2604
|
-
readonly children: ReactNode;
|
|
2605
|
-
}
|
|
2606
|
-
declare function SystemProvider({ system, children }: SystemProviderProps): react_jsx_runtime.JSX.Element;
|
|
2607
|
-
/**
|
|
2608
|
-
* Read the active `System` instance from the surrounding `<SystemProvider>`.
|
|
2609
|
-
* Throws when no provider is mounted — every hook in this directory
|
|
2610
|
-
* relies on the system, so a clear error beats a silent null.
|
|
2611
|
-
*/
|
|
2612
|
-
declare function useSystem(): System;
|
|
2613
|
-
/**
|
|
2614
|
-
* Variant that returns `null` instead of throwing — useful for
|
|
2615
|
-
* components that need to render before the provider is set up
|
|
2616
|
-
* (boot-time splash screens etc.).
|
|
2617
|
-
*/
|
|
2618
|
-
declare function useOptionalSystem(): System | null;
|
|
2619
|
-
|
|
2620
|
-
declare function useIsMobile(): boolean;
|
|
2621
|
-
/**
|
|
2622
|
-
* True when the viewport is in the medium (`md`) Tailwind range —
|
|
2623
|
-
* 768px ≤ width < 1024px. Use to drive layouts that should pack denser
|
|
2624
|
-
* than full-desktop but more legibly than mobile (e.g. icons-only
|
|
2625
|
-
* sidebar rail, narrower stat tiles).
|
|
2626
|
-
*/
|
|
2627
|
-
declare function useIsMidWidth(): boolean;
|
|
2628
|
-
|
|
2629
|
-
/**
|
|
2630
|
-
* Discriminated WebRTC target — same shape as `WebrtcStreamTarget` on
|
|
2631
|
-
* the backend cap. Repeated locally to keep the hook self-contained
|
|
2632
|
-
* (no cross-package import from `@camstack/types`).
|
|
2633
|
-
*/
|
|
2634
|
-
type WebrtcTarget = {
|
|
2635
|
-
readonly kind: 'adaptive';
|
|
2636
|
-
} | {
|
|
2637
|
-
readonly kind: 'profile';
|
|
2638
|
-
readonly profile: 'high' | 'mid' | 'low';
|
|
2639
|
-
} | {
|
|
2640
|
-
readonly kind: 'cam-stream';
|
|
2641
|
-
readonly camStreamId: string;
|
|
2642
|
-
};
|
|
2643
|
-
/** Mutation call shape: `.mutate(input)` → Promise. */
|
|
2644
|
-
interface MutateFn<I, O> {
|
|
2645
|
-
mutate(input: I): Promise<O>;
|
|
2646
|
-
}
|
|
2647
|
-
/** Query call shape: `.query(input?)` → Promise. */
|
|
2648
|
-
interface QueryFn<I, O> {
|
|
2649
|
-
query(input: I): Promise<O>;
|
|
2650
|
-
}
|
|
2651
|
-
interface StreamChoiceRow {
|
|
2652
|
-
readonly id: string;
|
|
2653
|
-
readonly label: string;
|
|
2654
|
-
readonly target: WebrtcTarget;
|
|
2655
|
-
readonly codec: string | null;
|
|
2656
|
-
readonly resolution: {
|
|
2657
|
-
width: number;
|
|
2658
|
-
height: number;
|
|
2659
|
-
} | null;
|
|
2660
|
-
readonly status: string | null;
|
|
2661
|
-
readonly inputFps: number | null;
|
|
2662
|
-
readonly decodeFps: number | null;
|
|
2663
|
-
readonly bitrateKbps: number | null;
|
|
2664
|
-
}
|
|
2665
|
-
/**
|
|
2666
|
-
* Minimal subset of the tRPC proxy needed for WebRTC signaling.
|
|
2667
|
-
* Both `BackendClient.trpc` and `AddonPageProps['trpc']` satisfy this
|
|
2668
|
-
* at runtime.
|
|
2669
|
-
*/
|
|
2670
|
-
interface UseDeviceWebrtcTrpc {
|
|
2671
|
-
webrtcSession: {
|
|
2672
|
-
listStreams: QueryFn<{
|
|
2673
|
-
deviceId: number;
|
|
2674
|
-
}, readonly StreamChoiceRow[]>;
|
|
2675
|
-
createSession: MutateFn<{
|
|
2676
|
-
deviceId: number;
|
|
2677
|
-
target: WebrtcTarget;
|
|
2678
|
-
hints?: ClientStreamHints;
|
|
2679
|
-
}, {
|
|
2680
|
-
sessionId: string;
|
|
2681
|
-
sdpOffer: string;
|
|
2682
|
-
}>;
|
|
2683
|
-
handleAnswer: MutateFn<{
|
|
2684
|
-
deviceId: number;
|
|
2685
|
-
sessionId: string;
|
|
2686
|
-
sdpAnswer: string;
|
|
2687
|
-
}, void>;
|
|
2688
|
-
closeSession: MutateFn<{
|
|
2689
|
-
deviceId: number;
|
|
2690
|
-
sessionId: string;
|
|
2691
|
-
}, void>;
|
|
2692
|
-
};
|
|
2693
|
-
pipelineOrchestrator?: {
|
|
2694
|
-
getCameraMetrics: QueryFn<{
|
|
2695
|
-
deviceId: number;
|
|
2696
|
-
}, {
|
|
2697
|
-
phase: string;
|
|
2698
|
-
actualFps: number;
|
|
2699
|
-
avgInferenceTimeMs: number;
|
|
2700
|
-
droppedFrames: number;
|
|
2701
|
-
configuredFps: number;
|
|
2702
|
-
} | null>;
|
|
2703
|
-
};
|
|
2704
|
-
}
|
|
2705
|
-
/** Pipeline detection metrics for a device. */
|
|
2706
|
-
interface DevicePipelineMetrics {
|
|
2707
|
-
readonly phase: string;
|
|
2708
|
-
readonly detectionFps: number;
|
|
2709
|
-
readonly avgInferenceMs: number;
|
|
2710
|
-
readonly droppedFrames: number;
|
|
2711
|
-
}
|
|
2712
|
-
interface DeviceWebrtcResult {
|
|
2713
|
-
/** Available stream choices for the dropdown (Adaptive + assigned profiles). */
|
|
2714
|
-
readonly streams: readonly StreamChoice[];
|
|
2715
|
-
/** Whether the device has at least one assigned profile (can stream). */
|
|
2716
|
-
readonly hasWebrtc: boolean;
|
|
2717
|
-
/** Live pipeline metrics (phase, detection fps, inference time). */
|
|
2718
|
-
readonly pipelineMetrics: DevicePipelineMetrics | null;
|
|
2719
|
-
/** Server-offer signaling: create a WebRTC session. */
|
|
2720
|
-
readonly createSession: (target: WebrtcTarget, hints?: ClientStreamHints) => Promise<SignalingResult>;
|
|
2721
|
-
/** Server-offer signaling: send the client's SDP answer. */
|
|
2722
|
-
readonly sendAnswer: (sessionId: string, sdpAnswer: string) => Promise<void>;
|
|
2723
|
-
/** Close a WebRTC session on the server. */
|
|
2724
|
-
readonly closeSession: (sessionId: string) => Promise<void>;
|
|
2725
|
-
}
|
|
2726
|
-
/**
|
|
2727
|
-
* Hook that provides WebRTC signaling callbacks and stream choices for a device.
|
|
2728
|
-
*
|
|
2729
|
-
* @param trpc - tRPC proxy (admin-ui BackendClient.trpc or addon page trpc)
|
|
2730
|
-
* @param deviceId - numeric device ID (null = disabled)
|
|
2731
|
-
* @param pollIntervalMs - how often to refresh profile slots (default: 5000)
|
|
2732
|
-
*/
|
|
2733
|
-
declare function useDeviceWebrtc(trpc: UseDeviceWebrtcTrpc, deviceId: number | null, pollIntervalMs?: number): DeviceWebrtcResult;
|
|
2734
|
-
|
|
2735
|
-
/**
|
|
2736
|
-
* useDeviceBattery — battery status for a device.
|
|
2737
|
-
*
|
|
2738
|
-
* Thin wrapper over the `useDeviceState` combinator, which itself
|
|
2739
|
-
* wraps `useDeviceProxy + useDeviceStateSlice(dev?.state.battery)`.
|
|
2740
|
-
* The kernel runtime-state mirror keeps the slice value warm — one
|
|
2741
|
-
* initial fetch on first subscribe, then push updates on every
|
|
2742
|
-
* `setCapSlice` for the battery slice. No manual event subscription,
|
|
2743
|
-
* no parallel `getStatus` polling.
|
|
2744
|
-
*
|
|
2745
|
-
* Returns `null` when no provider has emitted yet (non-battery
|
|
2746
|
-
* camera, or initial fetch hasn't returned).
|
|
2747
|
-
*/
|
|
2748
|
-
|
|
2749
|
-
interface BatteryStatus {
|
|
2750
|
-
readonly percentage: number;
|
|
2751
|
-
readonly charging: 'dc' | 'solar' | 'none';
|
|
2752
|
-
readonly sleeping: boolean;
|
|
2753
|
-
readonly lastUpdated: number;
|
|
2754
|
-
}
|
|
2755
|
-
/**
|
|
2756
|
-
* Backwards-compatible alias for the trpc shape — historically the
|
|
2757
|
-
* hook took its own narrow contract; the proxy generalisation
|
|
2758
|
-
* supersedes that.
|
|
2759
|
-
*/
|
|
2760
|
-
type UseDeviceBatteryTrpc = UseDeviceProxyTrpc;
|
|
2761
|
-
declare function useDeviceBattery(trpc: UseDeviceProxyTrpc, deviceId: number | null): BatteryStatus | null;
|
|
2762
|
-
|
|
2763
|
-
interface ClusterNode {
|
|
2764
|
-
readonly id: string;
|
|
2765
|
-
readonly name: string;
|
|
2766
|
-
/** Compact label for pill bars: "HUB" for the hub, agent name for agents. */
|
|
2767
|
-
readonly shortName: string;
|
|
2768
|
-
readonly isHub: boolean;
|
|
2769
|
-
readonly isOnline: boolean;
|
|
2770
|
-
readonly localIps: readonly string[];
|
|
2771
|
-
readonly addons: readonly {
|
|
2772
|
-
readonly addonId: string;
|
|
2773
|
-
readonly capabilities: readonly string[];
|
|
2774
|
-
}[];
|
|
2775
|
-
}
|
|
2776
|
-
declare function useClusterNodes(): {
|
|
2777
|
-
readonly nodes: readonly ClusterNode[];
|
|
2778
|
-
readonly isLoading: boolean;
|
|
2779
|
-
};
|
|
2780
|
-
|
|
2781
|
-
declare function useDebouncedString(value: string, delayMs: number): string;
|
|
2782
|
-
|
|
2783
|
-
declare function useEventStreamLatest<T>(category: string, filter?: (data: T) => boolean): T | null;
|
|
2784
|
-
declare function useEventStreamMap<T, K extends string | number>(category: string, keyOf: (data: T) => K, filter?: (data: T) => boolean): {
|
|
2785
|
-
readonly map: ReadonlyMap<K, T>;
|
|
2786
|
-
readonly values: readonly T[];
|
|
2787
|
-
};
|
|
2788
|
-
|
|
2789
|
-
/**
|
|
2790
|
-
* useDeviceCapability — accessor-based readiness wrapper around
|
|
2791
|
-
* `useDeviceProxy` + `useDeviceStateSlice`. Combines the three
|
|
2792
|
-
* preconditions a UI quick-action needs in one call:
|
|
2793
|
-
*
|
|
2794
|
-
* 1. Device proxy resolved (bindings landed)
|
|
2795
|
-
* 2. Cap handle present on the proxy (i.e. cap is bound)
|
|
2796
|
-
* 3. Slice has arrived (provider has published its first snapshot)
|
|
2797
|
-
*
|
|
2798
|
-
* Optional fourth precondition: a `DeviceFeature` flag advertised on
|
|
2799
|
-
* the device row. Useful for surfaces that only render a control when
|
|
2800
|
-
* the feature is declared (e.g. the on-motion toggle on a switch).
|
|
2801
|
-
*
|
|
2802
|
-
* Caller passes typed accessor callbacks so the cap + slice types
|
|
2803
|
-
* carry through TypeScript without casts:
|
|
2804
|
-
*
|
|
2805
|
-
* const { dev, cap, slice, available } = useDeviceCapability({
|
|
2806
|
-
* trpc, deviceId,
|
|
2807
|
-
* cap: (dev) => dev.switch,
|
|
2808
|
-
* slice: (dev) => dev.state.switch,
|
|
2809
|
-
* requireFeature: 'switch', // optional
|
|
2810
|
-
* deviceFeatures: device.features, // optional, only if feature gate used
|
|
2811
|
-
* })
|
|
2812
|
-
* if (available) await cap.setState({ on: !slice.on })
|
|
2813
|
-
*/
|
|
2814
|
-
|
|
2815
|
-
interface UseDeviceCapabilityOptions<TCap, TSlice> {
|
|
2816
|
-
readonly trpc: UseDeviceProxyTrpc;
|
|
2817
|
-
readonly deviceId: number | null;
|
|
2818
|
-
readonly cap: (dev: DeviceProxy) => TCap | undefined;
|
|
2819
|
-
readonly slice: (dev: DeviceProxy) => SliceHandle<TSlice> | undefined;
|
|
2820
|
-
readonly requireFeature?: string;
|
|
2821
|
-
readonly deviceFeatures?: readonly string[];
|
|
2822
|
-
}
|
|
2823
|
-
interface UseDeviceCapabilityResult<TCap, TSlice> {
|
|
2824
|
-
readonly dev: DeviceProxy | null;
|
|
2825
|
-
readonly cap: TCap | undefined;
|
|
2826
|
-
readonly slice: TSlice | undefined;
|
|
2827
|
-
readonly available: boolean;
|
|
2828
|
-
}
|
|
2829
|
-
declare function useDeviceCapability<TCap, TSlice>(options: UseDeviceCapabilityOptions<TCap, TSlice>): UseDeviceCapabilityResult<TCap, TSlice>;
|
|
2830
|
-
|
|
2831
|
-
interface DeviceSnapshotImage {
|
|
2832
|
-
/** Data-URL for the most recently fetched snapshot, or `null`. */
|
|
2833
|
-
readonly src: string | null;
|
|
2834
|
-
/** True while a fetch is in flight. */
|
|
2835
|
-
readonly loading: boolean;
|
|
2836
|
-
/** Force the next fetch to bypass cache (single use). */
|
|
2837
|
-
readonly refresh: () => void;
|
|
2838
|
-
}
|
|
2839
|
-
declare function useDeviceSnapshotImage(trpc: UseDeviceProxyTrpc, deviceId: number | null): DeviceSnapshotImage;
|
|
2840
|
-
|
|
2841
|
-
/**
|
|
2842
|
-
* Reactive list of devices matching the optional filter set. Returns a
|
|
2843
|
-
* stable array reference between updates so consumers passing it as a
|
|
2844
|
-
* prop don't tear down memoized children.
|
|
2845
|
-
*/
|
|
2846
|
-
declare function useDevices(filters?: DeviceQueryFilters): readonly DeviceProxy[];
|
|
2847
|
-
/**
|
|
2848
|
-
* Single-device variant. Returns `null` until the device is in the
|
|
2849
|
-
* mirror; re-renders when the device is removed (back to `null`) or
|
|
2850
|
-
* added.
|
|
2851
|
-
*/
|
|
2852
|
-
declare function useDevice(deviceId: number | null): DeviceProxy | null;
|
|
2853
|
-
|
|
2854
|
-
/**
|
|
2855
|
-
* useSystemQuery / useSystemMutation — generic escape hatches over the
|
|
2856
|
-
* unified `System` SDK class for tRPC calls that don't (yet) have a
|
|
2857
|
-
* codegen'd named hook.
|
|
2858
|
-
*
|
|
2859
|
-
* Codegen'd hooks (see `../generated/system-hooks.ts`) cover every
|
|
2860
|
-
* `scope: 'system'` capability method automatically; reach for these
|
|
2861
|
-
* helpers when:
|
|
2862
|
-
* 1. The call goes through a core (non-cap) router, or
|
|
2863
|
-
* 2. You want to compose multiple cap calls into a single React
|
|
2864
|
-
* Query bookkeeping unit (single staleTime, single retry policy).
|
|
2865
|
-
*
|
|
2866
|
-
* The query helper takes a `select(system) → () => Promise<T>` factory
|
|
2867
|
-
* so the caller picks any tRPC procedure off the System namespaces.
|
|
2868
|
-
* Inputs are passed via the closure — keeps deps explicit and avoids
|
|
2869
|
-
* the React Query input-as-cache-key magic that surprises new readers.
|
|
2870
|
-
*/
|
|
2871
|
-
|
|
2872
|
-
/**
|
|
2873
|
-
* `select` MUST return a thunk that, when invoked, performs the
|
|
2874
|
-
* request. Two-step factory keeps the query-key + thunk identities
|
|
2875
|
-
* stable between renders: the hook re-creates the thunk on every
|
|
2876
|
-
* render (cheap), but React Query keys off `[queryKey]` only.
|
|
2877
|
-
*/
|
|
2878
|
-
type SystemQuerySelector<TData> = (system: System) => () => Promise<TData>;
|
|
2879
|
-
type SystemMutationSelector<TInput, TData> = (system: System) => (input: TInput) => Promise<TData>;
|
|
2880
|
-
declare function useSystemQuery<TData>(queryKey: QueryKey, select: SystemQuerySelector<TData>, opts?: Omit<UseQueryOptions<TData, Error, TData>, 'queryKey' | 'queryFn'>): UseQueryResult<TData, Error>;
|
|
2881
|
-
declare function useSystemMutation<TInput, TData>(select: SystemMutationSelector<TInput, TData>, opts?: Omit<UseMutationOptions<TData, Error, TInput>, 'mutationFn'>): UseMutationResult<TData, Error, TInput>;
|
|
2882
|
-
|
|
2883
|
-
type LiveEventCallback<TData = unknown> = (event: SystemLiveEvent<TData>) => void;
|
|
2884
|
-
declare function useLiveEvent<TData = unknown>(category: string, cb: LiveEventCallback<TData>): void;
|
|
2885
|
-
|
|
2886
|
-
declare function useEventInvalidation(queryKey: readonly unknown[], categories: readonly string[]): void;
|
|
2887
|
-
|
|
2888
|
-
/**
|
|
2889
|
-
* Shared typed React Query proxy for the backend AppRouter.
|
|
2890
|
-
*
|
|
2891
|
-
* The proxy is exposed on `window.__camstackTrpcReact` so addon-page
|
|
2892
|
-
* bundles (which load AFTER the host admin-ui sets the global) reuse
|
|
2893
|
-
* the host's `createTRPCReact` instance instead of creating a separate
|
|
2894
|
-
* one. Sharing the instance is mandatory because the typed React-Query
|
|
2895
|
-
* hooks read from a Context registered inside the proxy — a duplicate
|
|
2896
|
-
* proxy would have its own Context, miss the host's `<trpc.Provider>`
|
|
2897
|
-
* tree, and crash with "trpc client not found" on first render.
|
|
2898
|
-
*
|
|
2899
|
-
* Boot order:
|
|
2900
|
-
* 1. admin-ui's `main.tsx` is the first script to evaluate this
|
|
2901
|
-
* module, sees `window.__camstackTrpcReact === undefined`,
|
|
2902
|
-
* creates the proxy, stashes it on the window.
|
|
2903
|
-
* 2. Addon bundles are loaded later by `AddonPageLoader` — when
|
|
2904
|
-
* their entrypoint evaluates this same module (resolved through
|
|
2905
|
-
* Vite alias to ui-library/src), the global is already set, so
|
|
2906
|
-
* they pick up the host instance and skip the second create.
|
|
2907
|
-
*/
|
|
2908
|
-
|
|
2909
|
-
type AppTrpcReact = CreateTRPCReact<AppRouter, unknown>;
|
|
2910
|
-
declare global {
|
|
2911
|
-
var __camstackTrpcReact: AppTrpcReact | undefined;
|
|
2912
|
-
}
|
|
2913
|
-
declare const trpc: AppTrpcReact;
|
|
2914
|
-
|
|
2915
|
-
/**
|
|
2916
|
-
* Per-method React-Query hooks for every `scope: 'system'` capability.
|
|
2917
|
-
*
|
|
2918
|
-
* Each hook is a thin pass-through to `trpc.<cap>.<method>.useQuery` /
|
|
2919
|
-
* `.useMutation` / `.useSubscription` so the typed inference + RQ
|
|
2920
|
-
* cache/dedup keep working — the generator only contributes a consistent
|
|
2921
|
-
* name and stable export surface so admin-ui pages can write
|
|
2922
|
-
* `useAddonsList()` instead of `trpc.addons.list.useQuery()`.
|
|
2923
|
-
*
|
|
2924
|
-
* Push-subscription methods (`kind: 'subscription'`) emit a typeof
|
|
2925
|
-
* alias over `useSubscription`, so the call shape is
|
|
2926
|
-
* `useToastOnToast(input, { onData: cb })` — same as the underlying
|
|
2927
|
-
* tRPC hook. The eventBus-backed `useLiveEvent` (see
|
|
2928
|
-
* `../hooks/use-live-event.ts`) covers events that don't ride a tRPC
|
|
2929
|
-
* subscription; the two surfaces coexist by design.
|
|
2930
|
-
*/
|
|
2931
|
-
|
|
2932
|
-
/** Generated alias around `trpc.accessories.getStatus.useQuery`. */
|
|
2933
|
-
declare const useAccessoriesGetStatus: typeof trpc.accessories.getStatus.useQuery;
|
|
2934
|
-
/** Generated alias around `trpc.addonPages.listPages.useQuery`. */
|
|
2935
|
-
declare const useAddonPagesListPages: typeof trpc.addonPages.listPages.useQuery;
|
|
2936
|
-
/** Generated alias around `trpc.addons.list.useQuery`. */
|
|
2937
|
-
declare const useAddonsList: typeof trpc.addons.list.useQuery;
|
|
2938
|
-
/** Generated alias around `trpc.addons.getLogs.useQuery`. */
|
|
2939
|
-
declare const useAddonsGetLogs: typeof trpc.addons.getLogs.useQuery;
|
|
2940
|
-
/** Generated alias around `trpc.addons.listPackages.useQuery`. */
|
|
2941
|
-
declare const useAddonsListPackages: typeof trpc.addons.listPackages.useQuery;
|
|
2942
|
-
/** Generated alias around `trpc.addons.installPackage.useMutation`. */
|
|
2943
|
-
declare const useAddonsInstallPackage: typeof trpc.addons.installPackage.useMutation;
|
|
2944
|
-
/** Generated alias around `trpc.addons.installFromWorkspace.useMutation`. */
|
|
2945
|
-
declare const useAddonsInstallFromWorkspace: typeof trpc.addons.installFromWorkspace.useMutation;
|
|
2946
|
-
/** Generated alias around `trpc.addons.isWorkspaceAvailable.useQuery`. */
|
|
2947
|
-
declare const useAddonsIsWorkspaceAvailable: typeof trpc.addons.isWorkspaceAvailable.useQuery;
|
|
2948
|
-
/** Generated alias around `trpc.addons.listWorkspacePackages.useQuery`. */
|
|
2949
|
-
declare const useAddonsListWorkspacePackages: typeof trpc.addons.listWorkspacePackages.useQuery;
|
|
2950
|
-
/** Generated alias around `trpc.addons.uninstallPackage.useMutation`. */
|
|
2951
|
-
declare const useAddonsUninstallPackage: typeof trpc.addons.uninstallPackage.useMutation;
|
|
2952
|
-
/** Generated alias around `trpc.addons.reloadPackages.useMutation`. */
|
|
2953
|
-
declare const useAddonsReloadPackages: typeof trpc.addons.reloadPackages.useMutation;
|
|
2954
|
-
/** Generated alias around `trpc.addons.searchAvailable.useQuery`. */
|
|
2955
|
-
declare const useAddonsSearchAvailable: typeof trpc.addons.searchAvailable.useQuery;
|
|
2956
|
-
/** Generated alias around `trpc.addons.listUpdates.useQuery`. */
|
|
2957
|
-
declare const useAddonsListUpdates: typeof trpc.addons.listUpdates.useQuery;
|
|
2958
|
-
/** Generated alias around `trpc.addons.updatePackage.useMutation`. */
|
|
2959
|
-
declare const useAddonsUpdatePackage: typeof trpc.addons.updatePackage.useMutation;
|
|
2960
|
-
/** Generated alias around `trpc.addons.forceRefresh.useMutation`. */
|
|
2961
|
-
declare const useAddonsForceRefresh: typeof trpc.addons.forceRefresh.useMutation;
|
|
2962
|
-
/** Generated alias around `trpc.addons.restartServer.useMutation`. */
|
|
2963
|
-
declare const useAddonsRestartServer: typeof trpc.addons.restartServer.useMutation;
|
|
2964
|
-
/** Generated alias around `trpc.addons.getVersions.useQuery`. */
|
|
2965
|
-
declare const useAddonsGetVersions: typeof trpc.addons.getVersions.useQuery;
|
|
2966
|
-
/** Generated alias around `trpc.addons.restartAddon.useMutation`. */
|
|
2967
|
-
declare const useAddonsRestartAddon: typeof trpc.addons.restartAddon.useMutation;
|
|
2968
|
-
/** Generated alias around `trpc.addons.getAutoUpdateSettings.useQuery`. */
|
|
2969
|
-
declare const useAddonsGetAutoUpdateSettings: typeof trpc.addons.getAutoUpdateSettings.useQuery;
|
|
2970
|
-
/** Generated alias around `trpc.addons.setAutoUpdateSettings.useMutation`. */
|
|
2971
|
-
declare const useAddonsSetAutoUpdateSettings: typeof trpc.addons.setAutoUpdateSettings.useMutation;
|
|
2972
|
-
/** Generated alias around `trpc.addons.getAddonAutoUpdate.useQuery`. */
|
|
2973
|
-
declare const useAddonsGetAddonAutoUpdate: typeof trpc.addons.getAddonAutoUpdate.useQuery;
|
|
2974
|
-
/** Generated alias around `trpc.addons.setAddonAutoUpdate.useMutation`. */
|
|
2975
|
-
declare const useAddonsSetAddonAutoUpdate: typeof trpc.addons.setAddonAutoUpdate.useMutation;
|
|
2976
|
-
/** Generated alias around `trpc.addons.applyAutoUpdateToAll.useMutation`. */
|
|
2977
|
-
declare const useAddonsApplyAutoUpdateToAll: typeof trpc.addons.applyAutoUpdateToAll.useMutation;
|
|
2978
|
-
/** Generated alias around `trpc.addons.custom.useMutation`. */
|
|
2979
|
-
declare const useAddonsCustom: typeof trpc.addons.custom.useMutation;
|
|
2980
|
-
/** Generated alias around `trpc.addons.onAddonLogs.useSubscription`. */
|
|
2981
|
-
declare const useAddonsOnAddonLogs: typeof trpc.addons.onAddonLogs.useSubscription;
|
|
2982
|
-
/** Generated alias around `trpc.addonSettings.getGlobalSettings.useQuery`. */
|
|
2983
|
-
declare const useAddonSettingsGetGlobalSettings: typeof trpc.addonSettings.getGlobalSettings.useQuery;
|
|
2984
|
-
/** Generated alias around `trpc.addonSettings.updateGlobalSettings.useMutation`. */
|
|
2985
|
-
declare const useAddonSettingsUpdateGlobalSettings: typeof trpc.addonSettings.updateGlobalSettings.useMutation;
|
|
2986
|
-
/** Generated alias around `trpc.addonSettings.getDeviceSettings.useQuery`. */
|
|
2987
|
-
declare const useAddonSettingsGetDeviceSettings: typeof trpc.addonSettings.getDeviceSettings.useQuery;
|
|
2988
|
-
/** Generated alias around `trpc.addonSettings.updateDeviceSettings.useMutation`. */
|
|
2989
|
-
declare const useAddonSettingsUpdateDeviceSettings: typeof trpc.addonSettings.updateDeviceSettings.useMutation;
|
|
2990
|
-
/** Generated alias around `trpc.addonWidgets.listWidgets.useQuery`. */
|
|
2991
|
-
declare const useAddonWidgetsListWidgets: typeof trpc.addonWidgets.listWidgets.useQuery;
|
|
2992
|
-
/** Generated alias around `trpc.alerts.emit.useMutation`. */
|
|
2993
|
-
declare const useAlertsEmit: typeof trpc.alerts.emit.useMutation;
|
|
2994
|
-
/** Generated alias around `trpc.alerts.update.useMutation`. */
|
|
2995
|
-
declare const useAlertsUpdate: typeof trpc.alerts.update.useMutation;
|
|
2996
|
-
/** Generated alias around `trpc.alerts.list.useQuery`. */
|
|
2997
|
-
declare const useAlertsList: typeof trpc.alerts.list.useQuery;
|
|
2998
|
-
/** Generated alias around `trpc.alerts.getUnreadCount.useQuery`. */
|
|
2999
|
-
declare const useAlertsGetUnreadCount: typeof trpc.alerts.getUnreadCount.useQuery;
|
|
3000
|
-
/** Generated alias around `trpc.alerts.markRead.useMutation`. */
|
|
3001
|
-
declare const useAlertsMarkRead: typeof trpc.alerts.markRead.useMutation;
|
|
3002
|
-
/** Generated alias around `trpc.alerts.markAllRead.useMutation`. */
|
|
3003
|
-
declare const useAlertsMarkAllRead: typeof trpc.alerts.markAllRead.useMutation;
|
|
3004
|
-
/** Generated alias around `trpc.alerts.dismiss.useMutation`. */
|
|
3005
|
-
declare const useAlertsDismiss: typeof trpc.alerts.dismiss.useMutation;
|
|
3006
|
-
/** Generated alias around `trpc.audioAnalysis.resolveDeviceSettings.useQuery`. */
|
|
3007
|
-
declare const useAudioAnalysisResolveDeviceSettings: typeof trpc.audioAnalysis.resolveDeviceSettings.useQuery;
|
|
3008
|
-
/** Generated alias around `trpc.audioAnalysis.getDeviceSettingsContribution.useQuery`. */
|
|
3009
|
-
declare const useAudioAnalysisGetDeviceSettingsContribution: typeof trpc.audioAnalysis.getDeviceSettingsContribution.useQuery;
|
|
3010
|
-
/** Generated alias around `trpc.audioAnalysis.getDeviceLiveContribution.useQuery`. */
|
|
3011
|
-
declare const useAudioAnalysisGetDeviceLiveContribution: typeof trpc.audioAnalysis.getDeviceLiveContribution.useQuery;
|
|
3012
|
-
/** Generated alias around `trpc.audioAnalysis.applyDeviceSettingsPatch.useMutation`. */
|
|
3013
|
-
declare const useAudioAnalysisApplyDeviceSettingsPatch: typeof trpc.audioAnalysis.applyDeviceSettingsPatch.useMutation;
|
|
3014
|
-
/** Generated alias around `trpc.audioAnalyzer.analyseChunk.useMutation`. */
|
|
3015
|
-
declare const useAudioAnalyzerAnalyseChunk: typeof trpc.audioAnalyzer.analyseChunk.useMutation;
|
|
3016
|
-
/** Generated alias around `trpc.audioAnalyzer.classify.useQuery`. */
|
|
3017
|
-
declare const useAudioAnalyzerClassify: typeof trpc.audioAnalyzer.classify.useQuery;
|
|
3018
|
-
/** Generated alias around `trpc.audioAnalyzer.isReady.useQuery`. */
|
|
3019
|
-
declare const useAudioAnalyzerIsReady: typeof trpc.audioAnalyzer.isReady.useQuery;
|
|
3020
|
-
/** Generated alias around `trpc.audioAnalyzer.dispose.useMutation`. */
|
|
3021
|
-
declare const useAudioAnalyzerDispose: typeof trpc.audioAnalyzer.dispose.useMutation;
|
|
3022
|
-
/** Generated alias around `trpc.audioAnalyzer.reprobeAudioEngine.useMutation`. */
|
|
3023
|
-
declare const useAudioAnalyzerReprobeAudioEngine: typeof trpc.audioAnalyzer.reprobeAudioEngine.useMutation;
|
|
3024
|
-
/** Generated alias around `trpc.audioCodec.listSupportedCodecs.useQuery`. */
|
|
3025
|
-
declare const useAudioCodecListSupportedCodecs: typeof trpc.audioCodec.listSupportedCodecs.useQuery;
|
|
3026
|
-
/** Generated alias around `trpc.audioCodec.canHandle.useQuery`. */
|
|
3027
|
-
declare const useAudioCodecCanHandle: typeof trpc.audioCodec.canHandle.useQuery;
|
|
3028
|
-
/** Generated alias around `trpc.audioCodec.createDecodeSession.useMutation`. */
|
|
3029
|
-
declare const useAudioCodecCreateDecodeSession: typeof trpc.audioCodec.createDecodeSession.useMutation;
|
|
3030
|
-
/** Generated alias around `trpc.audioCodec.createEncodeSession.useMutation`. */
|
|
3031
|
-
declare const useAudioCodecCreateEncodeSession: typeof trpc.audioCodec.createEncodeSession.useMutation;
|
|
3032
|
-
/** Generated alias around `trpc.audioCodec.closeSession.useMutation`. */
|
|
3033
|
-
declare const useAudioCodecCloseSession: typeof trpc.audioCodec.closeSession.useMutation;
|
|
3034
|
-
/** Generated alias around `trpc.audioCodec.pushEncodedFrame.useMutation`. */
|
|
3035
|
-
declare const useAudioCodecPushEncodedFrame: typeof trpc.audioCodec.pushEncodedFrame.useMutation;
|
|
3036
|
-
/** Generated alias around `trpc.audioCodec.pullPcm.useQuery`. */
|
|
3037
|
-
declare const useAudioCodecPullPcm: typeof trpc.audioCodec.pullPcm.useQuery;
|
|
3038
|
-
/** Generated alias around `trpc.audioCodec.pushPcm.useMutation`. */
|
|
3039
|
-
declare const useAudioCodecPushPcm: typeof trpc.audioCodec.pushPcm.useMutation;
|
|
3040
|
-
/** Generated alias around `trpc.audioCodec.pullEncoded.useQuery`. */
|
|
3041
|
-
declare const useAudioCodecPullEncoded: typeof trpc.audioCodec.pullEncoded.useQuery;
|
|
3042
|
-
/** Generated alias around `trpc.audioCodec.flushEncode.useMutation`. */
|
|
3043
|
-
declare const useAudioCodecFlushEncode: typeof trpc.audioCodec.flushEncode.useMutation;
|
|
3044
|
-
/** Generated alias around `trpc.audioCodec.listActiveSessions.useQuery`. */
|
|
3045
|
-
declare const useAudioCodecListActiveSessions: typeof trpc.audioCodec.listActiveSessions.useQuery;
|
|
3046
|
-
/** Generated alias around `trpc.audioMetrics.getCurrentSnapshot.useQuery`. */
|
|
3047
|
-
declare const useAudioMetricsGetCurrentSnapshot: typeof trpc.audioMetrics.getCurrentSnapshot.useQuery;
|
|
3048
|
-
/** Generated alias around `trpc.audioMetrics.getHistory.useQuery`. */
|
|
3049
|
-
declare const useAudioMetricsGetHistory: typeof trpc.audioMetrics.getHistory.useQuery;
|
|
3050
|
-
/** Generated alias around `trpc.backup.trigger.useMutation`. */
|
|
3051
|
-
declare const useBackupTrigger: typeof trpc.backup.trigger.useMutation;
|
|
3052
|
-
/** Generated alias around `trpc.backup.list.useQuery`. */
|
|
3053
|
-
declare const useBackupList: typeof trpc.backup.list.useQuery;
|
|
3054
|
-
/** Generated alias around `trpc.backup.restore.useMutation`. */
|
|
3055
|
-
declare const useBackupRestore: typeof trpc.backup.restore.useMutation;
|
|
3056
|
-
/** Generated alias around `trpc.backup.delete.useMutation`. */
|
|
3057
|
-
declare const useBackupDelete: typeof trpc.backup.delete.useMutation;
|
|
3058
|
-
/** Generated alias around `trpc.battery.getStatus.useQuery`. */
|
|
3059
|
-
declare const useBatteryGetStatus: typeof trpc.battery.getStatus.useQuery;
|
|
3060
|
-
/** Generated alias around `trpc.brightness.setBrightness.useMutation`. */
|
|
3061
|
-
declare const useBrightnessSetBrightness: typeof trpc.brightness.setBrightness.useMutation;
|
|
3062
|
-
/** Generated alias around `trpc.brightness.getStatus.useQuery`. */
|
|
3063
|
-
declare const useBrightnessGetStatus: typeof trpc.brightness.getStatus.useQuery;
|
|
3064
|
-
/** Generated alias around `trpc.cameraStreams.getCameraStreams.useQuery`. */
|
|
3065
|
-
declare const useCameraStreamsGetCameraStreams: typeof trpc.cameraStreams.getCameraStreams.useQuery;
|
|
3066
|
-
/** Generated alias around `trpc.cameraStreams.getBrokerStreams.useQuery`. */
|
|
3067
|
-
declare const useCameraStreamsGetBrokerStreams: typeof trpc.cameraStreams.getBrokerStreams.useQuery;
|
|
3068
|
-
/** Generated alias around `trpc.cameraStreams.getRtspEntries.useQuery`. */
|
|
3069
|
-
declare const useCameraStreamsGetRtspEntries: typeof trpc.cameraStreams.getRtspEntries.useQuery;
|
|
3070
|
-
/** Generated alias around `trpc.decoder.supportsCodec.useQuery`. */
|
|
3071
|
-
declare const useDecoderSupportsCodec: typeof trpc.decoder.supportsCodec.useQuery;
|
|
3072
|
-
/** Generated alias around `trpc.decoder.getInfo.useQuery`. */
|
|
3073
|
-
declare const useDecoderGetInfo: typeof trpc.decoder.getInfo.useQuery;
|
|
3074
|
-
/** Generated alias around `trpc.decoder.createSession.useQuery`. */
|
|
3075
|
-
declare const useDecoderCreateSession: typeof trpc.decoder.createSession.useQuery;
|
|
3076
|
-
/** Generated alias around `trpc.decoder.destroySession.useQuery`. */
|
|
3077
|
-
declare const useDecoderDestroySession: typeof trpc.decoder.destroySession.useQuery;
|
|
3078
|
-
/** Generated alias around `trpc.decoder.pushPacket.useQuery`. */
|
|
3079
|
-
declare const useDecoderPushPacket: typeof trpc.decoder.pushPacket.useQuery;
|
|
3080
|
-
/** Generated alias around `trpc.decoder.openStream.useQuery`. */
|
|
3081
|
-
declare const useDecoderOpenStream: typeof trpc.decoder.openStream.useQuery;
|
|
3082
|
-
/** Generated alias around `trpc.decoder.pullFrames.useQuery`. */
|
|
3083
|
-
declare const useDecoderPullFrames: typeof trpc.decoder.pullFrames.useQuery;
|
|
3084
|
-
/** Generated alias around `trpc.decoder.updateConfig.useQuery`. */
|
|
3085
|
-
declare const useDecoderUpdateConfig: typeof trpc.decoder.updateConfig.useQuery;
|
|
3086
|
-
/** Generated alias around `trpc.decoder.getStats.useQuery`. */
|
|
3087
|
-
declare const useDecoderGetStats: typeof trpc.decoder.getStats.useQuery;
|
|
3088
|
-
/** Generated alias around `trpc.decoder.listActiveSessions.useQuery`. */
|
|
3089
|
-
declare const useDecoderListActiveSessions: typeof trpc.decoder.listActiveSessions.useQuery;
|
|
3090
|
-
/** Generated alias around `trpc.decoder.reprobeHwaccel.useMutation`. */
|
|
3091
|
-
declare const useDecoderReprobeHwaccel: typeof trpc.decoder.reprobeHwaccel.useMutation;
|
|
3092
|
-
/** Generated alias around `trpc.detectionPipeline.getDeviceSettingsContribution.useQuery`. */
|
|
3093
|
-
declare const useDetectionPipelineGetDeviceSettingsContribution: typeof trpc.detectionPipeline.getDeviceSettingsContribution.useQuery;
|
|
3094
|
-
/** Generated alias around `trpc.detectionPipeline.getDeviceLiveContribution.useQuery`. */
|
|
3095
|
-
declare const useDetectionPipelineGetDeviceLiveContribution: typeof trpc.detectionPipeline.getDeviceLiveContribution.useQuery;
|
|
3096
|
-
/** Generated alias around `trpc.detectionPipeline.applyDeviceSettingsPatch.useMutation`. */
|
|
3097
|
-
declare const useDetectionPipelineApplyDeviceSettingsPatch: typeof trpc.detectionPipeline.applyDeviceSettingsPatch.useMutation;
|
|
3098
|
-
/** Generated alias around `trpc.deviceDiscovery.listDiscovered.useQuery`. */
|
|
3099
|
-
declare const useDeviceDiscoveryListDiscovered: typeof trpc.deviceDiscovery.listDiscovered.useQuery;
|
|
3100
|
-
/** Generated alias around `trpc.deviceDiscovery.refreshDiscovery.useMutation`. */
|
|
3101
|
-
declare const useDeviceDiscoveryRefreshDiscovery: typeof trpc.deviceDiscovery.refreshDiscovery.useMutation;
|
|
3102
|
-
/** Generated alias around `trpc.deviceDiscovery.adoptDevice.useMutation`. */
|
|
3103
|
-
declare const useDeviceDiscoveryAdoptDevice: typeof trpc.deviceDiscovery.adoptDevice.useMutation;
|
|
3104
|
-
/** Generated alias around `trpc.deviceDiscovery.releaseDevice.useMutation`. */
|
|
3105
|
-
declare const useDeviceDiscoveryReleaseDevice: typeof trpc.deviceDiscovery.releaseDevice.useMutation;
|
|
3106
|
-
/** Generated alias around `trpc.deviceDiscovery.getStatus.useQuery`. */
|
|
3107
|
-
declare const useDeviceDiscoveryGetStatus: typeof trpc.deviceDiscovery.getStatus.useQuery;
|
|
3108
|
-
/** Generated alias around `trpc.deviceManager.allocateDeviceId.useMutation`. */
|
|
3109
|
-
declare const useDeviceManagerAllocateDeviceId: typeof trpc.deviceManager.allocateDeviceId.useMutation;
|
|
3110
|
-
/** Generated alias around `trpc.deviceManager.registerDevice.useMutation`. */
|
|
3111
|
-
declare const useDeviceManagerRegisterDevice: typeof trpc.deviceManager.registerDevice.useMutation;
|
|
3112
|
-
/** Generated alias around `trpc.deviceManager.removeDevice.useMutation`. */
|
|
3113
|
-
declare const useDeviceManagerRemoveDevice: typeof trpc.deviceManager.removeDevice.useMutation;
|
|
3114
|
-
/** Generated alias around `trpc.deviceManager.persistConfig.useMutation`. */
|
|
3115
|
-
declare const useDeviceManagerPersistConfig: typeof trpc.deviceManager.persistConfig.useMutation;
|
|
3116
|
-
/** Generated alias around `trpc.deviceManager.loadConfig.useQuery`. */
|
|
3117
|
-
declare const useDeviceManagerLoadConfig: typeof trpc.deviceManager.loadConfig.useQuery;
|
|
3118
|
-
/** Generated alias around `trpc.deviceManager.loadRuntimeState.useQuery`. */
|
|
3119
|
-
declare const useDeviceManagerLoadRuntimeState: typeof trpc.deviceManager.loadRuntimeState.useQuery;
|
|
3120
|
-
/** Generated alias around `trpc.deviceManager.loadMeta.useQuery`. */
|
|
3121
|
-
declare const useDeviceManagerLoadMeta: typeof trpc.deviceManager.loadMeta.useQuery;
|
|
3122
|
-
/** Generated alias around `trpc.deviceManager.setName.useMutation`. */
|
|
3123
|
-
declare const useDeviceManagerSetName: typeof trpc.deviceManager.setName.useMutation;
|
|
3124
|
-
/** Generated alias around `trpc.deviceManager.setLocation.useMutation`. */
|
|
3125
|
-
declare const useDeviceManagerSetLocation: typeof trpc.deviceManager.setLocation.useMutation;
|
|
3126
|
-
/** Generated alias around `trpc.deviceManager.setMetadata.useMutation`. */
|
|
3127
|
-
declare const useDeviceManagerSetMetadata: typeof trpc.deviceManager.setMetadata.useMutation;
|
|
3128
|
-
/** Generated alias around `trpc.deviceManager.listLocations.useQuery`. */
|
|
3129
|
-
declare const useDeviceManagerListLocations: typeof trpc.deviceManager.listLocations.useQuery;
|
|
3130
|
-
/** Generated alias around `trpc.deviceManager.addLocation.useMutation`. */
|
|
3131
|
-
declare const useDeviceManagerAddLocation: typeof trpc.deviceManager.addLocation.useMutation;
|
|
3132
|
-
/** Generated alias around `trpc.deviceManager.removeLocation.useMutation`. */
|
|
3133
|
-
declare const useDeviceManagerRemoveLocation: typeof trpc.deviceManager.removeLocation.useMutation;
|
|
3134
|
-
/** Generated alias around `trpc.deviceManager.setDisabled.useMutation`. */
|
|
3135
|
-
declare const useDeviceManagerSetDisabled: typeof trpc.deviceManager.setDisabled.useMutation;
|
|
3136
|
-
/** Generated alias around `trpc.deviceManager.listPersistedByAddon.useQuery`. */
|
|
3137
|
-
declare const useDeviceManagerListPersistedByAddon: typeof trpc.deviceManager.listPersistedByAddon.useQuery;
|
|
3138
|
-
/** Generated alias around `trpc.deviceManager.listAll.useQuery`. */
|
|
3139
|
-
declare const useDeviceManagerListAll: typeof trpc.deviceManager.listAll.useQuery;
|
|
3140
|
-
/** Generated alias around `trpc.deviceManager.getDevice.useQuery`. */
|
|
3141
|
-
declare const useDeviceManagerGetDevice: typeof trpc.deviceManager.getDevice.useQuery;
|
|
3142
|
-
/** Generated alias around `trpc.deviceManager.getChildren.useQuery`. */
|
|
3143
|
-
declare const useDeviceManagerGetChildren: typeof trpc.deviceManager.getChildren.useQuery;
|
|
3144
|
-
/** Generated alias around `trpc.deviceManager.getStreamSources.useQuery`. */
|
|
3145
|
-
declare const useDeviceManagerGetStreamSources: typeof trpc.deviceManager.getStreamSources.useQuery;
|
|
3146
|
-
/** Generated alias around `trpc.deviceManager.getConfigSchema.useQuery`. */
|
|
3147
|
-
declare const useDeviceManagerGetConfigSchema: typeof trpc.deviceManager.getConfigSchema.useQuery;
|
|
3148
|
-
/** Generated alias around `trpc.deviceManager.getSettingsSchema.useQuery`. */
|
|
3149
|
-
declare const useDeviceManagerGetSettingsSchema: typeof trpc.deviceManager.getSettingsSchema.useQuery;
|
|
3150
|
-
/** Generated alias around `trpc.deviceManager.updateConfig.useMutation`. */
|
|
3151
|
-
declare const useDeviceManagerUpdateConfig: typeof trpc.deviceManager.updateConfig.useMutation;
|
|
3152
|
-
/** Generated alias around `trpc.deviceManager.enable.useMutation`. */
|
|
3153
|
-
declare const useDeviceManagerEnable: typeof trpc.deviceManager.enable.useMutation;
|
|
3154
|
-
/** Generated alias around `trpc.deviceManager.disable.useMutation`. */
|
|
3155
|
-
declare const useDeviceManagerDisable: typeof trpc.deviceManager.disable.useMutation;
|
|
3156
|
-
/** Generated alias around `trpc.deviceManager.remove.useMutation`. */
|
|
3157
|
-
declare const useDeviceManagerRemove: typeof trpc.deviceManager.remove.useMutation;
|
|
3158
|
-
/** Generated alias around `trpc.deviceManager.getStreamProfileMap.useQuery`. */
|
|
3159
|
-
declare const useDeviceManagerGetStreamProfileMap: typeof trpc.deviceManager.getStreamProfileMap.useQuery;
|
|
3160
|
-
/** Generated alias around `trpc.deviceManager.setStreamProfileMap.useMutation`. */
|
|
3161
|
-
declare const useDeviceManagerSetStreamProfileMap: typeof trpc.deviceManager.setStreamProfileMap.useMutation;
|
|
3162
|
-
/** Generated alias around `trpc.deviceManager.probeStreams.useMutation`. */
|
|
3163
|
-
declare const useDeviceManagerProbeStreams: typeof trpc.deviceManager.probeStreams.useMutation;
|
|
3164
|
-
/** Generated alias around `trpc.deviceManager.getBindings.useQuery`. */
|
|
3165
|
-
declare const useDeviceManagerGetBindings: typeof trpc.deviceManager.getBindings.useQuery;
|
|
3166
|
-
/** Generated alias around `trpc.deviceManager.getAllBindings.useQuery`. */
|
|
3167
|
-
declare const useDeviceManagerGetAllBindings: typeof trpc.deviceManager.getAllBindings.useQuery;
|
|
3168
|
-
/** Generated alias around `trpc.deviceManager.setWrapperActive.useMutation`. */
|
|
3169
|
-
declare const useDeviceManagerSetWrapperActive: typeof trpc.deviceManager.setWrapperActive.useMutation;
|
|
3170
|
-
/** Generated alias around `trpc.deviceManager.listWrappersForCap.useQuery`. */
|
|
3171
|
-
declare const useDeviceManagerListWrappersForCap: typeof trpc.deviceManager.listWrappersForCap.useQuery;
|
|
3172
|
-
/** Generated alias around `trpc.deviceManager.listBindableCapsForDeviceType.useQuery`. */
|
|
3173
|
-
declare const useDeviceManagerListBindableCapsForDeviceType: typeof trpc.deviceManager.listBindableCapsForDeviceType.useQuery;
|
|
3174
|
-
/** Generated alias around `trpc.deviceManager.getDeviceSettingsAggregate.useQuery`. */
|
|
3175
|
-
declare const useDeviceManagerGetDeviceSettingsAggregate: typeof trpc.deviceManager.getDeviceSettingsAggregate.useQuery;
|
|
3176
|
-
/** Generated alias around `trpc.deviceManager.getDeviceLiveInfoAggregate.useQuery`. */
|
|
3177
|
-
declare const useDeviceManagerGetDeviceLiveInfoAggregate: typeof trpc.deviceManager.getDeviceLiveInfoAggregate.useQuery;
|
|
3178
|
-
/** Generated alias around `trpc.deviceManager.getDeviceAggregate.useQuery`. */
|
|
3179
|
-
declare const useDeviceManagerGetDeviceAggregate: typeof trpc.deviceManager.getDeviceAggregate.useQuery;
|
|
3180
|
-
/** Generated alias around `trpc.deviceManager.updateDeviceField.useMutation`. */
|
|
3181
|
-
declare const useDeviceManagerUpdateDeviceField: typeof trpc.deviceManager.updateDeviceField.useMutation;
|
|
3182
|
-
/** Generated alias around `trpc.deviceManager.updateDeviceFieldsBatch.useMutation`. */
|
|
3183
|
-
declare const useDeviceManagerUpdateDeviceFieldsBatch: typeof trpc.deviceManager.updateDeviceFieldsBatch.useMutation;
|
|
3184
|
-
/** Generated alias around `trpc.deviceManager.discoverDevices.useMutation`. */
|
|
3185
|
-
declare const useDeviceManagerDiscoverDevices: typeof trpc.deviceManager.discoverDevices.useMutation;
|
|
3186
|
-
/** Generated alias around `trpc.deviceManager.adoptDevice.useMutation`. */
|
|
3187
|
-
declare const useDeviceManagerAdoptDevice: typeof trpc.deviceManager.adoptDevice.useMutation;
|
|
3188
|
-
/** Generated alias around `trpc.deviceManager.getCreationSchema.useQuery`. */
|
|
3189
|
-
declare const useDeviceManagerGetCreationSchema: typeof trpc.deviceManager.getCreationSchema.useQuery;
|
|
3190
|
-
/** Generated alias around `trpc.deviceManager.createDevice.useMutation`. */
|
|
3191
|
-
declare const useDeviceManagerCreateDevice: typeof trpc.deviceManager.createDevice.useMutation;
|
|
3192
|
-
/** Generated alias around `trpc.deviceManager.testCreationField.useMutation`. */
|
|
3193
|
-
declare const useDeviceManagerTestCreationField: typeof trpc.deviceManager.testCreationField.useMutation;
|
|
3194
|
-
/** Generated alias around `trpc.deviceManager.testField.useMutation`. */
|
|
3195
|
-
declare const useDeviceManagerTestField: typeof trpc.deviceManager.testField.useMutation;
|
|
3196
|
-
/** Generated alias around `trpc.deviceManager.getDeviceStatusAggregate.useQuery`. */
|
|
3197
|
-
declare const useDeviceManagerGetDeviceStatusAggregate: typeof trpc.deviceManager.getDeviceStatusAggregate.useQuery;
|
|
3198
|
-
/** Generated alias around `trpc.deviceOps.getStreamSources.useQuery`. */
|
|
3199
|
-
declare const useDeviceOpsGetStreamSources: typeof trpc.deviceOps.getStreamSources.useQuery;
|
|
3200
|
-
/** Generated alias around `trpc.deviceOps.getConfigEntries.useQuery`. */
|
|
3201
|
-
declare const useDeviceOpsGetConfigEntries: typeof trpc.deviceOps.getConfigEntries.useQuery;
|
|
3202
|
-
/** Generated alias around `trpc.deviceOps.setConfig.useMutation`. */
|
|
3203
|
-
declare const useDeviceOpsSetConfig: typeof trpc.deviceOps.setConfig.useMutation;
|
|
3204
|
-
/** Generated alias around `trpc.deviceOps.removeDevice.useMutation`. */
|
|
3205
|
-
declare const useDeviceOpsRemoveDevice: typeof trpc.deviceOps.removeDevice.useMutation;
|
|
3206
|
-
/** Generated alias around `trpc.deviceOps.getSettingsSchema.useQuery`. */
|
|
3207
|
-
declare const useDeviceOpsGetSettingsSchema: typeof trpc.deviceOps.getSettingsSchema.useQuery;
|
|
3208
|
-
/** Generated alias around `trpc.deviceProvider.start.useMutation`. */
|
|
3209
|
-
declare const useDeviceProviderStart: typeof trpc.deviceProvider.start.useMutation;
|
|
3210
|
-
/** Generated alias around `trpc.deviceProvider.stop.useMutation`. */
|
|
3211
|
-
declare const useDeviceProviderStop: typeof trpc.deviceProvider.stop.useMutation;
|
|
3212
|
-
/** Generated alias around `trpc.deviceProvider.getStatus.useQuery`. */
|
|
3213
|
-
declare const useDeviceProviderGetStatus: typeof trpc.deviceProvider.getStatus.useQuery;
|
|
3214
|
-
/** Generated alias around `trpc.deviceProvider.getDevices.useQuery`. */
|
|
3215
|
-
declare const useDeviceProviderGetDevices: typeof trpc.deviceProvider.getDevices.useQuery;
|
|
3216
|
-
/** Generated alias around `trpc.deviceProvider.supportsDiscovery.useQuery`. */
|
|
3217
|
-
declare const useDeviceProviderSupportsDiscovery: typeof trpc.deviceProvider.supportsDiscovery.useQuery;
|
|
3218
|
-
/** Generated alias around `trpc.deviceProvider.discoverDevices.useMutation`. */
|
|
3219
|
-
declare const useDeviceProviderDiscoverDevices: typeof trpc.deviceProvider.discoverDevices.useMutation;
|
|
3220
|
-
/** Generated alias around `trpc.deviceProvider.adoptDiscoveredDevice.useMutation`. */
|
|
3221
|
-
declare const useDeviceProviderAdoptDiscoveredDevice: typeof trpc.deviceProvider.adoptDiscoveredDevice.useMutation;
|
|
3222
|
-
/** Generated alias around `trpc.deviceProvider.supportsManualCreation.useQuery`. */
|
|
3223
|
-
declare const useDeviceProviderSupportsManualCreation: typeof trpc.deviceProvider.supportsManualCreation.useQuery;
|
|
3224
|
-
/** Generated alias around `trpc.deviceProvider.getChildCreationSchema.useQuery`. */
|
|
3225
|
-
declare const useDeviceProviderGetChildCreationSchema: typeof trpc.deviceProvider.getChildCreationSchema.useQuery;
|
|
3226
|
-
/** Generated alias around `trpc.deviceProvider.createDevice.useMutation`. */
|
|
3227
|
-
declare const useDeviceProviderCreateDevice: typeof trpc.deviceProvider.createDevice.useMutation;
|
|
3228
|
-
/** Generated alias around `trpc.deviceProvider.testCreationField.useMutation`. */
|
|
3229
|
-
declare const useDeviceProviderTestCreationField: typeof trpc.deviceProvider.testCreationField.useMutation;
|
|
3230
|
-
/** Generated alias around `trpc.deviceState.getSnapshot.useQuery`. */
|
|
3231
|
-
declare const useDeviceStateGetSnapshot: typeof trpc.deviceState.getSnapshot.useQuery;
|
|
3232
|
-
/** Generated alias around `trpc.deviceState.getCapSlice.useQuery`. */
|
|
3233
|
-
declare const useDeviceStateGetCapSlice: typeof trpc.deviceState.getCapSlice.useQuery;
|
|
3234
|
-
/** Generated alias around `trpc.deviceState.getAllSnapshots.useQuery`. */
|
|
3235
|
-
declare const useDeviceStateGetAllSnapshots: typeof trpc.deviceState.getAllSnapshots.useQuery;
|
|
3236
|
-
/** Generated alias around `trpc.deviceState.setCapSlice.useMutation`. */
|
|
3237
|
-
declare const useDeviceStateSetCapSlice: typeof trpc.deviceState.setCapSlice.useMutation;
|
|
3238
|
-
/** Generated alias around `trpc.doorbell.getStatus.useQuery`. */
|
|
3239
|
-
declare const useDoorbellGetStatus: typeof trpc.doorbell.getStatus.useQuery;
|
|
3240
|
-
/** Generated alias around `trpc.events.getEvents.useQuery`. */
|
|
3241
|
-
declare const useEventsGetEvents: typeof trpc.events.getEvents.useQuery;
|
|
3242
|
-
/** Generated alias around `trpc.events.getEventThumbnail.useQuery`. */
|
|
3243
|
-
declare const useEventsGetEventThumbnail: typeof trpc.events.getEventThumbnail.useQuery;
|
|
3244
|
-
/** Generated alias around `trpc.events.getEventClipUrl.useQuery`. */
|
|
3245
|
-
declare const useEventsGetEventClipUrl: typeof trpc.events.getEventClipUrl.useQuery;
|
|
3246
|
-
/** Generated alias around `trpc.integrations.list.useQuery`. */
|
|
3247
|
-
declare const useIntegrationsList: typeof trpc.integrations.list.useQuery;
|
|
3248
|
-
/** Generated alias around `trpc.integrations.get.useQuery`. */
|
|
3249
|
-
declare const useIntegrationsGet: typeof trpc.integrations.get.useQuery;
|
|
3250
|
-
/** Generated alias around `trpc.integrations.getByAddonId.useQuery`. */
|
|
3251
|
-
declare const useIntegrationsGetByAddonId: typeof trpc.integrations.getByAddonId.useQuery;
|
|
3252
|
-
/** Generated alias around `trpc.integrations.create.useMutation`. */
|
|
3253
|
-
declare const useIntegrationsCreate: typeof trpc.integrations.create.useMutation;
|
|
3254
|
-
/** Generated alias around `trpc.integrations.update.useMutation`. */
|
|
3255
|
-
declare const useIntegrationsUpdate: typeof trpc.integrations.update.useMutation;
|
|
3256
|
-
/** Generated alias around `trpc.integrations.delete.useMutation`. */
|
|
3257
|
-
declare const useIntegrationsDelete: typeof trpc.integrations.delete.useMutation;
|
|
3258
|
-
/** Generated alias around `trpc.integrations.getSettings.useQuery`. */
|
|
3259
|
-
declare const useIntegrationsGetSettings: typeof trpc.integrations.getSettings.useQuery;
|
|
3260
|
-
/** Generated alias around `trpc.integrations.setSettings.useMutation`. */
|
|
3261
|
-
declare const useIntegrationsSetSettings: typeof trpc.integrations.setSettings.useMutation;
|
|
3262
|
-
/** Generated alias around `trpc.integrations.getAvailableTypes.useQuery`. */
|
|
3263
|
-
declare const useIntegrationsGetAvailableTypes: typeof trpc.integrations.getAvailableTypes.useQuery;
|
|
3264
|
-
/** Generated alias around `trpc.integrations.testConnection.useMutation`. */
|
|
3265
|
-
declare const useIntegrationsTestConnection: typeof trpc.integrations.testConnection.useMutation;
|
|
3266
|
-
/** Generated alias around `trpc.intercom.startSession.useMutation`. */
|
|
3267
|
-
declare const useIntercomStartSession: typeof trpc.intercom.startSession.useMutation;
|
|
3268
|
-
/** Generated alias around `trpc.intercom.handleAnswer.useMutation`. */
|
|
3269
|
-
declare const useIntercomHandleAnswer: typeof trpc.intercom.handleAnswer.useMutation;
|
|
3270
|
-
/** Generated alias around `trpc.intercom.stopSession.useMutation`. */
|
|
3271
|
-
declare const useIntercomStopSession: typeof trpc.intercom.stopSession.useMutation;
|
|
3272
|
-
/** Generated alias around `trpc.intercom.getStatus.useQuery`. */
|
|
3273
|
-
declare const useIntercomGetStatus: typeof trpc.intercom.getStatus.useQuery;
|
|
3274
|
-
/** Generated alias around `trpc.metricsProvider.collectSnapshot.useQuery`. */
|
|
3275
|
-
declare const useMetricsProviderCollectSnapshot: typeof trpc.metricsProvider.collectSnapshot.useQuery;
|
|
3276
|
-
/** Generated alias around `trpc.metricsProvider.getCached.useQuery`. */
|
|
3277
|
-
declare const useMetricsProviderGetCached: typeof trpc.metricsProvider.getCached.useQuery;
|
|
3278
|
-
/** Generated alias around `trpc.metricsProvider.getCurrent.useQuery`. */
|
|
3279
|
-
declare const useMetricsProviderGetCurrent: typeof trpc.metricsProvider.getCurrent.useQuery;
|
|
3280
|
-
/** Generated alias around `trpc.metricsProvider.getDiskSpace.useQuery`. */
|
|
3281
|
-
declare const useMetricsProviderGetDiskSpace: typeof trpc.metricsProvider.getDiskSpace.useQuery;
|
|
3282
|
-
/** Generated alias around `trpc.metricsProvider.getGpuInfo.useQuery`. */
|
|
3283
|
-
declare const useMetricsProviderGetGpuInfo: typeof trpc.metricsProvider.getGpuInfo.useQuery;
|
|
3284
|
-
/** Generated alias around `trpc.metricsProvider.getCpuTemperature.useQuery`. */
|
|
3285
|
-
declare const useMetricsProviderGetCpuTemperature: typeof trpc.metricsProvider.getCpuTemperature.useQuery;
|
|
3286
|
-
/** Generated alias around `trpc.metricsProvider.getProcessStats.useQuery`. */
|
|
3287
|
-
declare const useMetricsProviderGetProcessStats: typeof trpc.metricsProvider.getProcessStats.useQuery;
|
|
3288
|
-
/** Generated alias around `trpc.metricsProvider.listAddonInstances.useQuery`. */
|
|
3289
|
-
declare const useMetricsProviderListAddonInstances: typeof trpc.metricsProvider.listAddonInstances.useQuery;
|
|
3290
|
-
/** Generated alias around `trpc.metricsProvider.getAddonStats.useQuery`. */
|
|
3291
|
-
declare const useMetricsProviderGetAddonStats: typeof trpc.metricsProvider.getAddonStats.useQuery;
|
|
3292
|
-
/** Generated alias around `trpc.metricsProvider.listNodeProcesses.useQuery`. */
|
|
3293
|
-
declare const useMetricsProviderListNodeProcesses: typeof trpc.metricsProvider.listNodeProcesses.useQuery;
|
|
3294
|
-
/** Generated alias around `trpc.metricsProvider.killProcess.useMutation`. */
|
|
3295
|
-
declare const useMetricsProviderKillProcess: typeof trpc.metricsProvider.killProcess.useMutation;
|
|
3296
|
-
/** Generated alias around `trpc.motion.isDetected.useQuery`. */
|
|
3297
|
-
declare const useMotionIsDetected: typeof trpc.motion.isDetected.useQuery;
|
|
3298
|
-
/** Generated alias around `trpc.motion.getStatus.useQuery`. */
|
|
3299
|
-
declare const useMotionGetStatus: typeof trpc.motion.getStatus.useQuery;
|
|
3300
|
-
/** Generated alias around `trpc.motionDetection.analyze.useMutation`. */
|
|
3301
|
-
declare const useMotionDetectionAnalyze: typeof trpc.motionDetection.analyze.useMutation;
|
|
3302
|
-
/** Generated alias around `trpc.motionDetection.removeCamera.useMutation`. */
|
|
3303
|
-
declare const useMotionDetectionRemoveCamera: typeof trpc.motionDetection.removeCamera.useMutation;
|
|
3304
|
-
/** Generated alias around `trpc.motionDetection.reset.useMutation`. */
|
|
3305
|
-
declare const useMotionDetectionReset: typeof trpc.motionDetection.reset.useMutation;
|
|
3306
|
-
/** Generated alias around `trpc.motionDetection.getDeviceSettingsContribution.useQuery`. */
|
|
3307
|
-
declare const useMotionDetectionGetDeviceSettingsContribution: typeof trpc.motionDetection.getDeviceSettingsContribution.useQuery;
|
|
3308
|
-
/** Generated alias around `trpc.motionDetection.getDeviceLiveContribution.useQuery`. */
|
|
3309
|
-
declare const useMotionDetectionGetDeviceLiveContribution: typeof trpc.motionDetection.getDeviceLiveContribution.useQuery;
|
|
3310
|
-
/** Generated alias around `trpc.motionDetection.applyDeviceSettingsPatch.useMutation`. */
|
|
3311
|
-
declare const useMotionDetectionApplyDeviceSettingsPatch: typeof trpc.motionDetection.applyDeviceSettingsPatch.useMutation;
|
|
3312
|
-
/** Generated alias around `trpc.motionTrigger.setMotionTrigger.useMutation`. */
|
|
3313
|
-
declare const useMotionTriggerSetMotionTrigger: typeof trpc.motionTrigger.setMotionTrigger.useMutation;
|
|
3314
|
-
/** Generated alias around `trpc.motionTrigger.getStatus.useQuery`. */
|
|
3315
|
-
declare const useMotionTriggerGetStatus: typeof trpc.motionTrigger.getStatus.useQuery;
|
|
3316
|
-
/** Generated alias around `trpc.nativeObjectDetection.getStatus.useQuery`. */
|
|
3317
|
-
declare const useNativeObjectDetectionGetStatus: typeof trpc.nativeObjectDetection.getStatus.useQuery;
|
|
3318
|
-
/** Generated alias around `trpc.networkQuality.getDeviceStats.useQuery`. */
|
|
3319
|
-
declare const useNetworkQualityGetDeviceStats: typeof trpc.networkQuality.getDeviceStats.useQuery;
|
|
3320
|
-
/** Generated alias around `trpc.networkQuality.getAllStats.useQuery`. */
|
|
3321
|
-
declare const useNetworkQualityGetAllStats: typeof trpc.networkQuality.getAllStats.useQuery;
|
|
3322
|
-
/** Generated alias around `trpc.networkQuality.reportClientStats.useMutation`. */
|
|
3323
|
-
declare const useNetworkQualityReportClientStats: typeof trpc.networkQuality.reportClientStats.useMutation;
|
|
3324
|
-
/** Generated alias around `trpc.nodes.topology.useQuery`. */
|
|
3325
|
-
declare const useNodesTopology: typeof trpc.nodes.topology.useQuery;
|
|
3326
|
-
/** Generated alias around `trpc.nodes.deployAddon.useMutation`. */
|
|
3327
|
-
declare const useNodesDeployAddon: typeof trpc.nodes.deployAddon.useMutation;
|
|
3328
|
-
/** Generated alias around `trpc.nodes.undeployAddon.useMutation`. */
|
|
3329
|
-
declare const useNodesUndeployAddon: typeof trpc.nodes.undeployAddon.useMutation;
|
|
3330
|
-
/** Generated alias around `trpc.nodes.restartAddon.useMutation`. */
|
|
3331
|
-
declare const useNodesRestartAddon: typeof trpc.nodes.restartAddon.useMutation;
|
|
3332
|
-
/** Generated alias around `trpc.nodes.restartProcess.useMutation`. */
|
|
3333
|
-
declare const useNodesRestartProcess: typeof trpc.nodes.restartProcess.useMutation;
|
|
3334
|
-
/** Generated alias around `trpc.nodes.restartNode.useMutation`. */
|
|
3335
|
-
declare const useNodesRestartNode: typeof trpc.nodes.restartNode.useMutation;
|
|
3336
|
-
/** Generated alias around `trpc.nodes.shutdownNode.useMutation`. */
|
|
3337
|
-
declare const useNodesShutdownNode: typeof trpc.nodes.shutdownNode.useMutation;
|
|
3338
|
-
/** Generated alias around `trpc.nodes.renameNode.useMutation`. */
|
|
3339
|
-
declare const useNodesRenameNode: typeof trpc.nodes.renameNode.useMutation;
|
|
3340
|
-
/** Generated alias around `trpc.nodes.clusterAddonStatus.useQuery`. */
|
|
3341
|
-
declare const useNodesClusterAddonStatus: typeof trpc.nodes.clusterAddonStatus.useQuery;
|
|
3342
|
-
/** Generated alias around `trpc.nodes.setProcessLogLevel.useMutation`. */
|
|
3343
|
-
declare const useNodesSetProcessLogLevel: typeof trpc.nodes.setProcessLogLevel.useMutation;
|
|
3344
|
-
/** Generated alias around `trpc.nodes.executeQuery.useMutation`. */
|
|
3345
|
-
declare const useNodesExecuteQuery: typeof trpc.nodes.executeQuery.useMutation;
|
|
3346
|
-
/** Generated alias around `trpc.notificationOutput.send.useMutation`. */
|
|
3347
|
-
declare const useNotificationOutputSend: typeof trpc.notificationOutput.send.useMutation;
|
|
3348
|
-
/** Generated alias around `trpc.notificationOutput.sendTest.useMutation`. */
|
|
3349
|
-
declare const useNotificationOutputSendTest: typeof trpc.notificationOutput.sendTest.useMutation;
|
|
3350
|
-
/** Generated alias around `trpc.osd.setOverlay.useMutation`. */
|
|
3351
|
-
declare const useOsdSetOverlay: typeof trpc.osd.setOverlay.useMutation;
|
|
3352
|
-
/** Generated alias around `trpc.osd.getStatus.useQuery`. */
|
|
3353
|
-
declare const useOsdGetStatus: typeof trpc.osd.getStatus.useQuery;
|
|
3354
|
-
/** Generated alias around `trpc.pipelineAnalytics.getActiveTracks.useQuery`. */
|
|
3355
|
-
declare const usePipelineAnalyticsGetActiveTracks: typeof trpc.pipelineAnalytics.getActiveTracks.useQuery;
|
|
3356
|
-
/** Generated alias around `trpc.pipelineAnalytics.getTrack.useQuery`. */
|
|
3357
|
-
declare const usePipelineAnalyticsGetTrack: typeof trpc.pipelineAnalytics.getTrack.useQuery;
|
|
3358
|
-
/** Generated alias around `trpc.pipelineAnalytics.listTracks.useQuery`. */
|
|
3359
|
-
declare const usePipelineAnalyticsListTracks: typeof trpc.pipelineAnalytics.listTracks.useQuery;
|
|
3360
|
-
/** Generated alias around `trpc.pipelineAnalytics.clearTracks.useMutation`. */
|
|
3361
|
-
declare const usePipelineAnalyticsClearTracks: typeof trpc.pipelineAnalytics.clearTracks.useMutation;
|
|
3362
|
-
/** Generated alias around `trpc.pipelineAnalytics.getMotionEvents.useQuery`. */
|
|
3363
|
-
declare const usePipelineAnalyticsGetMotionEvents: typeof trpc.pipelineAnalytics.getMotionEvents.useQuery;
|
|
3364
|
-
/** Generated alias around `trpc.pipelineAnalytics.getObjectEvents.useQuery`. */
|
|
3365
|
-
declare const usePipelineAnalyticsGetObjectEvents: typeof trpc.pipelineAnalytics.getObjectEvents.useQuery;
|
|
3366
|
-
/** Generated alias around `trpc.pipelineAnalytics.getAudioEvents.useQuery`. */
|
|
3367
|
-
declare const usePipelineAnalyticsGetAudioEvents: typeof trpc.pipelineAnalytics.getAudioEvents.useQuery;
|
|
3368
|
-
/** Generated alias around `trpc.pipelineAnalytics.getEventMedia.useQuery`. */
|
|
3369
|
-
declare const usePipelineAnalyticsGetEventMedia: typeof trpc.pipelineAnalytics.getEventMedia.useQuery;
|
|
3370
|
-
/** Generated alias around `trpc.pipelineAnalytics.getTrackMedia.useQuery`. */
|
|
3371
|
-
declare const usePipelineAnalyticsGetTrackMedia: typeof trpc.pipelineAnalytics.getTrackMedia.useQuery;
|
|
3372
|
-
/** Generated alias around `trpc.pipelineAnalytics.getDeviceSettingsContribution.useQuery`. */
|
|
3373
|
-
declare const usePipelineAnalyticsGetDeviceSettingsContribution: typeof trpc.pipelineAnalytics.getDeviceSettingsContribution.useQuery;
|
|
3374
|
-
/** Generated alias around `trpc.pipelineAnalytics.getDeviceLiveContribution.useQuery`. */
|
|
3375
|
-
declare const usePipelineAnalyticsGetDeviceLiveContribution: typeof trpc.pipelineAnalytics.getDeviceLiveContribution.useQuery;
|
|
3376
|
-
/** Generated alias around `trpc.pipelineAnalytics.applyDeviceSettingsPatch.useMutation`. */
|
|
3377
|
-
declare const usePipelineAnalyticsApplyDeviceSettingsPatch: typeof trpc.pipelineAnalytics.applyDeviceSettingsPatch.useMutation;
|
|
3378
|
-
/** Generated alias around `trpc.pipelineExecutor.getAvailableEngines.useQuery`. */
|
|
3379
|
-
declare const usePipelineExecutorGetAvailableEngines: typeof trpc.pipelineExecutor.getAvailableEngines.useQuery;
|
|
3380
|
-
/** Generated alias around `trpc.pipelineExecutor.getSelectedEngine.useQuery`. */
|
|
3381
|
-
declare const usePipelineExecutorGetSelectedEngine: typeof trpc.pipelineExecutor.getSelectedEngine.useQuery;
|
|
3382
|
-
/** Generated alias around `trpc.pipelineExecutor.getDefaultSteps.useQuery`. */
|
|
3383
|
-
declare const usePipelineExecutorGetDefaultSteps: typeof trpc.pipelineExecutor.getDefaultSteps.useQuery;
|
|
3384
|
-
/** Generated alias around `trpc.pipelineExecutor.reprobeEngine.useMutation`. */
|
|
3385
|
-
declare const usePipelineExecutorReprobeEngine: typeof trpc.pipelineExecutor.reprobeEngine.useMutation;
|
|
3386
|
-
/** Generated alias around `trpc.pipelineExecutor.getVideoPipelineSteps.useQuery`. */
|
|
3387
|
-
declare const usePipelineExecutorGetVideoPipelineSteps: typeof trpc.pipelineExecutor.getVideoPipelineSteps.useQuery;
|
|
3388
|
-
/** Generated alias around `trpc.pipelineExecutor.setVideoPipelineSteps.useMutation`. */
|
|
3389
|
-
declare const usePipelineExecutorSetVideoPipelineSteps: typeof trpc.pipelineExecutor.setVideoPipelineSteps.useMutation;
|
|
3390
|
-
/** Generated alias around `trpc.pipelineExecutor.getSchema.useQuery`. */
|
|
3391
|
-
declare const usePipelineExecutorGetSchema: typeof trpc.pipelineExecutor.getSchema.useQuery;
|
|
3392
|
-
/** Generated alias around `trpc.pipelineExecutor.getGlobalSteps.useQuery`. */
|
|
3393
|
-
declare const usePipelineExecutorGetGlobalSteps: typeof trpc.pipelineExecutor.getGlobalSteps.useQuery;
|
|
3394
|
-
/** Generated alias around `trpc.pipelineExecutor.getGlobalPipelineConfig.useQuery`. */
|
|
3395
|
-
declare const usePipelineExecutorGetGlobalPipelineConfig: typeof trpc.pipelineExecutor.getGlobalPipelineConfig.useQuery;
|
|
3396
|
-
/** Generated alias around `trpc.pipelineExecutor.getOrchestratorConfigSchema.useQuery`. */
|
|
3397
|
-
declare const usePipelineExecutorGetOrchestratorConfigSchema: typeof trpc.pipelineExecutor.getOrchestratorConfigSchema.useQuery;
|
|
3398
|
-
/** Generated alias around `trpc.pipelineExecutor.listTemplates.useQuery`. */
|
|
3399
|
-
declare const usePipelineExecutorListTemplates: typeof trpc.pipelineExecutor.listTemplates.useQuery;
|
|
3400
|
-
/** Generated alias around `trpc.pipelineExecutor.saveTemplate.useMutation`. */
|
|
3401
|
-
declare const usePipelineExecutorSaveTemplate: typeof trpc.pipelineExecutor.saveTemplate.useMutation;
|
|
3402
|
-
/** Generated alias around `trpc.pipelineExecutor.updateTemplate.useMutation`. */
|
|
3403
|
-
declare const usePipelineExecutorUpdateTemplate: typeof trpc.pipelineExecutor.updateTemplate.useMutation;
|
|
3404
|
-
/** Generated alias around `trpc.pipelineExecutor.deleteTemplate.useMutation`. */
|
|
3405
|
-
declare const usePipelineExecutorDeleteTemplate: typeof trpc.pipelineExecutor.deleteTemplate.useMutation;
|
|
3406
|
-
/** Generated alias around `trpc.pipelineExecutor.getCapabilities.useQuery`. */
|
|
3407
|
-
declare const usePipelineExecutorGetCapabilities: typeof trpc.pipelineExecutor.getCapabilities.useQuery;
|
|
3408
|
-
/** Generated alias around `trpc.pipelineExecutor.getAddonModels.useQuery`. */
|
|
3409
|
-
declare const usePipelineExecutorGetAddonModels: typeof trpc.pipelineExecutor.getAddonModels.useQuery;
|
|
3410
|
-
/** Generated alias around `trpc.pipelineExecutor.downloadModel.useMutation`. */
|
|
3411
|
-
declare const usePipelineExecutorDownloadModel: typeof trpc.pipelineExecutor.downloadModel.useMutation;
|
|
3412
|
-
/** Generated alias around `trpc.pipelineExecutor.deleteModel.useMutation`. */
|
|
3413
|
-
declare const usePipelineExecutorDeleteModel: typeof trpc.pipelineExecutor.deleteModel.useMutation;
|
|
3414
|
-
/** Generated alias around `trpc.pipelineExecutor.detect.useQuery`. */
|
|
3415
|
-
declare const usePipelineExecutorDetect: typeof trpc.pipelineExecutor.detect.useQuery;
|
|
3416
|
-
/** Generated alias around `trpc.pipelineExecutor.runPipeline.useMutation`. */
|
|
3417
|
-
declare const usePipelineExecutorRunPipeline: typeof trpc.pipelineExecutor.runPipeline.useMutation;
|
|
3418
|
-
/** Generated alias around `trpc.pipelineExecutor.runPipelineBatch.useMutation`. */
|
|
3419
|
-
declare const usePipelineExecutorRunPipelineBatch: typeof trpc.pipelineExecutor.runPipelineBatch.useMutation;
|
|
3420
|
-
/** Generated alias around `trpc.pipelineExecutor.cacheFrameInPool.useMutation`. */
|
|
3421
|
-
declare const usePipelineExecutorCacheFrameInPool: typeof trpc.pipelineExecutor.cacheFrameInPool.useMutation;
|
|
3422
|
-
/** Generated alias around `trpc.pipelineExecutor.inferCached.useMutation`. */
|
|
3423
|
-
declare const usePipelineExecutorInferCached: typeof trpc.pipelineExecutor.inferCached.useMutation;
|
|
3424
|
-
/** Generated alias around `trpc.pipelineExecutor.uncacheFrame.useMutation`. */
|
|
3425
|
-
declare const usePipelineExecutorUncacheFrame: typeof trpc.pipelineExecutor.uncacheFrame.useMutation;
|
|
3426
|
-
/** Generated alias around `trpc.pipelineExecutor.getEffectiveTuning.useQuery`. */
|
|
3427
|
-
declare const usePipelineExecutorGetEffectiveTuning: typeof trpc.pipelineExecutor.getEffectiveTuning.useQuery;
|
|
3428
|
-
/** Generated alias around `trpc.pipelineExecutor.listLoadedEngines.useQuery`. */
|
|
3429
|
-
declare const usePipelineExecutorListLoadedEngines: typeof trpc.pipelineExecutor.listLoadedEngines.useQuery;
|
|
3430
|
-
/** Generated alias around `trpc.pipelineExecutor.spinEngine.useMutation`. */
|
|
3431
|
-
declare const usePipelineExecutorSpinEngine: typeof trpc.pipelineExecutor.spinEngine.useMutation;
|
|
3432
|
-
/** Generated alias around `trpc.pipelineExecutor.killEngine.useMutation`. */
|
|
3433
|
-
declare const usePipelineExecutorKillEngine: typeof trpc.pipelineExecutor.killEngine.useMutation;
|
|
3434
|
-
/** Generated alias around `trpc.pipelineExecutor.listReferenceImages.useQuery`. */
|
|
3435
|
-
declare const usePipelineExecutorListReferenceImages: typeof trpc.pipelineExecutor.listReferenceImages.useQuery;
|
|
3436
|
-
/** Generated alias around `trpc.pipelineExecutor.getReferenceImage.useQuery`. */
|
|
3437
|
-
declare const usePipelineExecutorGetReferenceImage: typeof trpc.pipelineExecutor.getReferenceImage.useQuery;
|
|
3438
|
-
/** Generated alias around `trpc.pipelineExecutor.getReferenceAudioFiles.useQuery`. */
|
|
3439
|
-
declare const usePipelineExecutorGetReferenceAudioFiles: typeof trpc.pipelineExecutor.getReferenceAudioFiles.useQuery;
|
|
3440
|
-
/** Generated alias around `trpc.pipelineExecutor.getReferenceAudio.useQuery`. */
|
|
3441
|
-
declare const usePipelineExecutorGetReferenceAudio: typeof trpc.pipelineExecutor.getReferenceAudio.useQuery;
|
|
3442
|
-
/** Generated alias around `trpc.pipelineExecutor.getAudioCapabilities.useQuery`. */
|
|
3443
|
-
declare const usePipelineExecutorGetAudioCapabilities: typeof trpc.pipelineExecutor.getAudioCapabilities.useQuery;
|
|
3444
|
-
/** Generated alias around `trpc.pipelineExecutor.runAudioTest.useMutation`. */
|
|
3445
|
-
declare const usePipelineExecutorRunAudioTest: typeof trpc.pipelineExecutor.runAudioTest.useMutation;
|
|
3446
|
-
/** Generated alias around `trpc.pipelineExecutor.getDetectionConfigSchema.useQuery`. */
|
|
3447
|
-
declare const usePipelineExecutorGetDetectionConfigSchema: typeof trpc.pipelineExecutor.getDetectionConfigSchema.useQuery;
|
|
3448
|
-
/** Generated alias around `trpc.pipelineOrchestrator.assignPipeline.useMutation`. */
|
|
3449
|
-
declare const usePipelineOrchestratorAssignPipeline: typeof trpc.pipelineOrchestrator.assignPipeline.useMutation;
|
|
3450
|
-
/** Generated alias around `trpc.pipelineOrchestrator.unassignPipeline.useMutation`. */
|
|
3451
|
-
declare const usePipelineOrchestratorUnassignPipeline: typeof trpc.pipelineOrchestrator.unassignPipeline.useMutation;
|
|
3452
|
-
/** Generated alias around `trpc.pipelineOrchestrator.rebalance.useMutation`. */
|
|
3453
|
-
declare const usePipelineOrchestratorRebalance: typeof trpc.pipelineOrchestrator.rebalance.useMutation;
|
|
3454
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getPipelineAssignments.useQuery`. */
|
|
3455
|
-
declare const usePipelineOrchestratorGetPipelineAssignments: typeof trpc.pipelineOrchestrator.getPipelineAssignments.useQuery;
|
|
3456
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getPipelineAssignment.useQuery`. */
|
|
3457
|
-
declare const usePipelineOrchestratorGetPipelineAssignment: typeof trpc.pipelineOrchestrator.getPipelineAssignment.useQuery;
|
|
3458
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getAgentLoad.useQuery`. */
|
|
3459
|
-
declare const usePipelineOrchestratorGetAgentLoad: typeof trpc.pipelineOrchestrator.getAgentLoad.useQuery;
|
|
3460
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getGlobalMetrics.useQuery`. */
|
|
3461
|
-
declare const usePipelineOrchestratorGetGlobalMetrics: typeof trpc.pipelineOrchestrator.getGlobalMetrics.useQuery;
|
|
3462
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getCameraMetrics.useQuery`. */
|
|
3463
|
-
declare const usePipelineOrchestratorGetCameraMetrics: typeof trpc.pipelineOrchestrator.getCameraMetrics.useQuery;
|
|
3464
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getCapabilityBindings.useQuery`. */
|
|
3465
|
-
declare const usePipelineOrchestratorGetCapabilityBindings: typeof trpc.pipelineOrchestrator.getCapabilityBindings.useQuery;
|
|
3466
|
-
/** Generated alias around `trpc.pipelineOrchestrator.setCapabilityBinding.useMutation`. */
|
|
3467
|
-
declare const usePipelineOrchestratorSetCapabilityBinding: typeof trpc.pipelineOrchestrator.setCapabilityBinding.useMutation;
|
|
3468
|
-
/** Generated alias around `trpc.pipelineOrchestrator.assignDecoder.useMutation`. */
|
|
3469
|
-
declare const usePipelineOrchestratorAssignDecoder: typeof trpc.pipelineOrchestrator.assignDecoder.useMutation;
|
|
3470
|
-
/** Generated alias around `trpc.pipelineOrchestrator.unassignDecoder.useMutation`. */
|
|
3471
|
-
declare const usePipelineOrchestratorUnassignDecoder: typeof trpc.pipelineOrchestrator.unassignDecoder.useMutation;
|
|
3472
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getDecoderAssignments.useQuery`. */
|
|
3473
|
-
declare const usePipelineOrchestratorGetDecoderAssignments: typeof trpc.pipelineOrchestrator.getDecoderAssignments.useQuery;
|
|
3474
|
-
/** Generated alias around `trpc.pipelineOrchestrator.assignAudio.useMutation`. */
|
|
3475
|
-
declare const usePipelineOrchestratorAssignAudio: typeof trpc.pipelineOrchestrator.assignAudio.useMutation;
|
|
3476
|
-
/** Generated alias around `trpc.pipelineOrchestrator.unassignAudio.useMutation`. */
|
|
3477
|
-
declare const usePipelineOrchestratorUnassignAudio: typeof trpc.pipelineOrchestrator.unassignAudio.useMutation;
|
|
3478
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getAudioAssignment.useQuery`. */
|
|
3479
|
-
declare const usePipelineOrchestratorGetAudioAssignment: typeof trpc.pipelineOrchestrator.getAudioAssignment.useQuery;
|
|
3480
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getAudioNodeLoad.useQuery`. */
|
|
3481
|
-
declare const usePipelineOrchestratorGetAudioNodeLoad: typeof trpc.pipelineOrchestrator.getAudioNodeLoad.useQuery;
|
|
3482
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getAudioAssignments.useQuery`. */
|
|
3483
|
-
declare const usePipelineOrchestratorGetAudioAssignments: typeof trpc.pipelineOrchestrator.getAudioAssignments.useQuery;
|
|
3484
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getDecoderAssignment.useQuery`. */
|
|
3485
|
-
declare const usePipelineOrchestratorGetDecoderAssignment: typeof trpc.pipelineOrchestrator.getDecoderAssignment.useQuery;
|
|
3486
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getAgentSettings.useQuery`. */
|
|
3487
|
-
declare const usePipelineOrchestratorGetAgentSettings: typeof trpc.pipelineOrchestrator.getAgentSettings.useQuery;
|
|
3488
|
-
/** Generated alias around `trpc.pipelineOrchestrator.listAgentSettings.useQuery`. */
|
|
3489
|
-
declare const usePipelineOrchestratorListAgentSettings: typeof trpc.pipelineOrchestrator.listAgentSettings.useQuery;
|
|
3490
|
-
/** Generated alias around `trpc.pipelineOrchestrator.setAgentAddonDefaults.useMutation`. */
|
|
3491
|
-
declare const usePipelineOrchestratorSetAgentAddonDefaults: typeof trpc.pipelineOrchestrator.setAgentAddonDefaults.useMutation;
|
|
3492
|
-
/** Generated alias around `trpc.pipelineOrchestrator.removeAgentSettings.useMutation`. */
|
|
3493
|
-
declare const usePipelineOrchestratorRemoveAgentSettings: typeof trpc.pipelineOrchestrator.removeAgentSettings.useMutation;
|
|
3494
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getCameraSettings.useQuery`. */
|
|
3495
|
-
declare const usePipelineOrchestratorGetCameraSettings: typeof trpc.pipelineOrchestrator.getCameraSettings.useQuery;
|
|
3496
|
-
/** Generated alias around `trpc.pipelineOrchestrator.setCameraStepToggle.useMutation`. */
|
|
3497
|
-
declare const usePipelineOrchestratorSetCameraStepToggle: typeof trpc.pipelineOrchestrator.setCameraStepToggle.useMutation;
|
|
3498
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getCameraStepOverrides.useQuery`. */
|
|
3499
|
-
declare const usePipelineOrchestratorGetCameraStepOverrides: typeof trpc.pipelineOrchestrator.getCameraStepOverrides.useQuery;
|
|
3500
|
-
/** Generated alias around `trpc.pipelineOrchestrator.setCameraStepOverride.useMutation`. */
|
|
3501
|
-
declare const usePipelineOrchestratorSetCameraStepOverride: typeof trpc.pipelineOrchestrator.setCameraStepOverride.useMutation;
|
|
3502
|
-
/** Generated alias around `trpc.pipelineOrchestrator.setCameraPipelineForAgent.useMutation`. */
|
|
3503
|
-
declare const usePipelineOrchestratorSetCameraPipelineForAgent: typeof trpc.pipelineOrchestrator.setCameraPipelineForAgent.useMutation;
|
|
3504
|
-
/** Generated alias around `trpc.pipelineOrchestrator.resolvePipeline.useQuery`. */
|
|
3505
|
-
declare const usePipelineOrchestratorResolvePipeline: typeof trpc.pipelineOrchestrator.resolvePipeline.useQuery;
|
|
3506
|
-
/** Generated alias around `trpc.pipelineOrchestrator.listTemplates.useQuery`. */
|
|
3507
|
-
declare const usePipelineOrchestratorListTemplates: typeof trpc.pipelineOrchestrator.listTemplates.useQuery;
|
|
3508
|
-
/** Generated alias around `trpc.pipelineOrchestrator.saveTemplate.useMutation`. */
|
|
3509
|
-
declare const usePipelineOrchestratorSaveTemplate: typeof trpc.pipelineOrchestrator.saveTemplate.useMutation;
|
|
3510
|
-
/** Generated alias around `trpc.pipelineOrchestrator.updateTemplate.useMutation`. */
|
|
3511
|
-
declare const usePipelineOrchestratorUpdateTemplate: typeof trpc.pipelineOrchestrator.updateTemplate.useMutation;
|
|
3512
|
-
/** Generated alias around `trpc.pipelineOrchestrator.deleteTemplate.useMutation`. */
|
|
3513
|
-
declare const usePipelineOrchestratorDeleteTemplate: typeof trpc.pipelineOrchestrator.deleteTemplate.useMutation;
|
|
3514
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getDeviceSettingsContribution.useQuery`. */
|
|
3515
|
-
declare const usePipelineOrchestratorGetDeviceSettingsContribution: typeof trpc.pipelineOrchestrator.getDeviceSettingsContribution.useQuery;
|
|
3516
|
-
/** Generated alias around `trpc.pipelineOrchestrator.getDeviceLiveContribution.useQuery`. */
|
|
3517
|
-
declare const usePipelineOrchestratorGetDeviceLiveContribution: typeof trpc.pipelineOrchestrator.getDeviceLiveContribution.useQuery;
|
|
3518
|
-
/** Generated alias around `trpc.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation`. */
|
|
3519
|
-
declare const usePipelineOrchestratorApplyDeviceSettingsPatch: typeof trpc.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation;
|
|
3520
|
-
/** Generated alias around `trpc.pipelineRunner.attachCamera.useMutation`. */
|
|
3521
|
-
declare const usePipelineRunnerAttachCamera: typeof trpc.pipelineRunner.attachCamera.useMutation;
|
|
3522
|
-
/** Generated alias around `trpc.pipelineRunner.detachCamera.useMutation`. */
|
|
3523
|
-
declare const usePipelineRunnerDetachCamera: typeof trpc.pipelineRunner.detachCamera.useMutation;
|
|
3524
|
-
/** Generated alias around `trpc.pipelineRunner.reportMotion.useMutation`. */
|
|
3525
|
-
declare const usePipelineRunnerReportMotion: typeof trpc.pipelineRunner.reportMotion.useMutation;
|
|
3526
|
-
/** Generated alias around `trpc.pipelineRunner.getLocalLoad.useQuery`. */
|
|
3527
|
-
declare const usePipelineRunnerGetLocalLoad: typeof trpc.pipelineRunner.getLocalLoad.useQuery;
|
|
3528
|
-
/** Generated alias around `trpc.pipelineRunner.getLocalMetrics.useQuery`. */
|
|
3529
|
-
declare const usePipelineRunnerGetLocalMetrics: typeof trpc.pipelineRunner.getLocalMetrics.useQuery;
|
|
3530
|
-
/** Generated alias around `trpc.pipelineRunner.getCameraMetrics.useQuery`. */
|
|
3531
|
-
declare const usePipelineRunnerGetCameraMetrics: typeof trpc.pipelineRunner.getCameraMetrics.useQuery;
|
|
3532
|
-
/** Generated alias around `trpc.pipelineRunner.getAllCameraMetrics.useQuery`. */
|
|
3533
|
-
declare const usePipelineRunnerGetAllCameraMetrics: typeof trpc.pipelineRunner.getAllCameraMetrics.useQuery;
|
|
3534
|
-
/** Generated alias around `trpc.pipelineRunner.getLocalCameras.useQuery`. */
|
|
3535
|
-
declare const usePipelineRunnerGetLocalCameras: typeof trpc.pipelineRunner.getLocalCameras.useQuery;
|
|
3536
|
-
/** Generated alias around `trpc.platformProbe.getCapabilities.useQuery`. */
|
|
3537
|
-
declare const usePlatformProbeGetCapabilities: typeof trpc.platformProbe.getCapabilities.useQuery;
|
|
3538
|
-
/** Generated alias around `trpc.platformProbe.getHardware.useQuery`. */
|
|
3539
|
-
declare const usePlatformProbeGetHardware: typeof trpc.platformProbe.getHardware.useQuery;
|
|
3540
|
-
/** Generated alias around `trpc.platformProbe.resolveInferenceConfig.useQuery`. */
|
|
3541
|
-
declare const usePlatformProbeResolveInferenceConfig: typeof trpc.platformProbe.resolveInferenceConfig.useQuery;
|
|
3542
|
-
/** Generated alias around `trpc.platformProbe.resolveHwAccel.useQuery`. */
|
|
3543
|
-
declare const usePlatformProbeResolveHwAccel: typeof trpc.platformProbe.resolveHwAccel.useQuery;
|
|
3544
|
-
/** Generated alias around `trpc.ptz.move.useMutation`. */
|
|
3545
|
-
declare const usePtzMove: typeof trpc.ptz.move.useMutation;
|
|
3546
|
-
/** Generated alias around `trpc.ptz.continuousMove.useMutation`. */
|
|
3547
|
-
declare const usePtzContinuousMove: typeof trpc.ptz.continuousMove.useMutation;
|
|
3548
|
-
/** Generated alias around `trpc.ptz.stop.useMutation`. */
|
|
3549
|
-
declare const usePtzStop: typeof trpc.ptz.stop.useMutation;
|
|
3550
|
-
/** Generated alias around `trpc.ptz.getPresets.useQuery`. */
|
|
3551
|
-
declare const usePtzGetPresets: typeof trpc.ptz.getPresets.useQuery;
|
|
3552
|
-
/** Generated alias around `trpc.ptz.goToPreset.useMutation`. */
|
|
3553
|
-
declare const usePtzGoToPreset: typeof trpc.ptz.goToPreset.useMutation;
|
|
3554
|
-
/** Generated alias around `trpc.ptz.goHome.useMutation`. */
|
|
3555
|
-
declare const usePtzGoHome: typeof trpc.ptz.goHome.useMutation;
|
|
3556
|
-
/** Generated alias around `trpc.ptz.getPosition.useQuery`. */
|
|
3557
|
-
declare const usePtzGetPosition: typeof trpc.ptz.getPosition.useQuery;
|
|
3558
|
-
/** Generated alias around `trpc.ptz.getStatus.useQuery`. */
|
|
3559
|
-
declare const usePtzGetStatus: typeof trpc.ptz.getStatus.useQuery;
|
|
3560
|
-
/** Generated alias around `trpc.ptzAutotrack.getStatus.useQuery`. */
|
|
3561
|
-
declare const usePtzAutotrackGetStatus: typeof trpc.ptzAutotrack.getStatus.useQuery;
|
|
3562
|
-
/** Generated alias around `trpc.ptzAutotrack.setEnabled.useMutation`. */
|
|
3563
|
-
declare const usePtzAutotrackSetEnabled: typeof trpc.ptzAutotrack.setEnabled.useMutation;
|
|
3564
|
-
/** Generated alias around `trpc.ptzAutotrack.getSettings.useQuery`. */
|
|
3565
|
-
declare const usePtzAutotrackGetSettings: typeof trpc.ptzAutotrack.getSettings.useQuery;
|
|
3566
|
-
/** Generated alias around `trpc.ptzAutotrack.setSettings.useMutation`. */
|
|
3567
|
-
declare const usePtzAutotrackSetSettings: typeof trpc.ptzAutotrack.setSettings.useMutation;
|
|
3568
|
-
/** Generated alias around `trpc.reboot.reboot.useMutation`. */
|
|
3569
|
-
declare const useRebootReboot: typeof trpc.reboot.reboot.useMutation;
|
|
3570
|
-
/** Generated alias around `trpc.recording.getSegments.useQuery`. */
|
|
3571
|
-
declare const useRecordingGetSegments: typeof trpc.recording.getSegments.useQuery;
|
|
3572
|
-
/** Generated alias around `trpc.recording.getPlaybackUrl.useQuery`. */
|
|
3573
|
-
declare const useRecordingGetPlaybackUrl: typeof trpc.recording.getPlaybackUrl.useQuery;
|
|
3574
|
-
/** Generated alias around `trpc.recording.getThumbnailAt.useQuery`. */
|
|
3575
|
-
declare const useRecordingGetThumbnailAt: typeof trpc.recording.getThumbnailAt.useQuery;
|
|
3576
|
-
/** Generated alias around `trpc.recordingEngine.getStatus.useQuery`. */
|
|
3577
|
-
declare const useRecordingEngineGetStatus: typeof trpc.recordingEngine.getStatus.useQuery;
|
|
3578
|
-
/** Generated alias around `trpc.recordingEngine.enable.useMutation`. */
|
|
3579
|
-
declare const useRecordingEngineEnable: typeof trpc.recordingEngine.enable.useMutation;
|
|
3580
|
-
/** Generated alias around `trpc.recordingEngine.disable.useMutation`. */
|
|
3581
|
-
declare const useRecordingEngineDisable: typeof trpc.recordingEngine.disable.useMutation;
|
|
3582
|
-
/** Generated alias around `trpc.recordingEngine.getConfig.useQuery`. */
|
|
3583
|
-
declare const useRecordingEngineGetConfig: typeof trpc.recordingEngine.getConfig.useQuery;
|
|
3584
|
-
/** Generated alias around `trpc.recordingEngine.updateConfig.useMutation`. */
|
|
3585
|
-
declare const useRecordingEngineUpdateConfig: typeof trpc.recordingEngine.updateConfig.useMutation;
|
|
3586
|
-
/** Generated alias around `trpc.recordingEngine.getPlaylist.useQuery`. */
|
|
3587
|
-
declare const useRecordingEngineGetPlaylist: typeof trpc.recordingEngine.getPlaylist.useQuery;
|
|
3588
|
-
/** Generated alias around `trpc.recordingEngine.getThumbnail.useQuery`. */
|
|
3589
|
-
declare const useRecordingEngineGetThumbnail: typeof trpc.recordingEngine.getThumbnail.useQuery;
|
|
3590
|
-
/** Generated alias around `trpc.recordingEngine.getSegments.useQuery`. */
|
|
3591
|
-
declare const useRecordingEngineGetSegments: typeof trpc.recordingEngine.getSegments.useQuery;
|
|
3592
|
-
/** Generated alias around `trpc.recordingEngine.getAvailability.useQuery`. */
|
|
3593
|
-
declare const useRecordingEngineGetAvailability: typeof trpc.recordingEngine.getAvailability.useQuery;
|
|
3594
|
-
/** Generated alias around `trpc.recordingEngine.estimateStorage.useQuery`. */
|
|
3595
|
-
declare const useRecordingEngineEstimateStorage: typeof trpc.recordingEngine.estimateStorage.useQuery;
|
|
3596
|
-
/** Generated alias around `trpc.recordingEngine.estimateGlobalStorage.useQuery`. */
|
|
3597
|
-
declare const useRecordingEngineEstimateGlobalStorage: typeof trpc.recordingEngine.estimateGlobalStorage.useQuery;
|
|
3598
|
-
/** Generated alias around `trpc.recordingEngine.getStorageUsage.useQuery`. */
|
|
3599
|
-
declare const useRecordingEngineGetStorageUsage: typeof trpc.recordingEngine.getStorageUsage.useQuery;
|
|
3600
|
-
/** Generated alias around `trpc.recordingEngine.setPolicy.useMutation`. */
|
|
3601
|
-
declare const useRecordingEngineSetPolicy: typeof trpc.recordingEngine.setPolicy.useMutation;
|
|
3602
|
-
/** Generated alias around `trpc.recordingEngine.getPolicy.useQuery`. */
|
|
3603
|
-
declare const useRecordingEngineGetPolicy: typeof trpc.recordingEngine.getPolicy.useQuery;
|
|
3604
|
-
/** Generated alias around `trpc.recordingEngine.getPolicyStatus.useQuery`. */
|
|
3605
|
-
declare const useRecordingEngineGetPolicyStatus: typeof trpc.recordingEngine.getPolicyStatus.useQuery;
|
|
3606
|
-
/** Generated alias around `trpc.recordingEngine.getRetentionConfig.useQuery`. */
|
|
3607
|
-
declare const useRecordingEngineGetRetentionConfig: typeof trpc.recordingEngine.getRetentionConfig.useQuery;
|
|
3608
|
-
/** Generated alias around `trpc.recordingEngine.updateRetentionConfig.useMutation`. */
|
|
3609
|
-
declare const useRecordingEngineUpdateRetentionConfig: typeof trpc.recordingEngine.updateRetentionConfig.useMutation;
|
|
3610
|
-
/** Generated alias around `trpc.recordingEngine.getMotionStats.useQuery`. */
|
|
3611
|
-
declare const useRecordingEngineGetMotionStats: typeof trpc.recordingEngine.getMotionStats.useQuery;
|
|
3612
|
-
/** Generated alias around `trpc.settingsStore.get.useQuery`. */
|
|
3613
|
-
declare const useSettingsStoreGet: typeof trpc.settingsStore.get.useQuery;
|
|
3614
|
-
/** Generated alias around `trpc.settingsStore.set.useMutation`. */
|
|
3615
|
-
declare const useSettingsStoreSet: typeof trpc.settingsStore.set.useMutation;
|
|
3616
|
-
/** Generated alias around `trpc.settingsStore.query.useQuery`. */
|
|
3617
|
-
declare const useSettingsStoreQuery: typeof trpc.settingsStore.query.useQuery;
|
|
3618
|
-
/** Generated alias around `trpc.settingsStore.insert.useMutation`. */
|
|
3619
|
-
declare const useSettingsStoreInsert: typeof trpc.settingsStore.insert.useMutation;
|
|
3620
|
-
/** Generated alias around `trpc.settingsStore.update.useMutation`. */
|
|
3621
|
-
declare const useSettingsStoreUpdate: typeof trpc.settingsStore.update.useMutation;
|
|
3622
|
-
/** Generated alias around `trpc.settingsStore.delete.useMutation`. */
|
|
3623
|
-
declare const useSettingsStoreDelete: typeof trpc.settingsStore.delete.useMutation;
|
|
3624
|
-
/** Generated alias around `trpc.settingsStore.count.useQuery`. */
|
|
3625
|
-
declare const useSettingsStoreCount: typeof trpc.settingsStore.count.useQuery;
|
|
3626
|
-
/** Generated alias around `trpc.settingsStore.isEmpty.useQuery`. */
|
|
3627
|
-
declare const useSettingsStoreIsEmpty: typeof trpc.settingsStore.isEmpty.useQuery;
|
|
3628
|
-
/** Generated alias around `trpc.settingsStore.declareCollection.useMutation`. */
|
|
3629
|
-
declare const useSettingsStoreDeclareCollection: typeof trpc.settingsStore.declareCollection.useMutation;
|
|
3630
|
-
/** Generated alias around `trpc.snapshot.getSnapshot.useQuery`. */
|
|
3631
|
-
declare const useSnapshotGetSnapshot: typeof trpc.snapshot.getSnapshot.useQuery;
|
|
3632
|
-
/** Generated alias around `trpc.snapshot.invalidateCache.useMutation`. */
|
|
3633
|
-
declare const useSnapshotInvalidateCache: typeof trpc.snapshot.invalidateCache.useMutation;
|
|
3634
|
-
/** Generated alias around `trpc.snapshot.getStatus.useQuery`. */
|
|
3635
|
-
declare const useSnapshotGetStatus: typeof trpc.snapshot.getStatus.useQuery;
|
|
3636
|
-
/** Generated alias around `trpc.snapshot.getDeviceSettingsContribution.useQuery`. */
|
|
3637
|
-
declare const useSnapshotGetDeviceSettingsContribution: typeof trpc.snapshot.getDeviceSettingsContribution.useQuery;
|
|
3638
|
-
/** Generated alias around `trpc.snapshot.getDeviceLiveContribution.useQuery`. */
|
|
3639
|
-
declare const useSnapshotGetDeviceLiveContribution: typeof trpc.snapshot.getDeviceLiveContribution.useQuery;
|
|
3640
|
-
/** Generated alias around `trpc.snapshot.applyDeviceSettingsPatch.useMutation`. */
|
|
3641
|
-
declare const useSnapshotApplyDeviceSettingsPatch: typeof trpc.snapshot.applyDeviceSettingsPatch.useMutation;
|
|
3642
|
-
/** Generated alias around `trpc.snapshotProvider.supportsDevice.useQuery`. */
|
|
3643
|
-
declare const useSnapshotProviderSupportsDevice: typeof trpc.snapshotProvider.supportsDevice.useQuery;
|
|
3644
|
-
/** Generated alias around `trpc.snapshotProvider.getSnapshot.useQuery`. */
|
|
3645
|
-
declare const useSnapshotProviderGetSnapshot: typeof trpc.snapshotProvider.getSnapshot.useQuery;
|
|
3646
|
-
/** Generated alias around `trpc.storage.resolve.useQuery`. */
|
|
3647
|
-
declare const useStorageResolve: typeof trpc.storage.resolve.useQuery;
|
|
3648
|
-
/** Generated alias around `trpc.storage.write.useMutation`. */
|
|
3649
|
-
declare const useStorageWrite: typeof trpc.storage.write.useMutation;
|
|
3650
|
-
/** Generated alias around `trpc.storage.read.useQuery`. */
|
|
3651
|
-
declare const useStorageRead: typeof trpc.storage.read.useQuery;
|
|
3652
|
-
/** Generated alias around `trpc.storage.exists.useQuery`. */
|
|
3653
|
-
declare const useStorageExists: typeof trpc.storage.exists.useQuery;
|
|
3654
|
-
/** Generated alias around `trpc.storage.list.useQuery`. */
|
|
3655
|
-
declare const useStorageList: typeof trpc.storage.list.useQuery;
|
|
3656
|
-
/** Generated alias around `trpc.storage.delete.useMutation`. */
|
|
3657
|
-
declare const useStorageDelete: typeof trpc.storage.delete.useMutation;
|
|
3658
|
-
/** Generated alias around `trpc.storage.getAvailableSpace.useQuery`. */
|
|
3659
|
-
declare const useStorageGetAvailableSpace: typeof trpc.storage.getAvailableSpace.useQuery;
|
|
3660
|
-
/** Generated alias around `trpc.streamBroker.publishCameraStream.useMutation`. */
|
|
3661
|
-
declare const useStreamBrokerPublishCameraStream: typeof trpc.streamBroker.publishCameraStream.useMutation;
|
|
3662
|
-
/** Generated alias around `trpc.streamBroker.retractCameraStream.useMutation`. */
|
|
3663
|
-
declare const useStreamBrokerRetractCameraStream: typeof trpc.streamBroker.retractCameraStream.useMutation;
|
|
3664
|
-
/** Generated alias around `trpc.streamBroker.assignProfile.useMutation`. */
|
|
3665
|
-
declare const useStreamBrokerAssignProfile: typeof trpc.streamBroker.assignProfile.useMutation;
|
|
3666
|
-
/** Generated alias around `trpc.streamBroker.unassignProfile.useMutation`. */
|
|
3667
|
-
declare const useStreamBrokerUnassignProfile: typeof trpc.streamBroker.unassignProfile.useMutation;
|
|
3668
|
-
/** Generated alias around `trpc.streamBroker.listAllCameraStreams.useQuery`. */
|
|
3669
|
-
declare const useStreamBrokerListAllCameraStreams: typeof trpc.streamBroker.listAllCameraStreams.useQuery;
|
|
3670
|
-
/** Generated alias around `trpc.streamBroker.listAllProfileSlots.useQuery`. */
|
|
3671
|
-
declare const useStreamBrokerListAllProfileSlots: typeof trpc.streamBroker.listAllProfileSlots.useQuery;
|
|
3672
|
-
/** Generated alias around `trpc.streamBroker.getBrokerStats.useQuery`. */
|
|
3673
|
-
declare const useStreamBrokerGetBrokerStats: typeof trpc.streamBroker.getBrokerStats.useQuery;
|
|
3674
|
-
/** Generated alias around `trpc.streamBroker.listClients.useQuery`. */
|
|
3675
|
-
declare const useStreamBrokerListClients: typeof trpc.streamBroker.listClients.useQuery;
|
|
3676
|
-
/** Generated alias around `trpc.streamBroker.killClient.useMutation`. */
|
|
3677
|
-
declare const useStreamBrokerKillClient: typeof trpc.streamBroker.killClient.useMutation;
|
|
3678
|
-
/** Generated alias around `trpc.streamBroker.restartProfile.useMutation`. */
|
|
3679
|
-
declare const useStreamBrokerRestartProfile: typeof trpc.streamBroker.restartProfile.useMutation;
|
|
3680
|
-
/** Generated alias around `trpc.streamBroker.getStreamUrl.useQuery`. */
|
|
3681
|
-
declare const useStreamBrokerGetStreamUrl: typeof trpc.streamBroker.getStreamUrl.useQuery;
|
|
3682
|
-
/** Generated alias around `trpc.streamBroker.getBroker.useQuery`. */
|
|
3683
|
-
declare const useStreamBrokerGetBroker: typeof trpc.streamBroker.getBroker.useQuery;
|
|
3684
|
-
/** Generated alias around `trpc.streamBroker.setPreBufferDuration.useMutation`. */
|
|
3685
|
-
declare const useStreamBrokerSetPreBufferDuration: typeof trpc.streamBroker.setPreBufferDuration.useMutation;
|
|
3686
|
-
/** Generated alias around `trpc.streamBroker.getPreBufferInfo.useQuery`. */
|
|
3687
|
-
declare const useStreamBrokerGetPreBufferInfo: typeof trpc.streamBroker.getPreBufferInfo.useQuery;
|
|
3688
|
-
/** Generated alias around `trpc.streamBroker.getRtspPort.useQuery`. */
|
|
3689
|
-
declare const useStreamBrokerGetRtspPort: typeof trpc.streamBroker.getRtspPort.useQuery;
|
|
3690
|
-
/** Generated alias around `trpc.streamBroker.getAllRtspEntries.useQuery`. */
|
|
3691
|
-
declare const useStreamBrokerGetAllRtspEntries: typeof trpc.streamBroker.getAllRtspEntries.useQuery;
|
|
3692
|
-
/** Generated alias around `trpc.streamBroker.getRtspEntry.useQuery`. */
|
|
3693
|
-
declare const useStreamBrokerGetRtspEntry: typeof trpc.streamBroker.getRtspEntry.useQuery;
|
|
3694
|
-
/** Generated alias around `trpc.streamBroker.regenerateRtspToken.useMutation`. */
|
|
3695
|
-
declare const useStreamBrokerRegenerateRtspToken: typeof trpc.streamBroker.regenerateRtspToken.useMutation;
|
|
3696
|
-
/** Generated alias around `trpc.streamBroker.setRtspEnabled.useMutation`. */
|
|
3697
|
-
declare const useStreamBrokerSetRtspEnabled: typeof trpc.streamBroker.setRtspEnabled.useMutation;
|
|
3698
|
-
/** Generated alias around `trpc.streamBroker.isRtspEnabled.useQuery`. */
|
|
3699
|
-
declare const useStreamBrokerIsRtspEnabled: typeof trpc.streamBroker.isRtspEnabled.useQuery;
|
|
3700
|
-
/** Generated alias around `trpc.streamBroker.getDeviceSettingsContribution.useQuery`. */
|
|
3701
|
-
declare const useStreamBrokerGetDeviceSettingsContribution: typeof trpc.streamBroker.getDeviceSettingsContribution.useQuery;
|
|
3702
|
-
/** Generated alias around `trpc.streamBroker.getDeviceLiveContribution.useQuery`. */
|
|
3703
|
-
declare const useStreamBrokerGetDeviceLiveContribution: typeof trpc.streamBroker.getDeviceLiveContribution.useQuery;
|
|
3704
|
-
/** Generated alias around `trpc.streamBroker.applyDeviceSettingsPatch.useMutation`. */
|
|
3705
|
-
declare const useStreamBrokerApplyDeviceSettingsPatch: typeof trpc.streamBroker.applyDeviceSettingsPatch.useMutation;
|
|
3706
|
-
/** Generated alias around `trpc.switch.setState.useMutation`. */
|
|
3707
|
-
declare const useSwitchSetState: typeof trpc.switch.setState.useMutation;
|
|
3708
|
-
/** Generated alias around `trpc.switch.getStatus.useQuery`. */
|
|
3709
|
-
declare const useSwitchGetStatus: typeof trpc.switch.getStatus.useQuery;
|
|
3710
|
-
/** Generated alias around `trpc.system.info.useQuery`. */
|
|
3711
|
-
declare const useSystemInfo: typeof trpc.system.info.useQuery;
|
|
3712
|
-
/** Generated alias around `trpc.system.health.useQuery`. */
|
|
3713
|
-
declare const useSystemHealth: typeof trpc.system.health.useQuery;
|
|
3714
|
-
/** Generated alias around `trpc.system.featureFlags.useQuery`. */
|
|
3715
|
-
declare const useSystemFeatureFlags: typeof trpc.system.featureFlags.useQuery;
|
|
3716
|
-
/** Generated alias around `trpc.system.networkAddresses.useQuery`. */
|
|
3717
|
-
declare const useSystemNetworkAddresses: typeof trpc.system.networkAddresses.useQuery;
|
|
3718
|
-
/** Generated alias around `trpc.system.getRetentionConfig.useQuery`. */
|
|
3719
|
-
declare const useSystemGetRetentionConfig: typeof trpc.system.getRetentionConfig.useQuery;
|
|
3720
|
-
/** Generated alias around `trpc.system.setRetentionConfig.useMutation`. */
|
|
3721
|
-
declare const useSystemSetRetentionConfig: typeof trpc.system.setRetentionConfig.useMutation;
|
|
3722
|
-
/** Generated alias around `trpc.system.forceRetentionCleanup.useMutation`. */
|
|
3723
|
-
declare const useSystemForceRetentionCleanup: typeof trpc.system.forceRetentionCleanup.useMutation;
|
|
3724
|
-
/** Generated alias around `trpc.toast.onToast.useSubscription`. */
|
|
3725
|
-
declare const useToastOnToast: typeof trpc.toast.onToast.useSubscription;
|
|
3726
|
-
/** Generated alias around `trpc.turnProvider.getTurnServers.useQuery`. */
|
|
3727
|
-
declare const useTurnProviderGetTurnServers: typeof trpc.turnProvider.getTurnServers.useQuery;
|
|
3728
|
-
/** Generated alias around `trpc.userManagement.listUsers.useQuery`. */
|
|
3729
|
-
declare const useUserManagementListUsers: typeof trpc.userManagement.listUsers.useQuery;
|
|
3730
|
-
/** Generated alias around `trpc.userManagement.createUser.useMutation`. */
|
|
3731
|
-
declare const useUserManagementCreateUser: typeof trpc.userManagement.createUser.useMutation;
|
|
3732
|
-
/** Generated alias around `trpc.userManagement.updateUser.useMutation`. */
|
|
3733
|
-
declare const useUserManagementUpdateUser: typeof trpc.userManagement.updateUser.useMutation;
|
|
3734
|
-
/** Generated alias around `trpc.userManagement.deleteUser.useMutation`. */
|
|
3735
|
-
declare const useUserManagementDeleteUser: typeof trpc.userManagement.deleteUser.useMutation;
|
|
3736
|
-
/** Generated alias around `trpc.userManagement.resetPassword.useMutation`. */
|
|
3737
|
-
declare const useUserManagementResetPassword: typeof trpc.userManagement.resetPassword.useMutation;
|
|
3738
|
-
/** Generated alias around `trpc.userManagement.validateCredentials.useMutation`. */
|
|
3739
|
-
declare const useUserManagementValidateCredentials: typeof trpc.userManagement.validateCredentials.useMutation;
|
|
3740
|
-
/** Generated alias around `trpc.userManagement.listApiKeys.useQuery`. */
|
|
3741
|
-
declare const useUserManagementListApiKeys: typeof trpc.userManagement.listApiKeys.useQuery;
|
|
3742
|
-
/** Generated alias around `trpc.userManagement.createApiKey.useMutation`. */
|
|
3743
|
-
declare const useUserManagementCreateApiKey: typeof trpc.userManagement.createApiKey.useMutation;
|
|
3744
|
-
/** Generated alias around `trpc.userManagement.revokeApiKey.useMutation`. */
|
|
3745
|
-
declare const useUserManagementRevokeApiKey: typeof trpc.userManagement.revokeApiKey.useMutation;
|
|
3746
|
-
/** Generated alias around `trpc.userManagement.validateApiKey.useMutation`. */
|
|
3747
|
-
declare const useUserManagementValidateApiKey: typeof trpc.userManagement.validateApiKey.useMutation;
|
|
3748
|
-
/** Generated alias around `trpc.userManagement.createScopedToken.useMutation`. */
|
|
3749
|
-
declare const useUserManagementCreateScopedToken: typeof trpc.userManagement.createScopedToken.useMutation;
|
|
3750
|
-
/** Generated alias around `trpc.userManagement.revokeScopedToken.useMutation`. */
|
|
3751
|
-
declare const useUserManagementRevokeScopedToken: typeof trpc.userManagement.revokeScopedToken.useMutation;
|
|
3752
|
-
/** Generated alias around `trpc.userManagement.validateScopedToken.useQuery`. */
|
|
3753
|
-
declare const useUserManagementValidateScopedToken: typeof trpc.userManagement.validateScopedToken.useQuery;
|
|
3754
|
-
/** Generated alias around `trpc.userManagement.listScopedTokens.useQuery`. */
|
|
3755
|
-
declare const useUserManagementListScopedTokens: typeof trpc.userManagement.listScopedTokens.useQuery;
|
|
3756
|
-
/** Generated alias around `trpc.webrtcSession.listStreams.useQuery`. */
|
|
3757
|
-
declare const useWebrtcSessionListStreams: typeof trpc.webrtcSession.listStreams.useQuery;
|
|
3758
|
-
/** Generated alias around `trpc.webrtcSession.createSession.useMutation`. */
|
|
3759
|
-
declare const useWebrtcSessionCreateSession: typeof trpc.webrtcSession.createSession.useMutation;
|
|
3760
|
-
/** Generated alias around `trpc.webrtcSession.handleAnswer.useMutation`. */
|
|
3761
|
-
declare const useWebrtcSessionHandleAnswer: typeof trpc.webrtcSession.handleAnswer.useMutation;
|
|
3762
|
-
/** Generated alias around `trpc.webrtcSession.closeSession.useMutation`. */
|
|
3763
|
-
declare const useWebrtcSessionCloseSession: typeof trpc.webrtcSession.closeSession.useMutation;
|
|
3764
|
-
/** Generated alias around `trpc.webrtcSession.hasAdaptiveBitrate.useQuery`. */
|
|
3765
|
-
declare const useWebrtcSessionHasAdaptiveBitrate: typeof trpc.webrtcSession.hasAdaptiveBitrate.useQuery;
|
|
3766
|
-
/** Generated alias around `trpc.zoneAnalytics.getCurrentSnapshot.useQuery`. */
|
|
3767
|
-
declare const useZoneAnalyticsGetCurrentSnapshot: typeof trpc.zoneAnalytics.getCurrentSnapshot.useQuery;
|
|
3768
|
-
/** Generated alias around `trpc.zoneAnalytics.getZoneHistory.useQuery`. */
|
|
3769
|
-
declare const useZoneAnalyticsGetZoneHistory: typeof trpc.zoneAnalytics.getZoneHistory.useQuery;
|
|
3770
|
-
/** Generated alias around `trpc.zoneAnalytics.getCameraHistory.useQuery`. */
|
|
3771
|
-
declare const useZoneAnalyticsGetCameraHistory: typeof trpc.zoneAnalytics.getCameraHistory.useQuery;
|
|
3772
|
-
/** Generated alias around `trpc.zoneAnalytics.getUnzonedHistory.useQuery`. */
|
|
3773
|
-
declare const useZoneAnalyticsGetUnzonedHistory: typeof trpc.zoneAnalytics.getUnzonedHistory.useQuery;
|
|
3774
|
-
/** Generated alias around `trpc.zoneRules.listRules.useQuery`. */
|
|
3775
|
-
declare const useZoneRulesListRules: typeof trpc.zoneRules.listRules.useQuery;
|
|
3776
|
-
/** Generated alias around `trpc.zoneRules.setRules.useMutation`. */
|
|
3777
|
-
declare const useZoneRulesSetRules: typeof trpc.zoneRules.setRules.useMutation;
|
|
3778
|
-
/** Generated alias around `trpc.zones.listZones.useQuery`. */
|
|
3779
|
-
declare const useZonesListZones: typeof trpc.zones.listZones.useQuery;
|
|
3780
|
-
/** Generated alias around `trpc.zones.addZone.useMutation`. */
|
|
3781
|
-
declare const useZonesAddZone: typeof trpc.zones.addZone.useMutation;
|
|
3782
|
-
/** Generated alias around `trpc.zones.removeZone.useMutation`. */
|
|
3783
|
-
declare const useZonesRemoveZone: typeof trpc.zones.removeZone.useMutation;
|
|
3784
|
-
/** Generated alias around `trpc.zones.updateZone.useMutation`. */
|
|
3785
|
-
declare const useZonesUpdateZone: typeof trpc.zones.updateZone.useMutation;
|
|
3786
|
-
|
|
3787
|
-
export { type ActivityTabId, AddonGlobalSettingsForm, type AddonPageProps, type AgentColumn, AgentStepEditor, type AgentStepEditorProps, AppShell, type AppShellProps, type AudioClassification, AudioClassificationList, type AudioClassificationListProps, AudioLevelWaveform, type AudioLevelWaveformProps, AudioWaveform, type AudioWaveformProps, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, type BadgeProps, BatteryBadge, type BatteryBadgeProps, type BatteryStatusLike, BottomSheet, type BottomSheetProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, type ButtonProps, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, CameraStreamPlayer, type CameraStreamPlayerProps, Card, type CardProps, type CellState, Checkbox, type CheckboxProps, type ClientStreamHints, type ClusterNode, CodeBlock, type CodeBlockProps, CollapsibleCard, type CollapsibleCardProps, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, type ConfirmActionButtonProps, ConfirmDialogProvider, type CustomFieldRenderer, type CustomFieldRendererMap, type CustomFieldRendererProps, CustomFieldRenderersProvider, type CustomFieldRenderersProviderProps, DEFAULT_COLOR, DataTable, type DataTableAction, type DataTableProps, type Detection, DetectionCanvas, type DetectionCanvasProps, DetectionOverlay, type DetectionOverlayProps, DetectionResultTree, type DetectionResultTreeProps, type DetectionState, DevShell, type DevShellProps, DeviceActivityPanel, type DeviceActivityPanelProps, DeviceCard, type DeviceCardAction, type DeviceCardBadge, type DeviceCardProps, DeviceContextProvider, type DeviceContextProviderProps, type DeviceDetections, DeviceGrid, type DeviceGridProps, DeviceItem, type DeviceItemDevice, type DeviceItemKind, type DeviceItemParent, type DeviceItemProps, type DeviceItemVariant, type DeviceItemView, DeviceList, type DeviceListAddonOption, type DeviceListProps, type DevicePipelineMetrics, type DeviceSnapshot, type DeviceSnapshotImage, type DeviceWebrtcResult, Dialog, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, type DoorbellPressEvent, DoorbellRecentPanel, type DoorbellRecentPanelProps, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, type EditorMode, EmptyState, type EmptyStateProps, EventStream, type EventStreamProps, FilterBar, type FilterBarProps, type FilterDef, FloatingEventStream, type FloatingEventStreamProps, FloatingLogStream, type FloatingLogStreamProps, FloatingPanel, type FloatingPanelProps, FormField$1 as FormField, type FormFieldProps$1 as FormFieldProps, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, INPUT_COMPACT, IconButton, type IconButtonProps, ImageSelector, type ImageSelectorProps, type InferenceAgentOption, type InferenceBackendOption, InferenceConfigSelector, type InferenceConfigSelectorProps, type InferenceModelOption, Input, type InputProps, KebabMenu, type KebabMenuItem, type KebabMenuProps, KeyValueList, type KeyValueListProps, LIST_ROW, Label, type LabelProps, type LiveBuffer, type LiveEventCallback, LogStream, type LogStreamProps, LoginForm, type LoginFormProps, type MirrorInput, type MirrorOutcome, type MirrorResultEntry, type MirrorSource, MobileDrawer, type MobileDrawerProps, type MotionRawBox, type MotionRawState, type MotionState, type MotionZone, type MountAddonPageOptions, NodeMultiSelectField, NodePicker, type NodePickerProps, NodeSelectField, PHASE_CONFIG, type PTZDirection, PTZOverlay, type PTZOverlayProps, type PTZTrpcProxy, PageHeader, type PageHeaderProps, PhaseIcon, type PhaseIconProps, type PhaseVisual, PipelineBuilder, type PipelineBuilderProps, type PipelineRuntimeOption, PipelineRuntimeSelector, PipelineStep, type PipelineStepDisplayConfig, type PipelineStepProps, PipelineTreeMatrix, type PipelineTreeMatrixProps, type PlayerConnectionState, type PlayerOverlayLayer, PlayerOverlaysProvider, type PlayerOverlaysProviderProps, type PlayerToolbarButton, Popover, PopoverContent, PopoverTrigger, type ProbeState, ProviderBadge, type ProviderBadgeProps, type ProviderType, type ReferenceImage, ResponseLog, type ResponseLogProps, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, ScrollArea, type ScrollAreaProps, Select, type SelectOption, type SelectProps, SemanticBadge, type SemanticBadgeProps, type SemanticBadgeVariant, Separator, type SeparatorProps, Sidebar, SidebarItem, type SidebarItemProps, type SidebarProps, type SidebarSection, type SignalingResult, Skeleton, type SkeletonProps, SlideOverPanel, type SlideOverPanelProps, SnapshotButton, type SnapshotButtonProps, type SnapshotButtonTrpc, StatCard, type StatCardProps, StateValuesStream, type StateValuesStreamProps, StatusBadge, type StatusBadgeProps, type StatusType, type StepDotState, StepTimings, type StepTimingsProps, StepTreeMaster, type StepTreeMasterProps, type StepTreeNode, type StreamChoice, StreamPanel, type StreamPanelProps, type StreamStats, Switch, type SwitchProps, type SystemMutationSelector, SystemProvider, type SystemProviderProps, type SystemQuerySelector, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, Tabs, TabsContent, TabsList, TabsTrigger, Tooltip, TooltipContent, TooltipTrigger, type TranslationFn, type UseDeviceBatteryTrpc, type UseDeviceCapabilityOptions, type UseDeviceCapabilityResult, type UseDeviceProxyTrpc, type UseDeviceWebrtcTrpc, type UseDoorbellEventsOptions, type UseDoorbellEventsResult, type UsePTZOptions, type UsePTZResult, UseThemeModeReturn, VersionBadge, type VersionBadgeProps, type WidgetMetadataEntry, type WidgetProps, type WidgetRegistry, WidgetRegistryProvider, type WidgetRegistryProviderProps, WidgetSlot, type WidgetSlotProps, type ZoneDraft, type ZoneDraftPoint, type ZoneDrawingKind, type ZoneEditingActions, ZoneEditingProvider, type ZoneEditingProviderProps, type ZoneEditingState, buildStepTreeFromSchema, cn, createSharedContext, deriveDeviceKind, ensureMfHostInit, getClassColor, getPhaseVisual, isFieldVisible, mirror, mountAddonPage, providerIcons, statusIcons, trpc, useAccessoriesGetStatus, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsUninstallPackage, useAddonsUpdatePackage, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useBackupDelete, useBackupList, useBackupRestore, useBackupTrigger, useBatteryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetRtspEntries, useClusterNodes, useConfirm, useCustomFieldRenderer, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetInfo, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceBattery, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceId, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAllocateDeviceId, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverDevices, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerSetDisabled, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceWebrtc, useDevices, useDoorbellEvents, useDoorbellGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomStartSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLiveBuffer, useLiveEvent, useMetricsProviderCollectSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useNativeObjectDetectionGetStatus, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputSend, useNotificationOutputSendTest, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdSetOverlay, usePTZ, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsClearTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsListTracks, usePipelineExecutorCacheFrameInPool, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDetect, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorReprobeEngine, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignDecoder, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDecoderAssignment, usePipelineOrchestratorGetDecoderAssignments, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentAddonDefaults, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignDecoder, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerReportMotion, usePlatformProbeGetCapabilities, usePlatformProbeGetHardware, usePlatformProbeResolveHwAccel, usePlatformProbeResolveInferenceConfig, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzStop, useRebootReboot, useRecordingEngineDisable, useRecordingEngineEnable, useRecordingEngineEstimateGlobalStorage, useRecordingEngineEstimateStorage, useRecordingEngineGetAvailability, useRecordingEngineGetConfig, useRecordingEngineGetMotionStats, useRecordingEngineGetPlaylist, useRecordingEngineGetPolicy, useRecordingEngineGetPolicyStatus, useRecordingEngineGetRetentionConfig, useRecordingEngineGetSegments, useRecordingEngineGetStatus, useRecordingEngineGetStorageUsage, useRecordingEngineGetThumbnail, useRecordingEngineSetPolicy, useRecordingEngineUpdateConfig, useRecordingEngineUpdateRetentionConfig, useRecordingGetPlaybackUrl, useRecordingGetSegments, useRecordingGetThumbnailAt, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreGet, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetStatus, useSnapshotInvalidateCache, useSnapshotProviderGetSnapshot, useSnapshotProviderSupportsDevice, useStorageDelete, useStorageExists, useStorageGetAvailableSpace, useStorageList, useStorageRead, useStorageResolve, useStorageWrite, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBroker, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerPublishCameraStream, useStreamBrokerRegenerateRtspToken, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerUnassignProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useToastOnToast, useTurnProviderGetTurnServers, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementListApiKeys, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeScopedToken, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionHandleAnswer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone };
|
|
1
|
+
export * from './theme';
|
|
2
|
+
export * from './lib';
|
|
3
|
+
export * from './icons';
|
|
4
|
+
export * from './primitives';
|
|
5
|
+
export * from './composites';
|
|
6
|
+
export * from './contexts/custom-field-renderers';
|
|
7
|
+
export * from './contexts/device-context';
|
|
8
|
+
export * from './contexts/player-overlays';
|
|
9
|
+
export * from './contexts/zone-editing';
|
|
10
|
+
export { SystemProvider, useSystem, useOptionalSystem, type SystemProviderProps, } from './contexts/system-context';
|
|
11
|
+
export { WidgetRegistryProvider, useWidgetRegistry, useOptionalWidgetRegistry, useWidget, useWidgetMetadata, useAllWidgets, type WidgetRegistry, type WidgetRegistryProviderProps, type WidgetProps, type WidgetMetadataEntry, } from './contexts/widget-registry';
|
|
12
|
+
export * from './hooks';
|
|
13
|
+
export * from './generated/system-hooks';
|
|
14
|
+
export { trpc } from './trpc-react';
|