@camstack/ui-library 1.1.41 → 1.1.43
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/camera-stream-player.d.ts +2 -2
- package/dist/composites/detection-colors.d.ts +6 -7
- package/dist/composites/device-select-field.d.ts +16 -0
- package/dist/composites/device-select-filter.d.ts +53 -0
- package/dist/composites/event-kind-visuals.d.ts +26 -0
- package/dist/composites/index.d.ts +5 -0
- package/dist/generated/system-hooks.d.ts +0 -2
- package/dist/hooks/use-device-webrtc.d.ts +2 -1
- package/dist/index.cjs +1035 -37
- package/dist/index.js +1026 -38
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as __mfHostReact from "react";
|
|
|
3
3
|
import React, { Fragment, Suspense, createContext, createElement, forwardRef, lazy, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
|
|
4
4
|
import * as __mfHostReactJsxRuntime from "react/jsx-runtime";
|
|
5
5
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { ALL_CAPABILITY_DEFINITIONS, DEFAULT_SCRUB_THUMBNAIL_PRESET, DeviceExportStatusSchema, DeviceFeature, DeviceRole, DeviceType, EventCategory, ExposedDeviceSchema, KNOWN_CAP_NAMES, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, RecordingConfigSchema, RecordingStatusSchema, SCRUB_THUMBNAIL_PRESET_LABELS, SCRUB_THUMBNAIL_PRESET_ORDER, ScrubThumbnailPresetSchema, SourceInfoSchema, TIMEZONES, buildModelVariantGroups, canConvertUnit, createDeviceProxy, createLazyTrpcSource, createSliceHandle, describeModelVariant, findTimezone, resolveVariantModelId, tryConvertUnit } from "@camstack/types";
|
|
6
|
+
import { ALL_CAPABILITY_DEFINITIONS, DEFAULT_EVENT_COLOR, DEFAULT_SCRUB_THUMBNAIL_PRESET, DeviceExportStatusSchema, DeviceFeature, DeviceRole, DeviceType, EVENT_TAXONOMY, EventCategory, ExposedDeviceSchema, KNOWN_CAP_NAMES, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, RecordingConfigSchema, RecordingStatusSchema, SCRUB_THUMBNAIL_PRESET_LABELS, SCRUB_THUMBNAIL_PRESET_ORDER, ScrubThumbnailPresetSchema, SourceInfoSchema, TIMEZONES, buildModelVariantGroups, canConvertUnit, createDeviceProxy, createLazyTrpcSource, createSliceHandle, describeModelVariant, findTimezone, resolveVariantModelId, tryConvertUnit } from "@camstack/types";
|
|
7
7
|
import * as __mfHostReactDOM from "react-dom";
|
|
8
8
|
import { createPortal } from "react-dom";
|
|
9
9
|
import * as __mfHostReactDOMClient from "react-dom/client";
|
|
@@ -8225,6 +8225,30 @@ var ArrowUp = createLucideIcon("arrow-up", [["path", {
|
|
|
8225
8225
|
* This source code is licensed under the ISC license.
|
|
8226
8226
|
* See the LICENSE file in the root directory of this source tree.
|
|
8227
8227
|
*/
|
|
8228
|
+
var Baby = createLucideIcon("baby", [
|
|
8229
|
+
["path", {
|
|
8230
|
+
d: "M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5",
|
|
8231
|
+
key: "1u7htd"
|
|
8232
|
+
}],
|
|
8233
|
+
["path", {
|
|
8234
|
+
d: "M15 12h.01",
|
|
8235
|
+
key: "1k8ypt"
|
|
8236
|
+
}],
|
|
8237
|
+
["path", {
|
|
8238
|
+
d: "M19.38 6.813A9 9 0 0 1 20.8 10.2a2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1",
|
|
8239
|
+
key: "11xh7x"
|
|
8240
|
+
}],
|
|
8241
|
+
["path", {
|
|
8242
|
+
d: "M9 12h.01",
|
|
8243
|
+
key: "157uk2"
|
|
8244
|
+
}]
|
|
8245
|
+
]);
|
|
8246
|
+
/**
|
|
8247
|
+
* @license lucide-react v0.576.0 - ISC
|
|
8248
|
+
*
|
|
8249
|
+
* This source code is licensed under the ISC license.
|
|
8250
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
8251
|
+
*/
|
|
8228
8252
|
var Ban = createLucideIcon("ban", [["circle", {
|
|
8229
8253
|
cx: "12",
|
|
8230
8254
|
cy: "12",
|
|
@@ -8434,6 +8458,68 @@ var Bell = createLucideIcon("bell", [["path", {
|
|
|
8434
8458
|
* This source code is licensed under the ISC license.
|
|
8435
8459
|
* See the LICENSE file in the root directory of this source tree.
|
|
8436
8460
|
*/
|
|
8461
|
+
var Bike = createLucideIcon("bike", [
|
|
8462
|
+
["circle", {
|
|
8463
|
+
cx: "18.5",
|
|
8464
|
+
cy: "17.5",
|
|
8465
|
+
r: "3.5",
|
|
8466
|
+
key: "15x4ox"
|
|
8467
|
+
}],
|
|
8468
|
+
["circle", {
|
|
8469
|
+
cx: "5.5",
|
|
8470
|
+
cy: "17.5",
|
|
8471
|
+
r: "3.5",
|
|
8472
|
+
key: "1noe27"
|
|
8473
|
+
}],
|
|
8474
|
+
["circle", {
|
|
8475
|
+
cx: "15",
|
|
8476
|
+
cy: "5",
|
|
8477
|
+
r: "1",
|
|
8478
|
+
key: "19l28e"
|
|
8479
|
+
}],
|
|
8480
|
+
["path", {
|
|
8481
|
+
d: "M12 17.5V14l-3-3 4-3 2 3h2",
|
|
8482
|
+
key: "1npguv"
|
|
8483
|
+
}]
|
|
8484
|
+
]);
|
|
8485
|
+
/**
|
|
8486
|
+
* @license lucide-react v0.576.0 - ISC
|
|
8487
|
+
*
|
|
8488
|
+
* This source code is licensed under the ISC license.
|
|
8489
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
8490
|
+
*/
|
|
8491
|
+
var Bird = createLucideIcon("bird", [
|
|
8492
|
+
["path", {
|
|
8493
|
+
d: "M16 7h.01",
|
|
8494
|
+
key: "1kdx03"
|
|
8495
|
+
}],
|
|
8496
|
+
["path", {
|
|
8497
|
+
d: "M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20",
|
|
8498
|
+
key: "oj1oa8"
|
|
8499
|
+
}],
|
|
8500
|
+
["path", {
|
|
8501
|
+
d: "m20 7 2 .5-2 .5",
|
|
8502
|
+
key: "12nv4d"
|
|
8503
|
+
}],
|
|
8504
|
+
["path", {
|
|
8505
|
+
d: "M10 18v3",
|
|
8506
|
+
key: "1yea0a"
|
|
8507
|
+
}],
|
|
8508
|
+
["path", {
|
|
8509
|
+
d: "M14 17.75V21",
|
|
8510
|
+
key: "1pymcb"
|
|
8511
|
+
}],
|
|
8512
|
+
["path", {
|
|
8513
|
+
d: "M7 18a6 6 0 0 0 3.84-10.61",
|
|
8514
|
+
key: "1npnn0"
|
|
8515
|
+
}]
|
|
8516
|
+
]);
|
|
8517
|
+
/**
|
|
8518
|
+
* @license lucide-react v0.576.0 - ISC
|
|
8519
|
+
*
|
|
8520
|
+
* This source code is licensed under the ISC license.
|
|
8521
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
8522
|
+
*/
|
|
8437
8523
|
var Blinds = createLucideIcon("blinds", [
|
|
8438
8524
|
["path", {
|
|
8439
8525
|
d: "M3 3h18",
|
|
@@ -8590,6 +8676,46 @@ var Bug = createLucideIcon("bug", [
|
|
|
8590
8676
|
* This source code is licensed under the ISC license.
|
|
8591
8677
|
* See the LICENSE file in the root directory of this source tree.
|
|
8592
8678
|
*/
|
|
8679
|
+
var Bus = createLucideIcon("bus", [
|
|
8680
|
+
["path", {
|
|
8681
|
+
d: "M8 6v6",
|
|
8682
|
+
key: "18i7km"
|
|
8683
|
+
}],
|
|
8684
|
+
["path", {
|
|
8685
|
+
d: "M15 6v6",
|
|
8686
|
+
key: "1sg6z9"
|
|
8687
|
+
}],
|
|
8688
|
+
["path", {
|
|
8689
|
+
d: "M2 12h19.6",
|
|
8690
|
+
key: "de5uta"
|
|
8691
|
+
}],
|
|
8692
|
+
["path", {
|
|
8693
|
+
d: "M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3",
|
|
8694
|
+
key: "1wwztk"
|
|
8695
|
+
}],
|
|
8696
|
+
["circle", {
|
|
8697
|
+
cx: "7",
|
|
8698
|
+
cy: "18",
|
|
8699
|
+
r: "2",
|
|
8700
|
+
key: "19iecd"
|
|
8701
|
+
}],
|
|
8702
|
+
["path", {
|
|
8703
|
+
d: "M9 18h5",
|
|
8704
|
+
key: "lrx6i"
|
|
8705
|
+
}],
|
|
8706
|
+
["circle", {
|
|
8707
|
+
cx: "16",
|
|
8708
|
+
cy: "18",
|
|
8709
|
+
r: "2",
|
|
8710
|
+
key: "1v4tcr"
|
|
8711
|
+
}]
|
|
8712
|
+
]);
|
|
8713
|
+
/**
|
|
8714
|
+
* @license lucide-react v0.576.0 - ISC
|
|
8715
|
+
*
|
|
8716
|
+
* This source code is licensed under the ISC license.
|
|
8717
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
8718
|
+
*/
|
|
8593
8719
|
var Camera = createLucideIcon("camera", [["path", {
|
|
8594
8720
|
d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
|
|
8595
8721
|
key: "18u6gg"
|
|
@@ -8605,6 +8731,34 @@ var Camera = createLucideIcon("camera", [["path", {
|
|
|
8605
8731
|
* This source code is licensed under the ISC license.
|
|
8606
8732
|
* See the LICENSE file in the root directory of this source tree.
|
|
8607
8733
|
*/
|
|
8734
|
+
var Car = createLucideIcon("car", [
|
|
8735
|
+
["path", {
|
|
8736
|
+
d: "M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2",
|
|
8737
|
+
key: "5owen"
|
|
8738
|
+
}],
|
|
8739
|
+
["circle", {
|
|
8740
|
+
cx: "7",
|
|
8741
|
+
cy: "17",
|
|
8742
|
+
r: "2",
|
|
8743
|
+
key: "u2ysq9"
|
|
8744
|
+
}],
|
|
8745
|
+
["path", {
|
|
8746
|
+
d: "M9 17h6",
|
|
8747
|
+
key: "r8uit2"
|
|
8748
|
+
}],
|
|
8749
|
+
["circle", {
|
|
8750
|
+
cx: "17",
|
|
8751
|
+
cy: "17",
|
|
8752
|
+
r: "2",
|
|
8753
|
+
key: "axvx0g"
|
|
8754
|
+
}]
|
|
8755
|
+
]);
|
|
8756
|
+
/**
|
|
8757
|
+
* @license lucide-react v0.576.0 - ISC
|
|
8758
|
+
*
|
|
8759
|
+
* This source code is licensed under the ISC license.
|
|
8760
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
8761
|
+
*/
|
|
8608
8762
|
var Cast = createLucideIcon("cast", [
|
|
8609
8763
|
["path", {
|
|
8610
8764
|
d: "M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6",
|
|
@@ -8632,6 +8786,30 @@ var Cast = createLucideIcon("cast", [
|
|
|
8632
8786
|
* This source code is licensed under the ISC license.
|
|
8633
8787
|
* See the LICENSE file in the root directory of this source tree.
|
|
8634
8788
|
*/
|
|
8789
|
+
var Cat = createLucideIcon("cat", [
|
|
8790
|
+
["path", {
|
|
8791
|
+
d: "M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z",
|
|
8792
|
+
key: "x6xyqk"
|
|
8793
|
+
}],
|
|
8794
|
+
["path", {
|
|
8795
|
+
d: "M8 14v.5",
|
|
8796
|
+
key: "1nzgdb"
|
|
8797
|
+
}],
|
|
8798
|
+
["path", {
|
|
8799
|
+
d: "M16 14v.5",
|
|
8800
|
+
key: "1lajdz"
|
|
8801
|
+
}],
|
|
8802
|
+
["path", {
|
|
8803
|
+
d: "M11.25 16.25h1.5L12 17l-.75-.75Z",
|
|
8804
|
+
key: "12kq1m"
|
|
8805
|
+
}]
|
|
8806
|
+
]);
|
|
8807
|
+
/**
|
|
8808
|
+
* @license lucide-react v0.576.0 - ISC
|
|
8809
|
+
*
|
|
8810
|
+
* This source code is licensed under the ISC license.
|
|
8811
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
8812
|
+
*/
|
|
8635
8813
|
var Check = createLucideIcon("check", [["path", {
|
|
8636
8814
|
d: "M20 6 9 17l-5-5",
|
|
8637
8815
|
key: "1gmf2c"
|
|
@@ -9025,6 +9203,74 @@ var Cloud = createLucideIcon("cloud", [["path", {
|
|
|
9025
9203
|
* This source code is licensed under the ISC license.
|
|
9026
9204
|
* See the LICENSE file in the root directory of this source tree.
|
|
9027
9205
|
*/
|
|
9206
|
+
var Cog = createLucideIcon("cog", [
|
|
9207
|
+
["path", {
|
|
9208
|
+
d: "M11 10.27 7 3.34",
|
|
9209
|
+
key: "16pf9h"
|
|
9210
|
+
}],
|
|
9211
|
+
["path", {
|
|
9212
|
+
d: "m11 13.73-4 6.93",
|
|
9213
|
+
key: "794ttg"
|
|
9214
|
+
}],
|
|
9215
|
+
["path", {
|
|
9216
|
+
d: "M12 22v-2",
|
|
9217
|
+
key: "1osdcq"
|
|
9218
|
+
}],
|
|
9219
|
+
["path", {
|
|
9220
|
+
d: "M12 2v2",
|
|
9221
|
+
key: "tus03m"
|
|
9222
|
+
}],
|
|
9223
|
+
["path", {
|
|
9224
|
+
d: "M14 12h8",
|
|
9225
|
+
key: "4f43i9"
|
|
9226
|
+
}],
|
|
9227
|
+
["path", {
|
|
9228
|
+
d: "m17 20.66-1-1.73",
|
|
9229
|
+
key: "eq3orb"
|
|
9230
|
+
}],
|
|
9231
|
+
["path", {
|
|
9232
|
+
d: "m17 3.34-1 1.73",
|
|
9233
|
+
key: "2wel8s"
|
|
9234
|
+
}],
|
|
9235
|
+
["path", {
|
|
9236
|
+
d: "M2 12h2",
|
|
9237
|
+
key: "1t8f8n"
|
|
9238
|
+
}],
|
|
9239
|
+
["path", {
|
|
9240
|
+
d: "m20.66 17-1.73-1",
|
|
9241
|
+
key: "sg0v6f"
|
|
9242
|
+
}],
|
|
9243
|
+
["path", {
|
|
9244
|
+
d: "m20.66 7-1.73 1",
|
|
9245
|
+
key: "1ow05n"
|
|
9246
|
+
}],
|
|
9247
|
+
["path", {
|
|
9248
|
+
d: "m3.34 17 1.73-1",
|
|
9249
|
+
key: "nuk764"
|
|
9250
|
+
}],
|
|
9251
|
+
["path", {
|
|
9252
|
+
d: "m3.34 7 1.73 1",
|
|
9253
|
+
key: "1ulond"
|
|
9254
|
+
}],
|
|
9255
|
+
["circle", {
|
|
9256
|
+
cx: "12",
|
|
9257
|
+
cy: "12",
|
|
9258
|
+
r: "2",
|
|
9259
|
+
key: "1c9p78"
|
|
9260
|
+
}],
|
|
9261
|
+
["circle", {
|
|
9262
|
+
cx: "12",
|
|
9263
|
+
cy: "12",
|
|
9264
|
+
r: "8",
|
|
9265
|
+
key: "46899m"
|
|
9266
|
+
}]
|
|
9267
|
+
]);
|
|
9268
|
+
/**
|
|
9269
|
+
* @license lucide-react v0.576.0 - ISC
|
|
9270
|
+
*
|
|
9271
|
+
* This source code is licensed under the ISC license.
|
|
9272
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
9273
|
+
*/
|
|
9028
9274
|
var CopyPlus = createLucideIcon("copy-plus", [
|
|
9029
9275
|
["line", {
|
|
9030
9276
|
x1: "15",
|
|
@@ -9215,6 +9461,34 @@ var Database = createLucideIcon("database", [
|
|
|
9215
9461
|
* This source code is licensed under the ISC license.
|
|
9216
9462
|
* See the LICENSE file in the root directory of this source tree.
|
|
9217
9463
|
*/
|
|
9464
|
+
var Dog = createLucideIcon("dog", [
|
|
9465
|
+
["path", {
|
|
9466
|
+
d: "M11.25 16.25h1.5L12 17z",
|
|
9467
|
+
key: "w7jh35"
|
|
9468
|
+
}],
|
|
9469
|
+
["path", {
|
|
9470
|
+
d: "M16 14v.5",
|
|
9471
|
+
key: "1lajdz"
|
|
9472
|
+
}],
|
|
9473
|
+
["path", {
|
|
9474
|
+
d: "M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309",
|
|
9475
|
+
key: "u7s9ue"
|
|
9476
|
+
}],
|
|
9477
|
+
["path", {
|
|
9478
|
+
d: "M8 14v.5",
|
|
9479
|
+
key: "1nzgdb"
|
|
9480
|
+
}],
|
|
9481
|
+
["path", {
|
|
9482
|
+
d: "M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5",
|
|
9483
|
+
key: "v8hric"
|
|
9484
|
+
}]
|
|
9485
|
+
]);
|
|
9486
|
+
/**
|
|
9487
|
+
* @license lucide-react v0.576.0 - ISC
|
|
9488
|
+
*
|
|
9489
|
+
* This source code is licensed under the ISC license.
|
|
9490
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
9491
|
+
*/
|
|
9218
9492
|
var DoorClosed = createLucideIcon("door-closed", [
|
|
9219
9493
|
["path", {
|
|
9220
9494
|
d: "M10 12h.01",
|
|
@@ -9649,6 +9923,26 @@ var GripHorizontal = createLucideIcon("grip-horizontal", [
|
|
|
9649
9923
|
* This source code is licensed under the ISC license.
|
|
9650
9924
|
* See the LICENSE file in the root directory of this source tree.
|
|
9651
9925
|
*/
|
|
9926
|
+
var Hammer = createLucideIcon("hammer", [
|
|
9927
|
+
["path", {
|
|
9928
|
+
d: "m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9",
|
|
9929
|
+
key: "1hayfq"
|
|
9930
|
+
}],
|
|
9931
|
+
["path", {
|
|
9932
|
+
d: "m18 15 4-4",
|
|
9933
|
+
key: "16gjal"
|
|
9934
|
+
}],
|
|
9935
|
+
["path", {
|
|
9936
|
+
d: "m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",
|
|
9937
|
+
key: "15ts47"
|
|
9938
|
+
}]
|
|
9939
|
+
]);
|
|
9940
|
+
/**
|
|
9941
|
+
* @license lucide-react v0.576.0 - ISC
|
|
9942
|
+
*
|
|
9943
|
+
* This source code is licensed under the ISC license.
|
|
9944
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
9945
|
+
*/
|
|
9652
9946
|
var HardDrive = createLucideIcon("hard-drive", [
|
|
9653
9947
|
["path", {
|
|
9654
9948
|
d: "M10 16h.01",
|
|
@@ -9825,6 +10119,38 @@ var Info = createLucideIcon("info", [
|
|
|
9825
10119
|
* This source code is licensed under the ISC license.
|
|
9826
10120
|
* See the LICENSE file in the root directory of this source tree.
|
|
9827
10121
|
*/
|
|
10122
|
+
var Laugh = createLucideIcon("laugh", [
|
|
10123
|
+
["circle", {
|
|
10124
|
+
cx: "12",
|
|
10125
|
+
cy: "12",
|
|
10126
|
+
r: "10",
|
|
10127
|
+
key: "1mglay"
|
|
10128
|
+
}],
|
|
10129
|
+
["path", {
|
|
10130
|
+
d: "M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z",
|
|
10131
|
+
key: "b2q4dd"
|
|
10132
|
+
}],
|
|
10133
|
+
["line", {
|
|
10134
|
+
x1: "9",
|
|
10135
|
+
x2: "9.01",
|
|
10136
|
+
y1: "9",
|
|
10137
|
+
y2: "9",
|
|
10138
|
+
key: "yxxnd0"
|
|
10139
|
+
}],
|
|
10140
|
+
["line", {
|
|
10141
|
+
x1: "15",
|
|
10142
|
+
x2: "15.01",
|
|
10143
|
+
y1: "9",
|
|
10144
|
+
y2: "9",
|
|
10145
|
+
key: "1p4y9e"
|
|
10146
|
+
}]
|
|
10147
|
+
]);
|
|
10148
|
+
/**
|
|
10149
|
+
* @license lucide-react v0.576.0 - ISC
|
|
10150
|
+
*
|
|
10151
|
+
* This source code is licensed under the ISC license.
|
|
10152
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
10153
|
+
*/
|
|
9828
10154
|
var LayoutGrid = createLucideIcon("layout-grid", [
|
|
9829
10155
|
["rect", {
|
|
9830
10156
|
width: "7",
|
|
@@ -10428,6 +10754,30 @@ var Network = createLucideIcon("network", [
|
|
|
10428
10754
|
* This source code is licensed under the ISC license.
|
|
10429
10755
|
* See the LICENSE file in the root directory of this source tree.
|
|
10430
10756
|
*/
|
|
10757
|
+
var Package = createLucideIcon("package", [
|
|
10758
|
+
["path", {
|
|
10759
|
+
d: "M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",
|
|
10760
|
+
key: "1a0edw"
|
|
10761
|
+
}],
|
|
10762
|
+
["path", {
|
|
10763
|
+
d: "M12 22V12",
|
|
10764
|
+
key: "d0xqtd"
|
|
10765
|
+
}],
|
|
10766
|
+
["polyline", {
|
|
10767
|
+
points: "3.29 7 12 12 20.71 7",
|
|
10768
|
+
key: "ousv84"
|
|
10769
|
+
}],
|
|
10770
|
+
["path", {
|
|
10771
|
+
d: "m7.5 4.27 9 5.15",
|
|
10772
|
+
key: "1c824w"
|
|
10773
|
+
}]
|
|
10774
|
+
]);
|
|
10775
|
+
/**
|
|
10776
|
+
* @license lucide-react v0.576.0 - ISC
|
|
10777
|
+
*
|
|
10778
|
+
* This source code is licensed under the ISC license.
|
|
10779
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
10780
|
+
*/
|
|
10431
10781
|
var Pause = createLucideIcon("pause", [["rect", {
|
|
10432
10782
|
x: "14",
|
|
10433
10783
|
y: "3",
|
|
@@ -10492,6 +10842,16 @@ var Pencil = createLucideIcon("pencil", [["path", {
|
|
|
10492
10842
|
* This source code is licensed under the ISC license.
|
|
10493
10843
|
* See the LICENSE file in the root directory of this source tree.
|
|
10494
10844
|
*/
|
|
10845
|
+
var Phone = createLucideIcon("phone", [["path", {
|
|
10846
|
+
d: "M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",
|
|
10847
|
+
key: "9njp5v"
|
|
10848
|
+
}]]);
|
|
10849
|
+
/**
|
|
10850
|
+
* @license lucide-react v0.576.0 - ISC
|
|
10851
|
+
*
|
|
10852
|
+
* This source code is licensed under the ISC license.
|
|
10853
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
10854
|
+
*/
|
|
10495
10855
|
var Pipette = createLucideIcon("pipette", [
|
|
10496
10856
|
["path", {
|
|
10497
10857
|
d: "m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12",
|
|
@@ -10512,6 +10872,16 @@ var Pipette = createLucideIcon("pipette", [
|
|
|
10512
10872
|
* This source code is licensed under the ISC license.
|
|
10513
10873
|
* See the LICENSE file in the root directory of this source tree.
|
|
10514
10874
|
*/
|
|
10875
|
+
var Plane = createLucideIcon("plane", [["path", {
|
|
10876
|
+
d: "M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z",
|
|
10877
|
+
key: "1v9wt8"
|
|
10878
|
+
}]]);
|
|
10879
|
+
/**
|
|
10880
|
+
* @license lucide-react v0.576.0 - ISC
|
|
10881
|
+
*
|
|
10882
|
+
* This source code is licensed under the ISC license.
|
|
10883
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
10884
|
+
*/
|
|
10515
10885
|
var Play = createLucideIcon("play", [["path", {
|
|
10516
10886
|
d: "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",
|
|
10517
10887
|
key: "10ikf1"
|
|
@@ -10786,6 +11156,26 @@ var RotateCw = createLucideIcon("rotate-cw", [["path", {
|
|
|
10786
11156
|
* This source code is licensed under the ISC license.
|
|
10787
11157
|
* See the LICENSE file in the root directory of this source tree.
|
|
10788
11158
|
*/
|
|
11159
|
+
var Sailboat = createLucideIcon("sailboat", [
|
|
11160
|
+
["path", {
|
|
11161
|
+
d: "M10 2v15",
|
|
11162
|
+
key: "1qf71f"
|
|
11163
|
+
}],
|
|
11164
|
+
["path", {
|
|
11165
|
+
d: "M7 22a4 4 0 0 1-4-4 1 1 0 0 1 1-1h16a1 1 0 0 1 1 1 4 4 0 0 1-4 4z",
|
|
11166
|
+
key: "1pxcvx"
|
|
11167
|
+
}],
|
|
11168
|
+
["path", {
|
|
11169
|
+
d: "M9.159 2.46a1 1 0 0 1 1.521-.193l9.977 8.98A1 1 0 0 1 20 13H4a1 1 0 0 1-.824-1.567z",
|
|
11170
|
+
key: "5oog16"
|
|
11171
|
+
}]
|
|
11172
|
+
]);
|
|
11173
|
+
/**
|
|
11174
|
+
* @license lucide-react v0.576.0 - ISC
|
|
11175
|
+
*
|
|
11176
|
+
* This source code is licensed under the ISC license.
|
|
11177
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11178
|
+
*/
|
|
10789
11179
|
var Save = createLucideIcon("save", [
|
|
10790
11180
|
["path", {
|
|
10791
11181
|
d: "M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",
|
|
@@ -11451,6 +11841,22 @@ var Table2 = createLucideIcon("table-2", [["path", {
|
|
|
11451
11841
|
* This source code is licensed under the ISC license.
|
|
11452
11842
|
* See the LICENSE file in the root directory of this source tree.
|
|
11453
11843
|
*/
|
|
11844
|
+
var Tag = createLucideIcon("tag", [["path", {
|
|
11845
|
+
d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
|
|
11846
|
+
key: "vktsd0"
|
|
11847
|
+
}], ["circle", {
|
|
11848
|
+
cx: "7.5",
|
|
11849
|
+
cy: "7.5",
|
|
11850
|
+
r: ".5",
|
|
11851
|
+
fill: "currentColor",
|
|
11852
|
+
key: "kqv944"
|
|
11853
|
+
}]]);
|
|
11854
|
+
/**
|
|
11855
|
+
* @license lucide-react v0.576.0 - ISC
|
|
11856
|
+
*
|
|
11857
|
+
* This source code is licensed under the ISC license.
|
|
11858
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11859
|
+
*/
|
|
11454
11860
|
var Target = createLucideIcon("target", [
|
|
11455
11861
|
["circle", {
|
|
11456
11862
|
cx: "12",
|
|
@@ -11506,6 +11912,25 @@ var ToggleLeft = createLucideIcon("toggle-left", [["circle", {
|
|
|
11506
11912
|
* This source code is licensed under the ISC license.
|
|
11507
11913
|
* See the LICENSE file in the root directory of this source tree.
|
|
11508
11914
|
*/
|
|
11915
|
+
var ToggleRight = createLucideIcon("toggle-right", [["circle", {
|
|
11916
|
+
cx: "15",
|
|
11917
|
+
cy: "12",
|
|
11918
|
+
r: "3",
|
|
11919
|
+
key: "1afu0r"
|
|
11920
|
+
}], ["rect", {
|
|
11921
|
+
width: "20",
|
|
11922
|
+
height: "14",
|
|
11923
|
+
x: "2",
|
|
11924
|
+
y: "5",
|
|
11925
|
+
rx: "7",
|
|
11926
|
+
key: "g7kal2"
|
|
11927
|
+
}]]);
|
|
11928
|
+
/**
|
|
11929
|
+
* @license lucide-react v0.576.0 - ISC
|
|
11930
|
+
*
|
|
11931
|
+
* This source code is licensed under the ISC license.
|
|
11932
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11933
|
+
*/
|
|
11509
11934
|
var Tractor = createLucideIcon("tractor", [
|
|
11510
11935
|
["path", {
|
|
11511
11936
|
d: "m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20",
|
|
@@ -11554,6 +11979,38 @@ var Tractor = createLucideIcon("tractor", [
|
|
|
11554
11979
|
* This source code is licensed under the ISC license.
|
|
11555
11980
|
* See the LICENSE file in the root directory of this source tree.
|
|
11556
11981
|
*/
|
|
11982
|
+
var TrainFront = createLucideIcon("train-front", [
|
|
11983
|
+
["path", {
|
|
11984
|
+
d: "M8 3.1V7a4 4 0 0 0 8 0V3.1",
|
|
11985
|
+
key: "1v71zp"
|
|
11986
|
+
}],
|
|
11987
|
+
["path", {
|
|
11988
|
+
d: "m9 15-1-1",
|
|
11989
|
+
key: "1yrq24"
|
|
11990
|
+
}],
|
|
11991
|
+
["path", {
|
|
11992
|
+
d: "m15 15 1-1",
|
|
11993
|
+
key: "1t0d6s"
|
|
11994
|
+
}],
|
|
11995
|
+
["path", {
|
|
11996
|
+
d: "M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z",
|
|
11997
|
+
key: "1p0hjs"
|
|
11998
|
+
}],
|
|
11999
|
+
["path", {
|
|
12000
|
+
d: "m8 19-2 3",
|
|
12001
|
+
key: "13i0xs"
|
|
12002
|
+
}],
|
|
12003
|
+
["path", {
|
|
12004
|
+
d: "m16 19 2 3",
|
|
12005
|
+
key: "xo31yx"
|
|
12006
|
+
}]
|
|
12007
|
+
]);
|
|
12008
|
+
/**
|
|
12009
|
+
* @license lucide-react v0.576.0 - ISC
|
|
12010
|
+
*
|
|
12011
|
+
* This source code is licensed under the ISC license.
|
|
12012
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12013
|
+
*/
|
|
11557
12014
|
var Trash2 = createLucideIcon("trash-2", [
|
|
11558
12015
|
["path", {
|
|
11559
12016
|
d: "M10 11v6",
|
|
@@ -11628,6 +12085,38 @@ var TriangleAlert = createLucideIcon("triangle-alert", [
|
|
|
11628
12085
|
* This source code is licensed under the ISC license.
|
|
11629
12086
|
* See the LICENSE file in the root directory of this source tree.
|
|
11630
12087
|
*/
|
|
12088
|
+
var Truck = createLucideIcon("truck", [
|
|
12089
|
+
["path", {
|
|
12090
|
+
d: "M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",
|
|
12091
|
+
key: "wrbu53"
|
|
12092
|
+
}],
|
|
12093
|
+
["path", {
|
|
12094
|
+
d: "M15 18H9",
|
|
12095
|
+
key: "1lyqi6"
|
|
12096
|
+
}],
|
|
12097
|
+
["path", {
|
|
12098
|
+
d: "M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",
|
|
12099
|
+
key: "lysw3i"
|
|
12100
|
+
}],
|
|
12101
|
+
["circle", {
|
|
12102
|
+
cx: "17",
|
|
12103
|
+
cy: "18",
|
|
12104
|
+
r: "2",
|
|
12105
|
+
key: "332jqn"
|
|
12106
|
+
}],
|
|
12107
|
+
["circle", {
|
|
12108
|
+
cx: "7",
|
|
12109
|
+
cy: "18",
|
|
12110
|
+
r: "2",
|
|
12111
|
+
key: "19iecd"
|
|
12112
|
+
}]
|
|
12113
|
+
]);
|
|
12114
|
+
/**
|
|
12115
|
+
* @license lucide-react v0.576.0 - ISC
|
|
12116
|
+
*
|
|
12117
|
+
* This source code is licensed under the ISC license.
|
|
12118
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12119
|
+
*/
|
|
11631
12120
|
var Type = createLucideIcon("type", [
|
|
11632
12121
|
["path", {
|
|
11633
12122
|
d: "M12 4v16",
|
|
@@ -11678,6 +12167,69 @@ var Upload = createLucideIcon("upload", [
|
|
|
11678
12167
|
* This source code is licensed under the ISC license.
|
|
11679
12168
|
* See the LICENSE file in the root directory of this source tree.
|
|
11680
12169
|
*/
|
|
12170
|
+
var UserCheck = createLucideIcon("user-check", [
|
|
12171
|
+
["path", {
|
|
12172
|
+
d: "m16 11 2 2 4-4",
|
|
12173
|
+
key: "9rsbq5"
|
|
12174
|
+
}],
|
|
12175
|
+
["path", {
|
|
12176
|
+
d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",
|
|
12177
|
+
key: "1yyitq"
|
|
12178
|
+
}],
|
|
12179
|
+
["circle", {
|
|
12180
|
+
cx: "9",
|
|
12181
|
+
cy: "7",
|
|
12182
|
+
r: "4",
|
|
12183
|
+
key: "nufk8"
|
|
12184
|
+
}]
|
|
12185
|
+
]);
|
|
12186
|
+
/**
|
|
12187
|
+
* @license lucide-react v0.576.0 - ISC
|
|
12188
|
+
*
|
|
12189
|
+
* This source code is licensed under the ISC license.
|
|
12190
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12191
|
+
*/
|
|
12192
|
+
var User = createLucideIcon("user", [["path", {
|
|
12193
|
+
d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",
|
|
12194
|
+
key: "975kel"
|
|
12195
|
+
}], ["circle", {
|
|
12196
|
+
cx: "12",
|
|
12197
|
+
cy: "7",
|
|
12198
|
+
r: "4",
|
|
12199
|
+
key: "17ys0d"
|
|
12200
|
+
}]]);
|
|
12201
|
+
/**
|
|
12202
|
+
* @license lucide-react v0.576.0 - ISC
|
|
12203
|
+
*
|
|
12204
|
+
* This source code is licensed under the ISC license.
|
|
12205
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12206
|
+
*/
|
|
12207
|
+
var Users = createLucideIcon("users", [
|
|
12208
|
+
["path", {
|
|
12209
|
+
d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",
|
|
12210
|
+
key: "1yyitq"
|
|
12211
|
+
}],
|
|
12212
|
+
["path", {
|
|
12213
|
+
d: "M16 3.128a4 4 0 0 1 0 7.744",
|
|
12214
|
+
key: "16gr8j"
|
|
12215
|
+
}],
|
|
12216
|
+
["path", {
|
|
12217
|
+
d: "M22 21v-2a4 4 0 0 0-3-3.87",
|
|
12218
|
+
key: "kshegd"
|
|
12219
|
+
}],
|
|
12220
|
+
["circle", {
|
|
12221
|
+
cx: "9",
|
|
12222
|
+
cy: "7",
|
|
12223
|
+
r: "4",
|
|
12224
|
+
key: "nufk8"
|
|
12225
|
+
}]
|
|
12226
|
+
]);
|
|
12227
|
+
/**
|
|
12228
|
+
* @license lucide-react v0.576.0 - ISC
|
|
12229
|
+
*
|
|
12230
|
+
* This source code is licensed under the ISC license.
|
|
12231
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12232
|
+
*/
|
|
11681
12233
|
var UtensilsCrossed = createLucideIcon("utensils-crossed", [
|
|
11682
12234
|
["path", {
|
|
11683
12235
|
d: "m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8",
|
|
@@ -17111,8 +17663,6 @@ var useAddonsListFrameworkPackages = trpc.addons.listFrameworkPackages.useQuery;
|
|
|
17111
17663
|
var useAddonsListCapabilityProviders = trpc.addons.listCapabilityProviders.useQuery;
|
|
17112
17664
|
/** Generated alias around `trpc.addons.setCapabilityProviderEnabled.useMutation`. */
|
|
17113
17665
|
var useAddonsSetCapabilityProviderEnabled = trpc.addons.setCapabilityProviderEnabled.useMutation;
|
|
17114
|
-
/** Generated alias around `trpc.addons.updateFrameworkPackage.useMutation`. */
|
|
17115
|
-
var useAddonsUpdateFrameworkPackage = trpc.addons.updateFrameworkPackage.useMutation;
|
|
17116
17666
|
/** Generated alias around `trpc.addons.getVersions.useQuery`. */
|
|
17117
17667
|
var useAddonsGetVersions = trpc.addons.getVersions.useQuery;
|
|
17118
17668
|
/** Generated alias around `trpc.addons.restartAddon.useMutation`. */
|
|
@@ -30803,28 +31353,28 @@ function PipelineBuilder({ schema, steps, onChange, templates, selectedTemplateI
|
|
|
30803
31353
|
//#endregion
|
|
30804
31354
|
//#region src/composites/detection-colors.ts
|
|
30805
31355
|
/**
|
|
30806
|
-
* Detection class colors —
|
|
31356
|
+
* Detection class colors — a thin adapter over the SINGLE event-kind
|
|
31357
|
+
* taxonomy dictionary in `@camstack/types` (`EVENT_TAXONOMY`). Colors are no
|
|
31358
|
+
* longer duplicated here; this module only adds the UI-only classes the
|
|
31359
|
+
* taxonomy doesn't model (face / plate) and the deterministic hash fallback.
|
|
30807
31360
|
*
|
|
30808
|
-
* Used by: DetectionCanvas
|
|
30809
|
-
*
|
|
31361
|
+
* Used by: DetectionCanvas / DetectionResultTree / DetectionOverlay (UI),
|
|
31362
|
+
* and any other place that visualizes detection classes.
|
|
30810
31363
|
*/
|
|
30811
|
-
/**
|
|
30812
|
-
var
|
|
30813
|
-
person: "#3b82f6",
|
|
30814
|
-
vehicle: "#f59e0b",
|
|
30815
|
-
animal: "#22c55e",
|
|
31364
|
+
/** UI-only classes not modelled in the event taxonomy (sub-detections). */
|
|
31365
|
+
var UI_ONLY_COLORS = {
|
|
30816
31366
|
face: "#a855f7",
|
|
30817
|
-
plate: "#ec4899"
|
|
30818
|
-
bird: "#14b8a6",
|
|
30819
|
-
dog: "#84cc16",
|
|
30820
|
-
cat: "#f97316",
|
|
30821
|
-
car: "#f59e0b",
|
|
30822
|
-
truck: "#d97706",
|
|
30823
|
-
bus: "#b45309",
|
|
30824
|
-
motorcycle: "#eab308",
|
|
30825
|
-
bicycle: "#ca8a04",
|
|
30826
|
-
motion: "#facc15"
|
|
31367
|
+
plate: "#ec4899"
|
|
30827
31368
|
};
|
|
31369
|
+
/**
|
|
31370
|
+
* Fixed colors for known detection classes — derived from the taxonomy
|
|
31371
|
+
* (every detection/motion kind) plus the UI-only face/plate classes. Kept as
|
|
31372
|
+
* a named export for back-compat with existing consumers.
|
|
31373
|
+
*/
|
|
31374
|
+
var CLASS_COLORS = Object.freeze({
|
|
31375
|
+
...Object.fromEntries(Object.values(EVENT_TAXONOMY).filter((e) => e.category === "detection" || e.kind === "motion").map((e) => [e.kind, e.color])),
|
|
31376
|
+
...UI_ONLY_COLORS
|
|
31377
|
+
});
|
|
30828
31378
|
/** Fallback color palette for unknown classes (deterministic hash-based) */
|
|
30829
31379
|
var FALLBACK_PALETTE = [
|
|
30830
31380
|
"#ef4444",
|
|
@@ -30839,19 +31389,131 @@ var FALLBACK_PALETTE = [
|
|
|
30839
31389
|
"#059669"
|
|
30840
31390
|
];
|
|
30841
31391
|
/** Primary/default color when nothing else matches */
|
|
30842
|
-
var DEFAULT_COLOR =
|
|
31392
|
+
var DEFAULT_COLOR = DEFAULT_EVENT_COLOR;
|
|
30843
31393
|
/**
|
|
30844
31394
|
* Get the color for a detection class name.
|
|
30845
|
-
*
|
|
31395
|
+
* Resolves: custom override → taxonomy/UI-only fixed color → deterministic
|
|
31396
|
+
* hash-based color for unknown classes.
|
|
30846
31397
|
*/
|
|
30847
31398
|
function getClassColor(className, customColors) {
|
|
30848
31399
|
if (customColors?.[className]) return customColors[className];
|
|
30849
31400
|
if (customColors?.[className.toLowerCase()]) return customColors[className.toLowerCase()];
|
|
31401
|
+
const fromTaxonomy = EVENT_TAXONOMY[className] ?? EVENT_TAXONOMY[className.toLowerCase()];
|
|
31402
|
+
if (fromTaxonomy !== void 0) return fromTaxonomy.color;
|
|
30850
31403
|
if (CLASS_COLORS[className]) return CLASS_COLORS[className];
|
|
30851
31404
|
if (CLASS_COLORS[className.toLowerCase()]) return CLASS_COLORS[className.toLowerCase()];
|
|
30852
31405
|
let hash = 0;
|
|
30853
31406
|
for (let i = 0; i < className.length; i++) hash = hash * 31 + (className.codePointAt(i) ?? 0) >>> 0;
|
|
30854
|
-
return FALLBACK_PALETTE[hash % FALLBACK_PALETTE.length] ??
|
|
31407
|
+
return FALLBACK_PALETTE[hash % FALLBACK_PALETTE.length] ?? DEFAULT_COLOR;
|
|
31408
|
+
}
|
|
31409
|
+
//#endregion
|
|
31410
|
+
//#region src/composites/event-kind-visuals.tsx
|
|
31411
|
+
/**
|
|
31412
|
+
* Event-kind VISUALS — the UI-side half of the unified taxonomy dictionary
|
|
31413
|
+
* (`@camstack/types` `EVENT_TAXONOMY` owns the serializable data:
|
|
31414
|
+
* color / iconId / labelKey; this owns `iconId → lucide component` and
|
|
31415
|
+
* `labelKey → t()`).
|
|
31416
|
+
*
|
|
31417
|
+
* Every UI that renders an event kind (timeline, events tree, chips,
|
|
31418
|
+
* detection canvas/tree) resolves its glyph + translated label here — no
|
|
31419
|
+
* per-component hardcoded icon or label.
|
|
31420
|
+
*/
|
|
31421
|
+
/**
|
|
31422
|
+
* `iconId` → lucide component. Built ONLY from statically-imported icons
|
|
31423
|
+
* (bundle-safe). Unknown ids resolve to the neutral `Tag` fallback.
|
|
31424
|
+
*/
|
|
31425
|
+
var EVENT_KIND_ICONS = {
|
|
31426
|
+
motion: Activity,
|
|
31427
|
+
audio: Volume2,
|
|
31428
|
+
person: User,
|
|
31429
|
+
vehicle: Car,
|
|
31430
|
+
animal: PawPrint,
|
|
31431
|
+
package: Package,
|
|
31432
|
+
sensor: Radio,
|
|
31433
|
+
control: SlidersHorizontal,
|
|
31434
|
+
car: Car,
|
|
31435
|
+
truck: Truck,
|
|
31436
|
+
bus: Bus,
|
|
31437
|
+
motorcycle: Bike,
|
|
31438
|
+
bicycle: Bike,
|
|
31439
|
+
airplane: Plane,
|
|
31440
|
+
boat: Sailboat,
|
|
31441
|
+
train: TrainFront,
|
|
31442
|
+
bird: Bird,
|
|
31443
|
+
cat: Cat,
|
|
31444
|
+
dog: Dog,
|
|
31445
|
+
horse: PawPrint,
|
|
31446
|
+
sheep: PawPrint,
|
|
31447
|
+
cow: PawPrint,
|
|
31448
|
+
elephant: PawPrint,
|
|
31449
|
+
bear: PawPrint,
|
|
31450
|
+
zebra: PawPrint,
|
|
31451
|
+
giraffe: PawPrint,
|
|
31452
|
+
door: DoorOpen,
|
|
31453
|
+
pir: Radar,
|
|
31454
|
+
smoke: Flame,
|
|
31455
|
+
water: Droplet,
|
|
31456
|
+
gas: Wind,
|
|
31457
|
+
vibration: Vibrate,
|
|
31458
|
+
tamper: ShieldAlert,
|
|
31459
|
+
presence: UserCheck,
|
|
31460
|
+
generic: Tag,
|
|
31461
|
+
lock: Lock,
|
|
31462
|
+
siren: Siren,
|
|
31463
|
+
switch: ToggleRight,
|
|
31464
|
+
doorbell: BellRing,
|
|
31465
|
+
button: CircleDot,
|
|
31466
|
+
"audio-speech": MessageSquare,
|
|
31467
|
+
"audio-scream": Megaphone,
|
|
31468
|
+
"audio-crying": Baby,
|
|
31469
|
+
"audio-laughter": Laugh,
|
|
31470
|
+
"audio-music": Music,
|
|
31471
|
+
"audio-dog": Dog,
|
|
31472
|
+
"audio-cat": Cat,
|
|
31473
|
+
"audio-bird": Bird,
|
|
31474
|
+
"audio-animal": PawPrint,
|
|
31475
|
+
"audio-alarm": BellRing,
|
|
31476
|
+
"audio-doorbell": BellRing,
|
|
31477
|
+
"audio-glass_breaking": TriangleAlert,
|
|
31478
|
+
"audio-gunshot": Crosshair,
|
|
31479
|
+
"audio-vehicle": Car,
|
|
31480
|
+
"audio-siren": Siren,
|
|
31481
|
+
"audio-fire": Flame,
|
|
31482
|
+
"audio-water": Droplets,
|
|
31483
|
+
"audio-wind": Wind,
|
|
31484
|
+
"audio-door": DoorOpen,
|
|
31485
|
+
"audio-footsteps": Footprints,
|
|
31486
|
+
"audio-crowd": Users,
|
|
31487
|
+
"audio-telephone": Phone,
|
|
31488
|
+
"audio-engine": Cog,
|
|
31489
|
+
"audio-tools": Hammer,
|
|
31490
|
+
"audio-silence": VolumeX
|
|
31491
|
+
};
|
|
31492
|
+
/** Resolve an `iconId` to a lucide component (falls back to `Tag`). */
|
|
31493
|
+
function resolveEventKindIcon(iconId) {
|
|
31494
|
+
if (Object.hasOwn(EVENT_KIND_ICONS, iconId)) return EVENT_KIND_ICONS[iconId];
|
|
31495
|
+
if (iconId.startsWith("audio-")) return Volume2;
|
|
31496
|
+
return Tag;
|
|
31497
|
+
}
|
|
31498
|
+
/**
|
|
31499
|
+
* Translated label for an event kind — `t(labelKey)` when a translation
|
|
31500
|
+
* exists, else the English `label` fallback. Robust to a missing key: an
|
|
31501
|
+
* i18n backend that echoes the key unchanged (react-i18next default) is
|
|
31502
|
+
* treated as "no translation" and the fallback label is returned, so the UI
|
|
31503
|
+
* never renders a raw `eventKind.*` key.
|
|
31504
|
+
*/
|
|
31505
|
+
function eventKindLabel(descriptor, t) {
|
|
31506
|
+
if (t === void 0) return descriptor.label;
|
|
31507
|
+
const translated = t(descriptor.labelKey);
|
|
31508
|
+
return translated === descriptor.labelKey || translated.length === 0 ? descriptor.label : translated;
|
|
31509
|
+
}
|
|
31510
|
+
/** Small convenience component: renders the lucide glyph for an `iconId`. */
|
|
31511
|
+
function EventKindGlyph({ iconId, size = 16, color, className }) {
|
|
31512
|
+
return createElement(resolveEventKindIcon(iconId), {
|
|
31513
|
+
size,
|
|
31514
|
+
color,
|
|
31515
|
+
className
|
|
31516
|
+
});
|
|
30855
31517
|
}
|
|
30856
31518
|
//#endregion
|
|
30857
31519
|
//#region src/composites/detection-canvas.tsx
|
|
@@ -32500,6 +33162,294 @@ function mountAddonPage(PageComponent, options = {}) {
|
|
|
32500
33162
|
}));
|
|
32501
33163
|
}
|
|
32502
33164
|
//#endregion
|
|
33165
|
+
//#region src/composites/device-select-filter.ts
|
|
33166
|
+
/** True when two string lists share at least one member. */
|
|
33167
|
+
function intersects(a, b) {
|
|
33168
|
+
if (a.length === 0 || b.length === 0) return false;
|
|
33169
|
+
const set = new Set(a);
|
|
33170
|
+
return b.some((v) => set.has(v));
|
|
33171
|
+
}
|
|
33172
|
+
/**
|
|
33173
|
+
* Does a device satisfy the filter?
|
|
33174
|
+
*
|
|
33175
|
+
* Union match: with an empty/absent filter every device passes; otherwise the
|
|
33176
|
+
* device passes when ANY provided clause matches — its `features` intersect
|
|
33177
|
+
* `caps`, OR its `type` is in `types`. `excludeDeviceId` is subtracted last
|
|
33178
|
+
* (it always drops the device regardless of the other clauses).
|
|
33179
|
+
*/
|
|
33180
|
+
function deviceMatchesFilter(device, filter) {
|
|
33181
|
+
if (filter?.excludeDeviceId !== void 0 && device.id === filter.excludeDeviceId) return false;
|
|
33182
|
+
const hasCaps = filter?.caps !== void 0 && filter.caps.length > 0;
|
|
33183
|
+
const hasTypes = filter?.types !== void 0 && filter.types.length > 0;
|
|
33184
|
+
if (!hasCaps && !hasTypes) return true;
|
|
33185
|
+
if (hasCaps && intersects(device.features ?? [], filter.caps)) return true;
|
|
33186
|
+
if (hasTypes && filter.types.includes(device.type)) return true;
|
|
33187
|
+
return false;
|
|
33188
|
+
}
|
|
33189
|
+
/** Human label for a device option: `Name (Location)` when a location is set. */
|
|
33190
|
+
function deviceOptionLabel(device) {
|
|
33191
|
+
return typeof device.location === "string" && device.location.length > 0 ? `${device.name} (${device.location})` : device.name;
|
|
33192
|
+
}
|
|
33193
|
+
/**
|
|
33194
|
+
* Filter a device list and project it into sorted `{ value, label }` options
|
|
33195
|
+
* (value = the device id as a string). Sorted case-insensitively by label so
|
|
33196
|
+
* the picker order is stable.
|
|
33197
|
+
*/
|
|
33198
|
+
function devicesToOptions(devices, filter) {
|
|
33199
|
+
return devices.filter((d) => deviceMatchesFilter(d, filter)).map((d) => ({
|
|
33200
|
+
value: String(d.id),
|
|
33201
|
+
label: deviceOptionLabel(d)
|
|
33202
|
+
})).toSorted((a, b) => a.label.localeCompare(b.label));
|
|
33203
|
+
}
|
|
33204
|
+
/**
|
|
33205
|
+
* Free-text option filter — case-insensitive AND over whitespace tokens, each
|
|
33206
|
+
* matched against the option's `value` + `label` (so a device is found by name,
|
|
33207
|
+
* id, or location). An empty query returns every option in order.
|
|
33208
|
+
*/
|
|
33209
|
+
function filterDeviceOptions(options, query) {
|
|
33210
|
+
const tokens = query.trim().toLowerCase().split(/\s+/).filter(Boolean);
|
|
33211
|
+
if (tokens.length === 0) return [...options];
|
|
33212
|
+
return options.filter((opt) => {
|
|
33213
|
+
const hay = `${opt.value} ${opt.label}`.toLowerCase();
|
|
33214
|
+
return tokens.every((t) => hay.includes(t));
|
|
33215
|
+
});
|
|
33216
|
+
}
|
|
33217
|
+
/**
|
|
33218
|
+
* Resolve the currently-selected values into options IN SELECTION ORDER (so
|
|
33219
|
+
* chips stay stable while searching). A selected value with no matching option
|
|
33220
|
+
* becomes a synthetic `{ value, label: value }` — a stale id still shows as a
|
|
33221
|
+
* removable chip rather than silently vanishing.
|
|
33222
|
+
*/
|
|
33223
|
+
function selectedDeviceOptions(options, selected) {
|
|
33224
|
+
const byValue = new Map(options.map((o) => [o.value, o]));
|
|
33225
|
+
return selected.map((v) => byValue.get(v) ?? {
|
|
33226
|
+
value: v,
|
|
33227
|
+
label: v
|
|
33228
|
+
});
|
|
33229
|
+
}
|
|
33230
|
+
//#endregion
|
|
33231
|
+
//#region src/composites/device-select-field.tsx
|
|
33232
|
+
/**
|
|
33233
|
+
* `device-select` / `device-multiselect` renderers.
|
|
33234
|
+
*
|
|
33235
|
+
* Both fetch EVERY system device via `deviceManager.listAll` and narrow the
|
|
33236
|
+
* options CLIENT-SIDE with the field's declarative `deviceFilter` (see
|
|
33237
|
+
* `device-select-filter.ts`). No server-computed option list is involved —
|
|
33238
|
+
* the form field carries only the filter. Value(s) are device ids as strings.
|
|
33239
|
+
*
|
|
33240
|
+
* The multi variant mirrors the "Linked devices" searchable combobox UX
|
|
33241
|
+
* (removable chips + typeahead dropdown); the single variant is a native
|
|
33242
|
+
* select. Both are inline in ui-library (like `node-select`) so any host that
|
|
33243
|
+
* renders the shared form field gets them without extra registration.
|
|
33244
|
+
*/
|
|
33245
|
+
var INPUT_CLASS$1 = "w-full rounded-md border border-border bg-background px-2.5 py-1.5 text-xs text-foreground focus:border-primary focus:ring-1 focus:ring-primary/30 outline-none disabled:opacity-50 disabled:cursor-not-allowed";
|
|
33246
|
+
var INPUT_SHELL = "flex items-center gap-1.5 rounded-md border border-border bg-background px-2 py-1.5 focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/30";
|
|
33247
|
+
var LABEL_CLASS$1 = "block text-[11px] font-medium text-foreground mb-1 break-words";
|
|
33248
|
+
var DESC_CLASS$1 = "text-[10px] text-foreground-subtle mt-0.5 break-words";
|
|
33249
|
+
/** The compact projection of the listAll rows the device fields consume. */
|
|
33250
|
+
function toCandidates(rows) {
|
|
33251
|
+
if (!Array.isArray(rows)) return [];
|
|
33252
|
+
const out = [];
|
|
33253
|
+
for (const row of rows) {
|
|
33254
|
+
if (typeof row !== "object" || row === null) continue;
|
|
33255
|
+
const r = row;
|
|
33256
|
+
if (typeof r.id !== "number" || typeof r.type !== "string" || typeof r.name !== "string") continue;
|
|
33257
|
+
out.push({
|
|
33258
|
+
id: r.id,
|
|
33259
|
+
type: r.type,
|
|
33260
|
+
name: r.name,
|
|
33261
|
+
location: typeof r.location === "string" ? r.location : null,
|
|
33262
|
+
features: Array.isArray(r.features) ? r.features.filter((f) => typeof f === "string") : []
|
|
33263
|
+
});
|
|
33264
|
+
}
|
|
33265
|
+
return out;
|
|
33266
|
+
}
|
|
33267
|
+
function FieldShell({ label, description, required, translationFn, children }) {
|
|
33268
|
+
const resolvedLabel = resolveLabel(label, translationFn);
|
|
33269
|
+
const resolvedDescription = resolveLabel(description, translationFn);
|
|
33270
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
33271
|
+
className: "min-w-0",
|
|
33272
|
+
children: [
|
|
33273
|
+
resolvedLabel !== void 0 && resolvedLabel !== "" && /* @__PURE__ */ jsxs("label", {
|
|
33274
|
+
className: LABEL_CLASS$1,
|
|
33275
|
+
children: [resolvedLabel, required && /* @__PURE__ */ jsx("span", {
|
|
33276
|
+
className: "text-danger ml-0.5",
|
|
33277
|
+
children: "*"
|
|
33278
|
+
})]
|
|
33279
|
+
}),
|
|
33280
|
+
children,
|
|
33281
|
+
resolvedDescription && /* @__PURE__ */ jsx("p", {
|
|
33282
|
+
className: DESC_CLASS$1,
|
|
33283
|
+
children: resolvedDescription
|
|
33284
|
+
})
|
|
33285
|
+
]
|
|
33286
|
+
});
|
|
33287
|
+
}
|
|
33288
|
+
function DeviceSelectField({ field, value, onChange, disabled, translationFn }) {
|
|
33289
|
+
const { data } = useDeviceManagerListAll({});
|
|
33290
|
+
const options = useMemo(() => devicesToOptions(toCandidates(data), field.deviceFilter), [data, field.deviceFilter]);
|
|
33291
|
+
const current = value === void 0 || value === null ? "" : String(value);
|
|
33292
|
+
return /* @__PURE__ */ jsx(FieldShell, {
|
|
33293
|
+
label: field.label,
|
|
33294
|
+
description: field.description,
|
|
33295
|
+
required: field.required,
|
|
33296
|
+
translationFn,
|
|
33297
|
+
children: /* @__PURE__ */ jsxs("select", {
|
|
33298
|
+
className: INPUT_CLASS$1,
|
|
33299
|
+
value: current,
|
|
33300
|
+
disabled: disabled || field.disabled,
|
|
33301
|
+
onChange: (e) => onChange(e.target.value),
|
|
33302
|
+
children: [!field.required && /* @__PURE__ */ jsx("option", {
|
|
33303
|
+
value: "",
|
|
33304
|
+
children: "— Select device —"
|
|
33305
|
+
}), options.map((opt) => /* @__PURE__ */ jsx("option", {
|
|
33306
|
+
value: opt.value,
|
|
33307
|
+
children: opt.label
|
|
33308
|
+
}, opt.value))]
|
|
33309
|
+
})
|
|
33310
|
+
});
|
|
33311
|
+
}
|
|
33312
|
+
function DeviceMultiSelectField({ field, value, onChange, disabled, translationFn }) {
|
|
33313
|
+
const { data } = useDeviceManagerListAll({});
|
|
33314
|
+
const options = useMemo(() => devicesToOptions(toCandidates(data), field.deviceFilter), [data, field.deviceFilter]);
|
|
33315
|
+
const selected = Array.isArray(value) ? value.map(String) : [];
|
|
33316
|
+
const isDisabled = disabled === true || field.disabled === true;
|
|
33317
|
+
const atMax = field.maxItems !== void 0 && selected.length >= field.maxItems;
|
|
33318
|
+
const [query, setQuery] = useState("");
|
|
33319
|
+
const [open, setOpen] = useState(false);
|
|
33320
|
+
const [highlight, setHighlight] = useState(0);
|
|
33321
|
+
const inputRef = useRef(null);
|
|
33322
|
+
const blurTimer = useRef(null);
|
|
33323
|
+
const selectedOptions = useMemo(() => selectedDeviceOptions(options, selected), [options, selected]);
|
|
33324
|
+
const filtered = useMemo(() => filterDeviceOptions(options, query), [options, query]);
|
|
33325
|
+
const toggle = (optValue) => {
|
|
33326
|
+
if (isDisabled) return;
|
|
33327
|
+
if (selected.includes(optValue)) onChange(selected.filter((v) => v !== optValue));
|
|
33328
|
+
else {
|
|
33329
|
+
if (field.maxItems !== void 0 && selected.length >= field.maxItems) return;
|
|
33330
|
+
onChange([...selected, optValue]);
|
|
33331
|
+
}
|
|
33332
|
+
};
|
|
33333
|
+
const handleKeyDown = (e) => {
|
|
33334
|
+
if (e.key === "ArrowDown") {
|
|
33335
|
+
e.preventDefault();
|
|
33336
|
+
setOpen(true);
|
|
33337
|
+
setHighlight((h) => filtered.length === 0 ? 0 : (h + 1) % filtered.length);
|
|
33338
|
+
} else if (e.key === "ArrowUp") {
|
|
33339
|
+
e.preventDefault();
|
|
33340
|
+
setOpen(true);
|
|
33341
|
+
setHighlight((h) => filtered.length === 0 ? 0 : (h - 1 + filtered.length) % filtered.length);
|
|
33342
|
+
} else if (e.key === "Enter") {
|
|
33343
|
+
e.preventDefault();
|
|
33344
|
+
const opt = filtered[highlight];
|
|
33345
|
+
if (opt) toggle(opt.value);
|
|
33346
|
+
} else if (e.key === "Escape") setOpen(false);
|
|
33347
|
+
else if (e.key === "Backspace" && query === "" && selected.length > 0) onChange(selected.slice(0, -1));
|
|
33348
|
+
};
|
|
33349
|
+
const label = resolveLabel(field.label, translationFn);
|
|
33350
|
+
const description = resolveLabel(field.description, translationFn);
|
|
33351
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
33352
|
+
className: "min-w-0",
|
|
33353
|
+
children: [
|
|
33354
|
+
label !== void 0 && label !== "" && /* @__PURE__ */ jsx("label", {
|
|
33355
|
+
className: LABEL_CLASS$1,
|
|
33356
|
+
children: label
|
|
33357
|
+
}),
|
|
33358
|
+
selectedOptions.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
33359
|
+
className: "flex flex-wrap gap-1 mb-1.5",
|
|
33360
|
+
children: selectedOptions.map((opt) => /* @__PURE__ */ jsxs("span", {
|
|
33361
|
+
className: "inline-flex items-center gap-1 rounded-md bg-primary/10 px-1.5 py-0.5 text-[11px] text-primary max-w-full",
|
|
33362
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
33363
|
+
className: "truncate",
|
|
33364
|
+
children: opt.label
|
|
33365
|
+
}), !isDisabled && /* @__PURE__ */ jsx("button", {
|
|
33366
|
+
type: "button",
|
|
33367
|
+
className: "shrink-0 hover:text-danger",
|
|
33368
|
+
"aria-label": `Remove ${opt.label}`,
|
|
33369
|
+
onClick: () => toggle(opt.value),
|
|
33370
|
+
children: /* @__PURE__ */ jsx(X, { className: "h-2.5 w-2.5" })
|
|
33371
|
+
})]
|
|
33372
|
+
}, opt.value))
|
|
33373
|
+
}),
|
|
33374
|
+
/* @__PURE__ */ jsxs("div", {
|
|
33375
|
+
className: INPUT_SHELL + (isDisabled ? " opacity-50" : ""),
|
|
33376
|
+
children: [
|
|
33377
|
+
/* @__PURE__ */ jsx(Search, { className: "h-3.5 w-3.5 shrink-0 text-foreground-subtle" }),
|
|
33378
|
+
/* @__PURE__ */ jsx("input", {
|
|
33379
|
+
ref: inputRef,
|
|
33380
|
+
type: "text",
|
|
33381
|
+
role: "combobox",
|
|
33382
|
+
"aria-expanded": open,
|
|
33383
|
+
"aria-controls": `dsel-${field.key}`,
|
|
33384
|
+
className: "min-w-0 flex-1 bg-transparent text-xs text-foreground outline-none placeholder:text-foreground-disabled",
|
|
33385
|
+
value: query,
|
|
33386
|
+
placeholder: atMax ? `Max ${field.maxItems} selected` : field.placeholder ?? "Search devices…",
|
|
33387
|
+
disabled: isDisabled,
|
|
33388
|
+
onChange: (e) => {
|
|
33389
|
+
setQuery(e.target.value);
|
|
33390
|
+
setOpen(true);
|
|
33391
|
+
setHighlight(0);
|
|
33392
|
+
},
|
|
33393
|
+
onFocus: () => setOpen(true),
|
|
33394
|
+
onBlur: () => {
|
|
33395
|
+
blurTimer.current = setTimeout(() => setOpen(false), 120);
|
|
33396
|
+
},
|
|
33397
|
+
onKeyDown: handleKeyDown
|
|
33398
|
+
}),
|
|
33399
|
+
/* @__PURE__ */ jsx(ChevronDown, {
|
|
33400
|
+
className: "h-3.5 w-3.5 shrink-0 cursor-pointer text-foreground-subtle",
|
|
33401
|
+
onMouseDown: (e) => {
|
|
33402
|
+
e.preventDefault();
|
|
33403
|
+
if (blurTimer.current) clearTimeout(blurTimer.current);
|
|
33404
|
+
setOpen((o) => !o);
|
|
33405
|
+
inputRef.current?.focus();
|
|
33406
|
+
}
|
|
33407
|
+
})
|
|
33408
|
+
]
|
|
33409
|
+
}),
|
|
33410
|
+
open && !isDisabled && /* @__PURE__ */ jsx("div", {
|
|
33411
|
+
id: `dsel-${field.key}`,
|
|
33412
|
+
role: "listbox",
|
|
33413
|
+
className: "mt-1 max-h-56 overflow-y-auto rounded-md border border-border bg-surface shadow-lg",
|
|
33414
|
+
onMouseDown: (e) => {
|
|
33415
|
+
e.preventDefault();
|
|
33416
|
+
},
|
|
33417
|
+
children: filtered.length === 0 ? /* @__PURE__ */ jsx("div", {
|
|
33418
|
+
className: "px-2.5 py-2 text-[11px] text-foreground-subtle italic",
|
|
33419
|
+
children: options.length === 0 ? "No matching devices" : `No matches for “${query}”`
|
|
33420
|
+
}) : filtered.map((opt, i) => {
|
|
33421
|
+
const checked = selected.includes(opt.value);
|
|
33422
|
+
const blockedByMax = !checked && atMax;
|
|
33423
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
33424
|
+
type: "button",
|
|
33425
|
+
role: "option",
|
|
33426
|
+
"aria-selected": checked,
|
|
33427
|
+
disabled: blockedByMax,
|
|
33428
|
+
className: [
|
|
33429
|
+
"flex w-full items-center gap-2 px-2.5 py-1.5 text-left text-xs transition-colors",
|
|
33430
|
+
i === highlight ? "bg-primary/10" : "hover:bg-surface-hover",
|
|
33431
|
+
blockedByMax ? "opacity-40 cursor-not-allowed" : "cursor-pointer"
|
|
33432
|
+
].join(" "),
|
|
33433
|
+
onMouseEnter: () => setHighlight(i),
|
|
33434
|
+
onClick: () => toggle(opt.value),
|
|
33435
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
33436
|
+
className: ["flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded border", checked ? "border-primary bg-primary text-white" : "border-border"].join(" "),
|
|
33437
|
+
children: checked && /* @__PURE__ */ jsx(Check, { className: "h-2.5 w-2.5" })
|
|
33438
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
33439
|
+
className: "truncate text-foreground",
|
|
33440
|
+
children: opt.label
|
|
33441
|
+
})]
|
|
33442
|
+
}, opt.value);
|
|
33443
|
+
})
|
|
33444
|
+
}),
|
|
33445
|
+
description && /* @__PURE__ */ jsx("p", {
|
|
33446
|
+
className: DESC_CLASS$1,
|
|
33447
|
+
children: description
|
|
33448
|
+
})
|
|
33449
|
+
]
|
|
33450
|
+
});
|
|
33451
|
+
}
|
|
33452
|
+
//#endregion
|
|
32503
33453
|
//#region src/contexts/custom-field-renderers.tsx
|
|
32504
33454
|
/**
|
|
32505
33455
|
* Custom field renderer registry.
|
|
@@ -38482,6 +39432,20 @@ function FormField({ field, values, onChange, disabled, translationFn, onTestFie
|
|
|
38482
39432
|
disabled,
|
|
38483
39433
|
translationFn
|
|
38484
39434
|
});
|
|
39435
|
+
case "device-select": return /* @__PURE__ */ jsx(DeviceSelectField, {
|
|
39436
|
+
field,
|
|
39437
|
+
value,
|
|
39438
|
+
onChange: handleChange,
|
|
39439
|
+
disabled,
|
|
39440
|
+
translationFn
|
|
39441
|
+
});
|
|
39442
|
+
case "device-multiselect": return /* @__PURE__ */ jsx(DeviceMultiSelectField, {
|
|
39443
|
+
field,
|
|
39444
|
+
value,
|
|
39445
|
+
onChange: handleChange,
|
|
39446
|
+
disabled,
|
|
39447
|
+
translationFn
|
|
39448
|
+
});
|
|
38485
39449
|
case "probe": return /* @__PURE__ */ jsx(ProbeField, {
|
|
38486
39450
|
field,
|
|
38487
39451
|
value,
|
|
@@ -38991,6 +39955,7 @@ function computeClientHints(container) {
|
|
|
38991
39955
|
var RECONNECT_BASE_DELAY_MS = 1500;
|
|
38992
39956
|
var RECONNECT_MAX_DELAY_MS = 15e3;
|
|
38993
39957
|
var MAX_RECONNECT_ATTEMPTS = 40;
|
|
39958
|
+
var FIRST_FRAME_TIMEOUT_MS = 8e3;
|
|
38994
39959
|
function CameraStreamPlayer({ serverUrl, streamKey, label, autoPlay = true, muted: initialMuted = true, showControls = true, showStats = false, onPlaybackStats, onClientNetworkSample, onConnectTiming, className = "", onStateChange, onError, overlay, createSession, sendAnswer, handleOffer, getIceServers, addIceCandidate, getIceCandidates, closeSession, getSessionState, reoffer, posterUrl, hintsOverride, reconnectSignal, onControlChannel }) {
|
|
38995
39960
|
const videoRef = useRef(null);
|
|
38996
39961
|
const containerRef = useRef(null);
|
|
@@ -39367,14 +40332,26 @@ function CameraStreamPlayer({ serverUrl, streamKey, label, autoPlay = true, mute
|
|
|
39367
40332
|
});
|
|
39368
40333
|
onConnectTiming?.({ ...timing });
|
|
39369
40334
|
const v = videoRef.current;
|
|
39370
|
-
if (v && "requestVideoFrameCallback" in v)
|
|
39371
|
-
|
|
39372
|
-
|
|
39373
|
-
|
|
39374
|
-
|
|
40335
|
+
if (v && "requestVideoFrameCallback" in v) {
|
|
40336
|
+
v.requestVideoFrameCallback(() => {
|
|
40337
|
+
timing.firstFrameMs = ms();
|
|
40338
|
+
console.info("[WebRTC timing] first decoded frame", {
|
|
40339
|
+
streamKey,
|
|
40340
|
+
firstFrameMs: timing.firstFrameMs
|
|
40341
|
+
});
|
|
40342
|
+
onConnectTiming?.({ ...timing });
|
|
39375
40343
|
});
|
|
39376
|
-
|
|
39377
|
-
|
|
40344
|
+
setTimeout(() => {
|
|
40345
|
+
if (!mountedRef.current) return;
|
|
40346
|
+
if (timing.firstFrameMs !== void 0) return;
|
|
40347
|
+
console.warn("[WebRTC timing] NO decoded frame (stalled)", {
|
|
40348
|
+
streamKey,
|
|
40349
|
+
sinceIceConnectedMs: ms() - (timing.iceConnectedMs ?? 0),
|
|
40350
|
+
iceConnectedMs: timing.iceConnectedMs,
|
|
40351
|
+
firstTrackMs: timing.firstTrackMs
|
|
40352
|
+
});
|
|
40353
|
+
}, FIRST_FRAME_TIMEOUT_MS);
|
|
40354
|
+
}
|
|
39378
40355
|
}
|
|
39379
40356
|
reconnectAttemptsRef.current = 0;
|
|
39380
40357
|
if (seamless) swapInOnce();
|
|
@@ -39407,8 +40384,12 @@ function CameraStreamPlayer({ serverUrl, streamKey, label, autoPlay = true, mute
|
|
|
39407
40384
|
await pc.setLocalDescription(offer);
|
|
39408
40385
|
timing.localSetMs = ms();
|
|
39409
40386
|
if (!mountedRef.current || abort.signal.aborted) return;
|
|
40387
|
+
const clientOfferHints = {
|
|
40388
|
+
...computeClientHints(containerRef.current),
|
|
40389
|
+
...hintsOverride
|
|
40390
|
+
};
|
|
39410
40391
|
const signalingStart = ms();
|
|
39411
|
-
const { sessionId: sid, sdpAnswer } = await handleOffer(pc.localDescription?.sdp ?? offer.sdp ?? "");
|
|
40392
|
+
const { sessionId: sid, sdpAnswer } = await handleOffer(pc.localDescription?.sdp ?? offer.sdp ?? "", void 0, clientOfferHints);
|
|
39412
40393
|
timing.signalingRttMs = ms() - signalingStart;
|
|
39413
40394
|
sessionId = sid;
|
|
39414
40395
|
sessionIdsRef.current.add(sid);
|
|
@@ -39469,7 +40450,8 @@ function CameraStreamPlayer({ serverUrl, streamKey, label, autoPlay = true, mute
|
|
|
39469
40450
|
partialReconnectReset,
|
|
39470
40451
|
updateState,
|
|
39471
40452
|
onError,
|
|
39472
|
-
startSessionStatePoll
|
|
40453
|
+
startSessionStatePoll,
|
|
40454
|
+
hintsOverride
|
|
39473
40455
|
]);
|
|
39474
40456
|
renegotiateRef.current = useCallback(async (sessionId, target) => {
|
|
39475
40457
|
const reofferFn = reoffer;
|
|
@@ -39532,7 +40514,11 @@ function CameraStreamPlayer({ serverUrl, streamKey, label, autoPlay = true, mute
|
|
|
39532
40514
|
pc.close();
|
|
39533
40515
|
return;
|
|
39534
40516
|
}
|
|
39535
|
-
const
|
|
40517
|
+
const reofferHints = {
|
|
40518
|
+
...computeClientHints(containerRef.current),
|
|
40519
|
+
...hintsOverride
|
|
40520
|
+
};
|
|
40521
|
+
const { sessionId: sid, sdpAnswer } = await reofferFn(sessionId, pc.localDescription?.sdp ?? offer.sdp ?? "", target, reofferHints);
|
|
39536
40522
|
if (!mountedRef.current) {
|
|
39537
40523
|
pc.close();
|
|
39538
40524
|
return;
|
|
@@ -39583,7 +40569,8 @@ function CameraStreamPlayer({ serverUrl, streamKey, label, autoPlay = true, mute
|
|
|
39583
40569
|
addIceCandidate,
|
|
39584
40570
|
getIceCandidates,
|
|
39585
40571
|
updateState,
|
|
39586
|
-
startSessionStatePoll
|
|
40572
|
+
startSessionStatePoll,
|
|
40573
|
+
hintsOverride
|
|
39587
40574
|
]);
|
|
39588
40575
|
const connect = useClientOffer ? connectClientOffer : useServerOffer ? connectServerOffer : connectWhep;
|
|
39589
40576
|
const connectRef = useRef(() => {});
|
|
@@ -45296,13 +46283,14 @@ function useDeviceWebrtc(trpc, deviceId, pollIntervalMs = 5e3) {
|
|
|
45296
46283
|
deviceId,
|
|
45297
46284
|
getIceServers
|
|
45298
46285
|
]);
|
|
45299
|
-
const handleOffer = useCallback(async (target, sdpOffer, sessionId) => {
|
|
46286
|
+
const handleOffer = useCallback(async (target, sdpOffer, sessionId, hints) => {
|
|
45300
46287
|
if (deviceId === null) throw new Error("No device selected");
|
|
45301
46288
|
return trpc.webrtcSession.handleOffer.mutate({
|
|
45302
46289
|
deviceId,
|
|
45303
46290
|
target,
|
|
45304
46291
|
sdpOffer,
|
|
45305
|
-
...sessionId !== void 0 ? { sessionId } : {}
|
|
46292
|
+
...sessionId !== void 0 ? { sessionId } : {},
|
|
46293
|
+
...hints !== void 0 ? { hints } : {}
|
|
45306
46294
|
});
|
|
45307
46295
|
}, [trpc, deviceId]);
|
|
45308
46296
|
const sendAnswer = useCallback(async (sessionId, sdpAnswer) => {
|
|
@@ -45646,4 +46634,4 @@ var MotionZonesSettings = lazy(() => import("./MotionZonesSettings-NcxxQN8r.js")
|
|
|
45646
46634
|
/** Lazy-wrapped `PrivacyMaskSettings` — code-split off the main bundle. */
|
|
45647
46635
|
var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-APgPLF7p.js").then((m) => ({ default: m.PrivacyMaskSettings })));
|
|
45648
46636
|
//#endregion
|
|
45649
|
-
export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EmptyState, ErrorBox, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, GroupedModelSelector, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, ensureMfHostInit, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolvePrimaryChild, resolveSensorDisplay, scrubReducer, serializeRecordedCommand, shouldCommit, shouldEmit, sortRows, statusIcons, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdateFrameworkPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyDeviceSettingsPatch, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveContribution, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceSettingsContribution, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetLinkedDevices, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellApplyDeviceSettingsPatch, useDoorbellEvents, useDoorbellGetDeviceLiveContribution, useDoorbellGetDeviceSettingsContribution, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsClearTracks, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListTracks, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsWipeAllAnalytics, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorReprobeEngine, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineExecutorValidatePipeline, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentAddonDefaults, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerReportMotion, usePipelineRunnerRunDetailSubtree, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingDeleteFootprint, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingListOpsLog, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadSegmentBytes, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorRecheckNow, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
|
|
46637
|
+
export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, DeviceMultiSelectField, DeviceSelectField, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EVENT_KIND_ICONS, EmptyState, ErrorBox, EventKindGlyph, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, GroupedModelSelector, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, ensureMfHostInit, eventKindLabel, filterDeviceOptions, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolveEventKindIcon, resolvePrimaryChild, resolveSensorDisplay, scrubReducer, selectedDeviceOptions, serializeRecordedCommand, shouldCommit, shouldEmit, sortRows, statusIcons, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyDeviceSettingsPatch, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveContribution, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceSettingsContribution, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetLinkedDevices, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellApplyDeviceSettingsPatch, useDoorbellEvents, useDoorbellGetDeviceLiveContribution, useDoorbellGetDeviceSettingsContribution, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsClearTracks, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListTracks, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsWipeAllAnalytics, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorReprobeEngine, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineExecutorValidatePipeline, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentAddonDefaults, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerReportMotion, usePipelineRunnerRunDetailSubtree, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingDeleteFootprint, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingListOpsLog, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadSegmentBytes, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorRecheckNow, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
|