@camstack/addon-auth 1.2.127 → 1.2.129
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/{dist-CrTS14S8.js → hub-browser-origin-Cd5W-H0b.js} +307 -67
- package/dist/{dist-UznM2RaH.mjs → hub-browser-origin-lAiHaCMe.mjs} +302 -68
- package/dist/magic-link/auth-magic-link.addon.js +13 -13
- package/dist/magic-link/auth-magic-link.addon.mjs +5 -5
- package/dist/oidc/auth-oidc.addon.js +16 -14
- package/dist/oidc/auth-oidc.addon.mjs +8 -6
- package/dist/webauthn/_stub.js +1 -1
- package/dist/webauthn/{_virtual_mf-localSharedImportMap___mfe_internal__addon_auth_webauthn_widgets-DLh4dk7u.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_auth_webauthn_widgets-tSRn6o3N.mjs} +3 -3
- package/dist/webauthn/_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Bifweq9M.mjs +26 -0
- package/dist/webauthn/auth-webauthn.addon.js +40 -32
- package/dist/webauthn/auth-webauthn.addon.mjs +27 -19
- package/dist/webauthn/{hostInit-6Xuu_16a.mjs → hostInit-BXYkXOBq.mjs} +3 -3
- package/dist/webauthn/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/webauthn/_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BtyGSrb1.mjs +0 -26
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as buildAddonRouteProvider, c as errMsg, i as authProviderCapability, l as BaseAddon, n as addonRoutesCapability, o as loginMethodCapability, t as hubBrowserOrigin } from "../hub-browser-origin-lAiHaCMe.mjs";
|
|
2
2
|
//#region src/magic-link/auth-magic-link.addon.ts
|
|
3
3
|
/**
|
|
4
4
|
* Magic-link authentication addon.
|
|
@@ -129,7 +129,7 @@ var AuthMagicLinkAddon = class extends BaseAddon {
|
|
|
129
129
|
type: "text",
|
|
130
130
|
key: "publicOrigin",
|
|
131
131
|
label: "Public origin",
|
|
132
|
-
description: "Where the email link points. Empty =
|
|
132
|
+
description: "Where the email link points. Empty = the hub address from Network (public tunnel, then mesh, then LAN).",
|
|
133
133
|
default: ""
|
|
134
134
|
}),
|
|
135
135
|
this.field({
|
|
@@ -169,10 +169,10 @@ var AuthMagicLinkAddon = class extends BaseAddon {
|
|
|
169
169
|
]
|
|
170
170
|
}] });
|
|
171
171
|
}
|
|
172
|
-
buildPublicOrigin() {
|
|
172
|
+
async buildPublicOrigin() {
|
|
173
173
|
const configured = this.config.publicOrigin?.trim();
|
|
174
174
|
if (configured) return configured.replace(/\/+$/, "");
|
|
175
|
-
return (
|
|
175
|
+
return await hubBrowserOrigin(this.ctx.api.localNetwork, this.ctx.logger) ?? "https://localhost:4443";
|
|
176
176
|
}
|
|
177
177
|
async findUserByEmail(email) {
|
|
178
178
|
let users;
|
|
@@ -273,7 +273,7 @@ var AuthMagicLinkAddon = class extends BaseAddon {
|
|
|
273
273
|
reply.send({ error: "sso-bridge capability unavailable" });
|
|
274
274
|
return;
|
|
275
275
|
}
|
|
276
|
-
const link = `${this.buildPublicOrigin()}/addon/auth-magic-link/login?bridge=${encodeURIComponent(token)}`;
|
|
276
|
+
const link = `${await this.buildPublicOrigin()}/addon/auth-magic-link/login?bridge=${encodeURIComponent(token)}`;
|
|
277
277
|
if (this.config.deliveryMode === "log-only") this.ctx.logger.warn("Magic link generated (log-only mode — NOT delivered via email)", { meta: {
|
|
278
278
|
email,
|
|
279
279
|
link,
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../chunk-Cek0wNdY.js");
|
|
6
|
-
const
|
|
6
|
+
const require_hub_browser_origin = require("../hub-browser-origin-Cd5W-H0b.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
9
9
|
//#region ../../node_modules/jose/dist/webapi/lib/buffer_utils.js
|
|
@@ -753,7 +753,7 @@ var DEFAULT_PROVIDER = {
|
|
|
753
753
|
};
|
|
754
754
|
var DEFAULT_CONFIG = { providers: [] };
|
|
755
755
|
var STATE_TTL_MS = 5 * 6e4;
|
|
756
|
-
var AuthOidcAddon = class extends
|
|
756
|
+
var AuthOidcAddon = class extends require_hub_browser_origin.BaseAddon {
|
|
757
757
|
/** Per-provider runtime state, keyed by `provider.id`. */
|
|
758
758
|
instances = /* @__PURE__ */ new Map();
|
|
759
759
|
/** Pending OAuth states across ALL providers. The pending entry
|
|
@@ -779,7 +779,7 @@ var AuthOidcAddon = class extends require_dist.BaseAddon {
|
|
|
779
779
|
return this.handleCallback(code, state);
|
|
780
780
|
}
|
|
781
781
|
};
|
|
782
|
-
const routeProvider =
|
|
782
|
+
const routeProvider = require_hub_browser_origin.buildAddonRouteProvider("auth-oidc", [{
|
|
783
783
|
method: "GET",
|
|
784
784
|
path: "/:providerId/start",
|
|
785
785
|
access: "public",
|
|
@@ -796,15 +796,15 @@ var AuthOidcAddon = class extends require_dist.BaseAddon {
|
|
|
796
796
|
this.ctx.logger.info("OIDC auth provider initialized", { meta: { providers: [...this.instances.keys()] } });
|
|
797
797
|
return [
|
|
798
798
|
{
|
|
799
|
-
capability:
|
|
799
|
+
capability: require_hub_browser_origin.authProviderCapability,
|
|
800
800
|
provider: authProvider
|
|
801
801
|
},
|
|
802
802
|
{
|
|
803
|
-
capability:
|
|
803
|
+
capability: require_hub_browser_origin.addonRoutesCapability,
|
|
804
804
|
provider: routeProvider
|
|
805
805
|
},
|
|
806
806
|
{
|
|
807
|
-
capability:
|
|
807
|
+
capability: require_hub_browser_origin.loginMethodCapability,
|
|
808
808
|
provider: loginMethodProvider
|
|
809
809
|
}
|
|
810
810
|
];
|
|
@@ -886,7 +886,7 @@ var AuthOidcAddon = class extends require_dist.BaseAddon {
|
|
|
886
886
|
type: "text",
|
|
887
887
|
key: "redirectUri",
|
|
888
888
|
label: "Redirect URI override",
|
|
889
|
-
description: "Optional. Default uses
|
|
889
|
+
description: "Optional. Default uses the hub address from Network (public tunnel, then mesh, then LAN) + the instance id.",
|
|
890
890
|
default: ""
|
|
891
891
|
},
|
|
892
892
|
{
|
|
@@ -975,12 +975,12 @@ var AuthOidcAddon = class extends require_dist.BaseAddon {
|
|
|
975
975
|
}
|
|
976
976
|
return doc;
|
|
977
977
|
}
|
|
978
|
-
buildRedirectUri(providerId) {
|
|
978
|
+
async buildRedirectUri(providerId) {
|
|
979
979
|
const inst = this.instances.get(providerId);
|
|
980
980
|
if (!inst) throw new Error(`OIDC: no provider configured with id "${providerId}"`);
|
|
981
981
|
const configured = inst.config.redirectUri?.trim();
|
|
982
982
|
if (configured) return configured;
|
|
983
|
-
return `${(
|
|
983
|
+
return `${await require_hub_browser_origin.hubBrowserOrigin(this.ctx.api.localNetwork, this.ctx.logger) ?? "https://localhost:4443"}/addon/auth-oidc/${providerId}/callback`;
|
|
984
984
|
}
|
|
985
985
|
async buildLoginUrl(providerId, state) {
|
|
986
986
|
const inst = this.instances.get(providerId);
|
|
@@ -989,17 +989,19 @@ var AuthOidcAddon = class extends require_dist.BaseAddon {
|
|
|
989
989
|
const codeVerifier = node_crypto.randomBytes(32).toString("base64url");
|
|
990
990
|
const codeChallenge = node_crypto.createHash("sha256").update(codeVerifier).digest("base64url");
|
|
991
991
|
const nonce = node_crypto.randomBytes(16).toString("base64url");
|
|
992
|
+
const redirectUri = await this.buildRedirectUri(providerId);
|
|
992
993
|
this.pruneExpiredStates();
|
|
993
994
|
this.pendingStates.set(state, {
|
|
994
995
|
codeVerifier,
|
|
995
996
|
nonce,
|
|
996
997
|
providerId,
|
|
998
|
+
redirectUri,
|
|
997
999
|
createdAt: Date.now()
|
|
998
1000
|
});
|
|
999
1001
|
const params = new URLSearchParams({
|
|
1000
1002
|
response_type: "code",
|
|
1001
1003
|
client_id: inst.config.clientId,
|
|
1002
|
-
redirect_uri:
|
|
1004
|
+
redirect_uri: redirectUri,
|
|
1003
1005
|
scope: inst.config.scopes || DEFAULT_PROVIDER.scopes,
|
|
1004
1006
|
state,
|
|
1005
1007
|
nonce,
|
|
@@ -1029,7 +1031,7 @@ var AuthOidcAddon = class extends require_dist.BaseAddon {
|
|
|
1029
1031
|
body: new URLSearchParams({
|
|
1030
1032
|
grant_type: "authorization_code",
|
|
1031
1033
|
code,
|
|
1032
|
-
redirect_uri:
|
|
1034
|
+
redirect_uri: pending.redirectUri,
|
|
1033
1035
|
client_id: inst.config.clientId,
|
|
1034
1036
|
client_secret: inst.config.clientSecret,
|
|
1035
1037
|
code_verifier: pending.codeVerifier
|
|
@@ -1049,7 +1051,7 @@ var AuthOidcAddon = class extends require_dist.BaseAddon {
|
|
|
1049
1051
|
audience: inst.config.clientId
|
|
1050
1052
|
})).payload;
|
|
1051
1053
|
} catch (err) {
|
|
1052
|
-
throw new Error(`OIDC id_token verification failed: ${
|
|
1054
|
+
throw new Error(`OIDC id_token verification failed: ${require_hub_browser_origin.errMsg(err)}`, { cause: err });
|
|
1053
1055
|
}
|
|
1054
1056
|
if (typeof payload["nonce"] !== "string" || payload["nonce"] !== pending.nonce) throw new Error("OIDC id_token nonce mismatch — possible replay attack");
|
|
1055
1057
|
const sub = typeof payload.sub === "string" ? payload.sub : null;
|
|
@@ -1087,7 +1089,7 @@ var AuthOidcAddon = class extends require_dist.BaseAddon {
|
|
|
1087
1089
|
reply.code(500);
|
|
1088
1090
|
reply.send({
|
|
1089
1091
|
error: "OIDC start failed",
|
|
1090
|
-
message:
|
|
1092
|
+
message: require_hub_browser_origin.errMsg(err)
|
|
1091
1093
|
});
|
|
1092
1094
|
}
|
|
1093
1095
|
}
|
|
@@ -1133,7 +1135,7 @@ var AuthOidcAddon = class extends require_dist.BaseAddon {
|
|
|
1133
1135
|
reply.code(500);
|
|
1134
1136
|
reply.send({
|
|
1135
1137
|
error: "OIDC callback failed",
|
|
1136
|
-
message:
|
|
1138
|
+
message: require_hub_browser_origin.errMsg(err)
|
|
1137
1139
|
});
|
|
1138
1140
|
}
|
|
1139
1141
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as buildAddonRouteProvider, c as errMsg, i as authProviderCapability, l as BaseAddon, n as addonRoutesCapability, o as loginMethodCapability, t as hubBrowserOrigin } from "../hub-browser-origin-lAiHaCMe.mjs";
|
|
2
2
|
import * as crypto$1 from "node:crypto";
|
|
3
3
|
//#region ../../node_modules/jose/dist/webapi/lib/buffer_utils.js
|
|
4
4
|
var encoder = new TextEncoder(), decoder = new TextDecoder(), strictDecoder = new TextDecoder("utf-8", { fatal: !0 });
|
|
@@ -880,7 +880,7 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
880
880
|
type: "text",
|
|
881
881
|
key: "redirectUri",
|
|
882
882
|
label: "Redirect URI override",
|
|
883
|
-
description: "Optional. Default uses
|
|
883
|
+
description: "Optional. Default uses the hub address from Network (public tunnel, then mesh, then LAN) + the instance id.",
|
|
884
884
|
default: ""
|
|
885
885
|
},
|
|
886
886
|
{
|
|
@@ -969,12 +969,12 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
969
969
|
}
|
|
970
970
|
return doc;
|
|
971
971
|
}
|
|
972
|
-
buildRedirectUri(providerId) {
|
|
972
|
+
async buildRedirectUri(providerId) {
|
|
973
973
|
const inst = this.instances.get(providerId);
|
|
974
974
|
if (!inst) throw new Error(`OIDC: no provider configured with id "${providerId}"`);
|
|
975
975
|
const configured = inst.config.redirectUri?.trim();
|
|
976
976
|
if (configured) return configured;
|
|
977
|
-
return `${(
|
|
977
|
+
return `${await hubBrowserOrigin(this.ctx.api.localNetwork, this.ctx.logger) ?? "https://localhost:4443"}/addon/auth-oidc/${providerId}/callback`;
|
|
978
978
|
}
|
|
979
979
|
async buildLoginUrl(providerId, state) {
|
|
980
980
|
const inst = this.instances.get(providerId);
|
|
@@ -983,17 +983,19 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
983
983
|
const codeVerifier = crypto$1.randomBytes(32).toString("base64url");
|
|
984
984
|
const codeChallenge = crypto$1.createHash("sha256").update(codeVerifier).digest("base64url");
|
|
985
985
|
const nonce = crypto$1.randomBytes(16).toString("base64url");
|
|
986
|
+
const redirectUri = await this.buildRedirectUri(providerId);
|
|
986
987
|
this.pruneExpiredStates();
|
|
987
988
|
this.pendingStates.set(state, {
|
|
988
989
|
codeVerifier,
|
|
989
990
|
nonce,
|
|
990
991
|
providerId,
|
|
992
|
+
redirectUri,
|
|
991
993
|
createdAt: Date.now()
|
|
992
994
|
});
|
|
993
995
|
const params = new URLSearchParams({
|
|
994
996
|
response_type: "code",
|
|
995
997
|
client_id: inst.config.clientId,
|
|
996
|
-
redirect_uri:
|
|
998
|
+
redirect_uri: redirectUri,
|
|
997
999
|
scope: inst.config.scopes || DEFAULT_PROVIDER.scopes,
|
|
998
1000
|
state,
|
|
999
1001
|
nonce,
|
|
@@ -1023,7 +1025,7 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1023
1025
|
body: new URLSearchParams({
|
|
1024
1026
|
grant_type: "authorization_code",
|
|
1025
1027
|
code,
|
|
1026
|
-
redirect_uri:
|
|
1028
|
+
redirect_uri: pending.redirectUri,
|
|
1027
1029
|
client_id: inst.config.clientId,
|
|
1028
1030
|
client_secret: inst.config.clientSecret,
|
|
1029
1031
|
code_verifier: pending.codeVerifier
|
package/dist/webauthn/_stub.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as e, r as t, t as n } from "./_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare__react__loadShare__.js-BIIa6vDX.mjs";
|
|
2
2
|
import { n as r, t as i } from "./_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-CQ-aEQ9b.mjs";
|
|
3
|
-
import { t as a } from "./_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-
|
|
3
|
+
import { t as a } from "./_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Bifweq9M.mjs";
|
|
4
4
|
import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-BL2etuqg.mjs";
|
|
5
5
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
6
6
|
var l = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), u = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), d = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), f = (e) => {
|
|
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
|
|
|
3
3
|
var e = {
|
|
4
4
|
"@camstack/sdk": {
|
|
5
5
|
name: "@camstack/sdk",
|
|
6
|
-
version: "1.2.
|
|
6
|
+
version: "1.2.122",
|
|
7
7
|
scope: ["default"],
|
|
8
8
|
loaded: !1,
|
|
9
9
|
from: "addon_auth_webauthn_widgets",
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.310",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_auth_webauthn_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.236",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_auth_webauthn_widgets",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region \0virtual:mf:__mfe_internal__addon_auth_webauthn_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js
|
|
2
|
+
var e = "__mf_init__virtual:mf:__mfe_internal__addon_auth_webauthn_widgets__mf_v__runtimeInit__mf_v__.js__", t = globalThis[e];
|
|
3
|
+
if (!t) {
|
|
4
|
+
let n, r, i = new Promise((e, t) => {
|
|
5
|
+
n = e, r = t;
|
|
6
|
+
});
|
|
7
|
+
t = globalThis[e] = {
|
|
8
|
+
initPromise: i,
|
|
9
|
+
initResolve: n,
|
|
10
|
+
initReject: r
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
var n = t.initPromise, r = "__mf_module_cache__";
|
|
14
|
+
globalThis[r] ||= {
|
|
15
|
+
share: {},
|
|
16
|
+
remote: {}
|
|
17
|
+
}, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
|
|
18
|
+
var i = globalThis[r], a, o = (e) => {
|
|
19
|
+
e.AddonGlobalSettingsForm, e.AdminLinkQuickAction, e.AgentStepEditor, e.AlarmHeroCard, e.AlarmPanelInlineControl, e.AppShell, e.ArcKnob, e.AudioClassificationList, e.AudioLevelWaveform, e.AudioWaveform, e.AutomationHeroCard, e.AutomationInlineControl, e.AutotrackSection, e.BTN_COMPACT, e.BTN_COMPACT_DANGER, e.BTN_COMPACT_PRIMARY, e.BTN_COMPACT_WARNING, e.Badge, e.BatteryBadge, e.BottomSheet, e.Breadcrumb, e.BrightnessPanel, e.Button, e.ButtonControl, e.ButtonHeroCard, e.CARD_MODE_MIN_COLUMNS, e.CENTER, e.CHIP_ACTIVE, e.CHIP_BASE, e.CHIP_INACTIVE, e.CLASS_COLORS, e.COLUMN_BREAKPOINT_CLASS, e.COLUMN_PRIORITY, e.COMMIT_DEDUPE_TOLERANCE_MS, e.COMMIT_DEDUPE_WINDOW_MS, e.CONTROL_CAP_NAMES, e.CONTROL_FILLS, e.Camera, e.CameraStreamPlayer, e.Card, e.Checkbox, e.ChildSectionAccordion, e.ClimatePanel, e.CodeBlock, e.CollapsibleCard, e.ConfigFormBuilder, e.ConfigFormField, e.ConfigNotificationTargetMultiSelectFieldView, e.ConfigNotificationTargetSelectFieldView, e.ConfigSchemaField, e.ConfirmActionButton, e.ConfirmDialogProvider, e.ConsumablesPanel, e.ContainerChildrenProvider, e.ContainerPrimaryHero, e.ControlColumn, e.ControlHeroCard, e.ControlInlineControl, e.ControlPanel, e.CopyButton, e.CoverHeroCard, e.CoverInlineControl, e.CoverPanel, e.CustomFieldRenderersProvider, e.DEFAULT_COLOR, e.DEVICE_COLUMNS, e.DEVICE_LIST_PAGE_SIZE_KEY, e.DEVICE_LIST_PAGE_SIZE_OPTIONS, e.DEVICE_PICKER_GROUP_STORAGE_KEY, e.DEVICE_ROLE_META, e.DEVICE_TYPE_CONTROL, e.DEVICE_TYPE_META, e.DISPLAY_ICON_REGISTRY, e.DataTable, e.DataTableFilterBar, e.DetectionCanvas, e.DetectionOverlay, e.DetectionResultTree, e.DevShell, e.DeviceActivityPanel, e.DeviceBatchToolbar, e.DeviceCard, e.DeviceContextProvider, e.DeviceExportPanel, e.DeviceFilterBar, e.DeviceGrid, e.DeviceItem, e.DeviceList, e.DeviceMultiSelectField, e.DevicePicker, e.DeviceQuickDetailProvider, e.DeviceSelectField, e.DeviceSelectorPicker, e.DeviceStepMatrix, e.DevicesFailedLine, e.DevicesLoadingLine, e.DevicesWidenWarning, e.Dialog, e.DialogBody, e.DialogContent, e.DialogDescription, e.DialogFooter, e.DialogHeader, e.DialogTitle, e.DialogTrigger, e.DiscoveryPanel, e.DoorbellRecentPanel, e.Dropdown, e.DropdownContent, e.DropdownItem, e.DropdownTrigger, e.DummyHeroCard, e.DummyInline, e.EMPTY_DATA_TABLE_FILTER, e.EVENT_KIND_ICONS, e.EmptyState, e.ErrorBox, e.EventKindGlyph, e.EventStream, e.ExtensionsPanel, e.EyeOff, e.FILL, e.FLEET_LIST_GC_TIME_MS, e.FLEET_LIST_QUERY_KEY, e.FLEET_LIST_STALE_TIME_MS, e.FanHeroCard, e.FanInlineControl, e.FanPanel, e.FilterBar, e.FloatingEventStream, e.FloatingLogStream, e.FloatingPanel, e.FormField, e.GRID_GAP, e.GRID_PAIRED, e.GRID_QUICK_STATS, e.Grid2x2, e.GripTrack, e.GroupedModelSelector, e.HOST_WIDGETS, e.HlsVideo, e.HoverZoomImage, e.HumidifierHeroCard, e.HumidifierInlineControl, e.INPUT_COMPACT, e.INPUT_SHELL, e.IconAction, e.IconButton, e.IconPicker, e.ImageHeroCard, e.ImageInlineControl, e.ImageOff, e.ImageSelector, e.InferenceConfigSelector, e.Input, e.KebabMenu, e.KeyValueList, e.LIST_ROW, e.Label, e.LawnMowerHeroCard, e.LawnMowerInlineControl, e.LightHeroCard, e.LightInlineControl, e.LockHeroCard, e.LockInlineControl, e.LockPanel, e.LogStream, e.LoginForm, e.MODE_COLOR, e.MaskShapeCanvas, e.MediaPlayerHeroCard, e.MediaPlayerInlineControl, e.MediaPlayerPanel, e.Mic, e.MicOff, e.MobileDrawer, e.ModelPicker, e.MotionZonesSettings, e.NAVIGATION_DRIVE_INTERVAL_MS, e.NavigationPanel, e.NetworkLinkBadge, e.NodeMultiSelectField, e.NodePicker, e.NodeSelectField, e.NotificationTargetSelectField, e.NotificationTargetsField, e.OPTION_SELECT_SEARCH_MIN_OPTIONS, e.OfflineBadge, e.OptionSelect, e.PHASE_CONFIG, e.PICKER_CHIP_LIMIT, e.PICKER_DEFAULT_GROUP_BY, e.PICKER_GROUP_BY_MODES, e.PICKER_GROUP_COLLAPSE_AT, e.PICKER_NONE_KEY, e.PICKER_NOUN_PLURAL, e.PICKER_NO_FILTERS, e.PICKER_PAGE_SIZE, e.PICKER_SEARCH_DEBOUNCE_MS, e.PICKER_WINDOW, e.PRIORITY, e.PTZOverlay, e.PageHeader, e.PhaseIcon, e.PipelineBuilder, e.PipelineRuntimeSelector, e.PipelineStep, e.PipelineTreeMatrix, e.PlaceholderChipField, e.PlayerOverlaysProvider, e.Popover, e.PopoverContent, e.PopoverRowAction, e.PopoverTrigger, e.PrimaryChildPicker, e.PrivacyMaskSettings, e.ProviderBadge, e.PtzPanel, e.QrCode, e.RECONNECT_POLICY, e.RECORDED_PLAYBACK_MODES, e.RIGHT, e.ROI_AREA_WARN_FRACTION, e.ROLE_DESCRIPTOR, e.RadialGauge, e.RecordedPlaybackProvider, e.RecordingPanel, e.ResponseLog, e.RoleDisplayDefaultsFromServer, e.RoleDisplayDefaultsProvider, e.RotateCcw, e.SCENE_CAPTURE_VARIANTS, e.SCENE_CAPTURE_VARIANTS$1, e.SECTION_BODY, e.SECTION_CARD, e.SECTION_HEADER, e.SETTING_ROW, e.SETTING_ROW_LABEL, e.SETTING_ROW_STACK_BREAKPOINT, e.SETTING_ROW_VALUE, e.SETTING_ROW_VALUE_TEXT, e.SNAPSHOT_MEDIA_PATH, e.SPLIT_PANEL_OUTER, e.SPLIT_PANEL_SIDE, e.STACK_GAP, e.STATE_COLOR, e.SceneMonitorEditor, e.ScopePicker, e.ScriptHeroCard, e.ScriptInlineControl, e.ScrollArea, e.Select, e.SelectedChip, e.SemanticBadge, e.SensorHeroCard, e.SensorInlineControl, e.SensorValueAtom, e.Separator, e.SettingRow, e.Sidebar, e.SidebarItem, e.Skeleton, e.SlideOverPanel, e.SlideToggle, e.SnapshotButton, e.SortHeaderButton, e.Square, e.StatCard, e.StateValuesStream, e.StatusBadge, e.StepTimings, e.StepTreeMaster, e.Stepper, e.StreamBrokerSelector, e.StreamDebugOverlay, e.StreamPanel, e.Switch, e.SwitchHeroCard, e.SwitchInlineControl, e.SwitchPanel, e.SystemProvider, e.TABLE_SCROLL_MAX_H, e.TEXT_FIELD_LABEL, e.TEXT_HINT, e.TEXT_METRIC, e.TEXT_SECTION_LABEL, e.TEXT_VALUE, e.TIMEZONES, e.Tabs, e.TabsContent, e.TabsList, e.TabsTrigger, e.TapToggle, e.ThemeProvider, e.ThermostatHeroCard, e.ThermostatInlineControl, e.TimezoneSelector, e.Tooltip, e.TooltipContent, e.TooltipTrigger, e.Trash2, e.UnitPicker, e.VacuumHeroCard, e.VacuumInlineControl, e.ValueReadout, e.ValveHeroCard, e.ValveInlineControl, e.VersionBadge, e.VodPlaybackProvider, e.WaterHeaterHeroCard, e.WaterHeaterInlineControl, e.WeatherHeroCard, e.WeatherInlineControl, e.WidgetMetricCard, e.WidgetPanel, e.WidgetRegistryProvider, e.WidgetSlot, e.ZoneEditingProvider, e.agentColumnKey, e.allDeviceTypeFilterOptions, e.applyFleetQueryDefaults, e.applyPickerFilters, e.ariaSortForColumn, e.badgeFor, e.badgeFor$1, e.buildStepTreeFromSchema, e.catalogHasDraft, e.childEntityId, e.childListName, e.chipOverflow, e.classifyCapability, e.clearPickerGroup, e.cn, e.columnsForContext, e.containerChildToRef, e.countableDevices, e.coverHighlight, e.coverageLine, e.coverageLine$1, e.createLucideIcon, e.createSharedContext, e.createTheme, e.cursorFractionFor, e.darkColors, e.dataTableFacets, e.defaultTheme, e.deriveDeviceKind, e.deriveWebrtcDebugStats, e.describeDeviceSelector, e.deviceIntegrationResolver, e.deviceListStateOf, e.deviceMatchesFilter, e.deviceOptionLabel, e.deviceRoleMeta, e.deviceRoleMetaOf, e.deviceTypeLabel, e.deviceTypeMeta, e.deviceTypeMetaOf, e.devicesToOptions, e.draftFromQuery, e.emptyDevicesWidens, e.ensureMfHostInit, e.eventKindLabel, e.filterDataTableRows, e.filterDeviceOptions, e.filterOptionSelectOptions, e.filterPickerDevices, e.findTimezone, e.flattenPickerGrouping, e.flattenPickerRows, e.fleetViewOf, e.formatControlDateTime, e.formatLastSeen, e.formatNumeric, e.freezeVerdict, e.fuzzyMatch, e.getClassColor, e.getPhaseVisual, e.groupAgentColumns, e.groupChildrenByLayout, e.groupPickerDevices, e.groupPickerDevicesBy, e.hardwareLabel, e.hubOrigin, e.hubPath, e.hubPath$1, e.hubUrl, e.hubWsUrl, e.humanDuration, e.humidifierTint, e.initialScrubState, e.insertAtSelection, e.isAbsentProvider, e.isAbsentProvider$1, e.isDataTableFilterActive, e.isFieldVisible, e.isGroupExpanded, e.lawnMowerActivityMeta, e.lightColors, e.loadRemoteBundle, e.makeScrubBridge, e.metadataEntries, e.metadataString, e.mirror, e.mountAddonPage, e.mountPath, e.nextReconnectAction, e.nextSort, e.nextSortDirection, e.nextTableSort, e.normalizeForSearch, e.offListSelections, e.openTopLayer, e.optionSelectSearchText, e.orphanDeviceLabel, e.overrideEntityIdFromLink, e.pageRows, e.parentDetailOf, e.parsePickerGroupBy, e.parseRecordedServerMessage, e.partitionOptionSelectSelected, e.pickerFacetFilterShown, e.pickerFacetKey, e.pickerFacetOptions, e.pickerFiltersActive, e.pickerGroupKey, e.pickerHiddenSelectedCount, e.pickerLocationKey, e.pickerQueryTokens, e.pickerRowFacts, e.pickerSearchText, e.pickerZoneFilterSuspended, e.providerIcons, e.readStoredGroupBy, e.resetHubMountForTests, e.resetPickerFilters, e.resolveContainerPrimary, e.resolveControlAlign, e.resolveDeviceControl, e.resolveDeviceIntegration, e.resolveDisplayIcon, e.resolveEffectiveDefaultModel, e.resolveEffectiveStepModel, e.resolveEventKindIcon, e.resolveOptionSelectSearchable, e.resolveParentNames, e.resolvePrimaryChild, e.resolveSelectedDevices, e.resolveSensorDisplay, e.resolveStepDefaultModel, e.resolveTableLayout, e.roiTooLarge, e.roiTooLarge$1, e.rootSourceState, e.routerBasename, e.scrubReducer, e.selectPickerGroup, e.selectedDeviceOptions, e.serializeRecordedCommand, e.shouldCommit, e.shouldEmit, e.shouldShowAddNewFooter, e.shouldShowUseQueryRow, e.shouldUseSingleNode, e.showsNoCamerasHint, e.sortRows, e.sortRowsByColumn, e.statusIcons, e.statusLine, e.statusLine$1, e.stepHasModelForFormat, e.stepModelOptions, e.stripParentNamePrefix, e.tabForSelector, e.tankAlert, e.themeToCss, e.toStationaryOverlayBox, e.toggleDataTableFacet, e.togglePickerDevice, e.togglePickerKey, e.trpc, e.typeLabel, e.useAccessoriesGetStatus, e.useAccessoriesSetChildHidden, e.useAddonPagesListPages, e.useAddonSettingsGetDeviceSettings, e.useAddonSettingsGetGlobalSettings, e.useAddonSettingsGetIntegrationSettings, e.useAddonSettingsUpdateDeviceSettings, e.useAddonSettingsUpdateGlobalSettings, e.useAddonWidgetsListWidgets, e.useAddonsApplyAutoUpdateToAll, e.useAddonsCancelJob, e.useAddonsCustom, e.useAddonsForceRefresh, e.useAddonsGetAddonAutoUpdate, e.useAddonsGetAutoUpdateSettings, e.useAddonsGetJob, e.useAddonsGetLastRestart, e.useAddonsGetLogs, e.useAddonsGetVersions, e.useAddonsInstallFromWorkspace, e.useAddonsInstallPackage, e.useAddonsIsWorkspaceAvailable, e.useAddonsList, e.useAddonsListCapabilityProviders, e.useAddonsListFrameworkPackages, e.useAddonsListJobs, e.useAddonsListPackages, e.useAddonsListUpdates, e.useAddonsListWorkspacePackages, e.useAddonsOnAddonLogs, e.useAddonsReloadPackages, e.useAddonsRestartAddon, e.useAddonsRestartServer, e.useAddonsRetryLoad, e.useAddonsRollbackPackage, e.useAddonsSearchAvailable, e.useAddonsSetAddonAutoUpdate, e.useAddonsSetAutoUpdateSettings, e.useAddonsSetCapabilityProviderEnabled, e.useAddonsStartJob, e.useAddonsUninstallPackage, e.useAddonsUpdatePackage, e.useAirQualitySensorGetStatus, e.useAlarmPanelArm, e.useAlarmPanelDisarm, e.useAlarmPanelGetStatus, e.useAlarmPanelTrigger, e.useAlert, e.useAlertsDismiss, e.useAlertsEmit, e.useAlertsGetUnreadCount, e.useAlertsList, e.useAlertsMarkAllRead, e.useAlertsMarkRead, e.useAlertsUpdate, e.useAllWidgets, e.useAmbientLightSensorGetStatus, e.useAudioAnalysisApplyDeviceSettingsPatch, e.useAudioAnalysisGetDeviceLiveContribution, e.useAudioAnalysisGetDeviceSettingsContribution, e.useAudioAnalysisResolveDeviceSettings, e.useAudioAnalyzerAnalyseChunk, e.useAudioAnalyzerAttachDevice, e.useAudioAnalyzerClassify, e.useAudioAnalyzerDetachDevice, e.useAudioAnalyzerDispose, e.useAudioAnalyzerIsReady, e.useAudioAnalyzerReprobeAudioEngine, e.useAudioCodecCanHandle, e.useAudioCodecCloseSession, e.useAudioCodecCreateDecodeSession, e.useAudioCodecCreateEncodeSession, e.useAudioCodecFlushEncode, e.useAudioCodecListActiveSessions, e.useAudioCodecListSupportedCodecs, e.useAudioCodecPullEncoded, e.useAudioCodecPullPcm, e.useAudioCodecPushEncodedFrame, e.useAudioCodecPushPcm, e.useAudioMetricsGetCurrentSnapshot, e.useAudioMetricsGetHistory, e.useAutomationControlDisable, e.useAutomationControlEnable, e.useAutomationControlGetStatus, e.useAutomationControlTrigger, e.useBackupCancel, e.useBackupDelete, e.useBackupDeleteSchedule, e.useBackupGetEntries, e.useBackupList, e.useBackupListArchives, e.useBackupListDestinations, e.useBackupListLocations, e.useBackupListRuns, e.useBackupListSchedules, e.useBackupPreviewSchedule, e.useBackupRestore, e.useBackupTrigger, e.useBackupUpsertDestinationPolicy, e.useBackupUpsertSchedule, e.useBatteryGetStatus, e.useBatteryWakeForStream, e.useBinaryGetStatus, e.useBrightnessGetStatus, e.useBrightnessSetBrightness, e.useBrokerAdd, e.useBrokerGet, e.useBrokerGetBrokerConfig, e.useBrokerGetSettings, e.useBrokerGetSettingsSchema, e.useBrokerGetState, e.useBrokerGetStatus, e.useBrokerList, e.useBrokerListProviders, e.useBrokerPublish, e.useBrokerRemove, e.useBrokerSetSettings, e.useBrokerSubscribe, e.useBrokerTestConnection, e.useBrokerTestSettings, e.useBrokerUnsubscribe, e.useButtonPress, e.useCalendarsGetPreferences, e.useCalendarsListCalendars, e.useCalendarsListEvents, e.useCalendarsSetCalendarPreference, e.useCameraCredentialsGetCredentials, e.useCameraCredentialsGetStatus, e.useCameraGridLayoutApplyDeviceSettingsPatch, e.useCameraGridLayoutGetDeviceLiveContribution, e.useCameraGridLayoutGetDeviceSettingsContribution, e.useCameraGridLayoutGetLayout, e.useCameraGridLayoutSaveLayout, e.useCameraPipelineConfigApplyDeviceSettingsPatch, e.useCameraPipelineConfigGetDeviceLiveContribution, e.useCameraPipelineConfigGetDeviceSettingsContribution, e.useCameraStreamsGetBrokerStreams, e.useCameraStreamsGetCameraStreams, e.useCameraStreamsGetProfileRtspEntries, e.useCameraStreamsGetRtspEntries, e.useCameraStreamsPickStream, e.useCapabilityPresence, e.useCarbonMonoxideGetStatus, e.useClimateControlGetStatus, e.useClimateControlSetFanMode, e.useClimateControlSetMode, e.useClimateControlSetPreset, e.useClimateControlSetSwingHorizontal, e.useClimateControlSetSwingVertical, e.useClimateControlSetTarget, e.useClimateControlSetTargetHumidity, e.useClimateControlSetTargetRange, e.useClusterNodes, e.useClusterTopology, e.useColorGetStatus, e.useColorSetColor, e.useConfirm, e.useConnectionTestDescribeTest, e.useConnectionTestTestSettings, e.useConnectivityGetStatus, e.useConsumablesGetStatus, e.useConsumablesReset, e.useContactGetStatus, e.useContainerChildren, e.useControlGetStatus, e.useControlSetValue, e.useCoreBlocksCompile, e.useCoreBlocksCreate, e.useCoreBlocksCreateComposition, e.useCoreBlocksDelete, e.useCoreBlocksGet, e.useCoreBlocksGetBlockSettings, e.useCoreBlocksGetComposition, e.useCoreBlocksGetCustomization, e.useCoreBlocksGetTypeDefs, e.useCoreBlocksList, e.useCoreBlocksListComposableCaps, e.useCoreBlocksListCompositions, e.useCoreBlocksRestart, e.useCoreBlocksSetEnabled, e.useCoreBlocksUpdate, e.useCoreBlocksUpdateBlockSettings, e.useCoreBlocksUpdateComposition, e.useCoreBlocksValidateComposition, e.useCoverClose, e.useCoverGetStatus, e.useCoverOpen, e.useCoverSetPosition, e.useCoverSetTiltPosition, e.useCoverStop, e.useCustomFieldRenderer, e.useDataTableFilter, e.useDayNightGetOptions, e.useDayNightGetStatus, e.useDayNightSetSettings, e.useDebouncedString, e.useDecoderCreateSession, e.useDecoderDestroySession, e.useDecoderGetFrame, e.useDecoderGetInfo, e.useDecoderGetShmStats, e.useDecoderGetStats, e.useDecoderListActiveSessions, e.useDecoderOpenStream, e.useDecoderPullFrames, e.useDecoderPullHandles, e.useDecoderPushPacket, e.useDecoderReprobeHwaccel, e.useDecoderSupportsCodec, e.useDecoderUpdateConfig, e.useDetectionPipelineApplyDeviceSettingsPatch, e.useDetectionPipelineGetDeviceLiveContribution, e.useDetectionPipelineGetDeviceSettingsContribution, e.useDevShell, e.useDevice, e.useDeviceAdminLink, e.useDeviceAdminLinkGetAdminLink, e.useDeviceAdoptionAdopt, e.useDeviceAdoptionGetCandidate, e.useDeviceAdoptionGetStatus, e.useDeviceAdoptionListCandidateFilters, e.useDeviceAdoptionListCandidates, e.useDeviceAdoptionRefresh, e.useDeviceAdoptionRelease, e.useDeviceAdoptionResync, e.useDeviceAutotrack, e.useDeviceBattery, e.useDeviceCapSlice, e.useDeviceCapability, e.useDeviceDetections, e.useDeviceDiscoveryAdoptDevice, e.useDeviceDiscoveryGetStatus, e.useDeviceDiscoveryListDiscovered, e.useDeviceDiscoveryRefreshDiscovery, e.useDeviceDiscoveryReleaseDevice, e.useDeviceExportApplyDeviceSettingsPatch, e.useDeviceExportExposeDevice, e.useDeviceExportGetDeviceLiveContribution, e.useDeviceExportGetDeviceSettingsContribution, e.useDeviceExportGetStatus, e.useDeviceExportListExposedDevices, e.useDeviceExportListSupportedDeviceKinds, e.useDeviceExportUnexposeDevice, e.useDeviceExtensionListCandidates, e.useDeviceExtensionListSlots, e.useDeviceExtensionListSources, e.useDeviceExtensionSetSlot, e.useDeviceId, e.useDeviceListPageSize, e.useDeviceManagerAddLocation, e.useDeviceManagerAdoptDevice, e.useDeviceManagerAdoptionAdopt, e.useDeviceManagerAdoptionCancelJob, e.useDeviceManagerAdoptionListCandidateFilters, e.useDeviceManagerAdoptionListCandidates, e.useDeviceManagerAdoptionListJobs, e.useDeviceManagerAdoptionRefresh, e.useDeviceManagerAdoptionRelease, e.useDeviceManagerAdoptionResync, e.useDeviceManagerAdoptionStartJob, e.useDeviceManagerAllocateDeviceId, e.useDeviceManagerApplyInitialMeta, e.useDeviceManagerCreateDevice, e.useDeviceManagerDisable, e.useDeviceManagerDiscoverAllProviders, e.useDeviceManagerDiscoverDevices, e.useDeviceManagerDiscoverProvider, e.useDeviceManagerDiscoveryProviders, e.useDeviceManagerEnable, e.useDeviceManagerGetAllBindings, e.useDeviceManagerGetBindings, e.useDeviceManagerGetBindingsBatch, e.useDeviceManagerGetChildren, e.useDeviceManagerGetChildrenBatch, e.useDeviceManagerGetConfigSchema, e.useDeviceManagerGetCreationSchema, e.useDeviceManagerGetDevice, e.useDeviceManagerGetDeviceAggregate, e.useDeviceManagerGetDeviceLiveInfoAggregate, e.useDeviceManagerGetDeviceSettingsAggregate, e.useDeviceManagerGetDeviceStatusAggregate, e.useDeviceManagerGetDeviceStatusAggregateBatch, e.useDeviceManagerGetLinkedDevices, e.useDeviceManagerGetLinkedDevicesBatch, e.useDeviceManagerGetRoleDisplayDefaults, e.useDeviceManagerGetSettingsSchema, e.useDeviceManagerGetStreamProfileMap, e.useDeviceManagerGetStreamSources, e.useDeviceManagerGetWireableFields, e.useDeviceManagerGetWrapperActivation, e.useDeviceManagerListAll, e.useDeviceManagerListBindableCapsForDeviceType, e.useDeviceManagerListDeviceIdsByCaps, e.useDeviceManagerListLocationDescriptions, e.useDeviceManagerListLocationIcons, e.useDeviceManagerListLocations, e.useDeviceManagerListPersistedByAddon, e.useDeviceManagerListSiteZones, e.useDeviceManagerListWrappersForCap, e.useDeviceManagerLoadConfig, e.useDeviceManagerLoadMeta, e.useDeviceManagerLoadRuntimeState, e.useDeviceManagerMigrateDevice, e.useDeviceManagerPersistConfig, e.useDeviceManagerProbeStreams, e.useDeviceManagerProviderCreationType, e.useDeviceManagerProviderDiscoveryParamsSchema, e.useDeviceManagerRegisterDevice, e.useDeviceManagerRemove, e.useDeviceManagerRemoveByIntegration, e.useDeviceManagerRemoveDevice, e.useDeviceManagerRemoveLocation, e.useDeviceManagerRemoveSiteZone, e.useDeviceManagerRenameLocation, e.useDeviceManagerRenameSiteZone, e.useDeviceManagerRunDeviceAction, e.useDeviceManagerSetChildLayout, e.useDeviceManagerSetDisabled, e.useDeviceManagerSetDisplay, e.useDeviceManagerSetIntegrationId, e.useDeviceManagerSetLinkDeviceId, e.useDeviceManagerSetLocation, e.useDeviceManagerSetLocationDescription, e.useDeviceManagerSetLocationIcon, e.useDeviceManagerSetLocationZone, e.useDeviceManagerSetMetadata, e.useDeviceManagerSetName, e.useDeviceManagerSetPrimaryChildEntityId, e.useDeviceManagerSetRole, e.useDeviceManagerSetRoleDisplayDefaults, e.useDeviceManagerSetSiteZone, e.useDeviceManagerSetStreamProfileMap, e.useDeviceManagerSetType, e.useDeviceManagerSetWrapperActive, e.useDeviceManagerTestCreationField, e.useDeviceManagerTestField, e.useDeviceManagerUpdateConfig, e.useDeviceManagerUpdateDeviceField, e.useDeviceManagerUpdateDeviceFieldsBatch, e.useDeviceNetworkLink, e.useDeviceOpsGetConfigEntries, e.useDeviceOpsGetRawState, e.useDeviceOpsGetSettingsSchema, e.useDeviceOpsGetStreamSources, e.useDeviceOpsRemoveDevice, e.useDeviceOpsRunAction, e.useDeviceOpsSetConfig, e.useDeviceProviderAdoptDiscoveredDevice, e.useDeviceProviderCreateDevice, e.useDeviceProviderDiscoverDevices, e.useDeviceProviderGetChildCreationSchema, e.useDeviceProviderGetDevices, e.useDeviceProviderGetDiscoveryParamsSchema, e.useDeviceProviderGetManualCreationType, e.useDeviceProviderGetStatus, e.useDeviceProviderReloadDevice, e.useDeviceProviderStart, e.useDeviceProviderStop, e.useDeviceProviderSupportsDiscovery, e.useDeviceProviderSupportsManualCreation, e.useDeviceProviderTestCreationField, e.useDeviceProxy, e.useDeviceProxy$1, e.useDeviceQuickDetailOpen, e.useDeviceSnapshot, e.useDeviceSnapshotImage, e.useDeviceSnapshotImage$1, e.useDeviceState, e.useDeviceStateClaimFields, e.useDeviceStateGetAllSnapshots, e.useDeviceStateGetCapSlice, e.useDeviceStateGetNativeCapSlice, e.useDeviceStateGetSnapshot, e.useDeviceStateListClaims, e.useDeviceStatePatchOwnedFields, e.useDeviceStateReleaseClaim, e.useDeviceStateSetCapSlice, e.useDeviceStateSlice, e.useDeviceStateSlice$1, e.useDeviceStatusGetStatus, e.useDeviceWebrtc, e.useDevices, e.useDoorbellEvents, e.useDoorbellGetStatus, e.useEnumSensorGetStatus, e.useEventEmitterGetStatus, e.useEventInvalidation, e.useEventStreamLatest, e.useEventStreamMap, e.useFaceGalleryAssignFace, e.useFaceGalleryAssignFaces, e.useFaceGalleryAuditIdentitySamples, e.useFaceGalleryCreateIdentity, e.useFaceGalleryDeleteFace, e.useFaceGalleryDeleteIdentity, e.useFaceGalleryGetFaceByTrack, e.useFaceGalleryGetFaceMedia, e.useFaceGalleryListIdentities, e.useFaceGalleryListIdentitySamples, e.useFaceGalleryListRecentFaces, e.useFaceGalleryRemoveSample, e.useFaceGalleryRenameIdentity, e.useFaceGallerySuggestFaceClusters, e.useFaceGalleryUnassignFace, e.useFaceGalleryUnassignFaces, e.useFanControlGetStatus, e.useFanControlSetDirection, e.useFanControlSetOscillating, e.useFanControlSetPercentage, e.useFanControlSetPreset, e.useFeatureProbeGetStatus, e.useFloodGetStatus, e.useGasGetStatus, e.useHumidifierGetStatus, e.useHumidifierSetMode, e.useHumidifierSetOn, e.useHumidifierSetTargetHumidity, e.useHumiditySensorGetStatus, e.useImageGetStatus, e.useImageSettingsGetOptions, e.useImageSettingsGetStatus, e.useImageSettingsSetSettings, e.useIntegrationsCreate, e.useIntegrationsDelete, e.useIntegrationsGet, e.useIntegrationsGetAvailableTypes, e.useIntegrationsGetByAddonId, e.useIntegrationsGetSettings, e.useIntegrationsList, e.useIntegrationsSetSettings, e.useIntegrationsTestConnection, e.useIntegrationsUpdate, e.useIntercomEndTalkSession, e.useIntercomGetStatus, e.useIntercomHandleAnswer, e.useIntercomPushTalkAudio, e.useIntercomStartSession, e.useIntercomStartTalkSession, e.useIntercomStopSession, e.useIsMidWidth, e.useIsMobile, e.useLawnMowerControlDock, e.useLawnMowerControlGetStatus, e.useLawnMowerControlPause, e.useLawnMowerControlStartMowing, e.useLiveBuffer, e.useLiveEvent, e.useLlmCancel, e.useLlmDeleteModel, e.useLlmDeleteProfile, e.useLlmGenerate, e.useLlmGenerateVision, e.useLlmGetDefaults, e.useLlmGetRuntimeStatus, e.useLlmGetUsage, e.useLlmInstallModel, e.useLlmListModelCatalog, e.useLlmListModels, e.useLlmListNodeModels, e.useLlmListProfileKinds, e.useLlmListProfiles, e.useLlmListRuntimeNodes, e.useLlmResolveModelRef, e.useLlmSetDefault, e.useLlmStartRuntime, e.useLlmStopRuntime, e.useLlmTestProfile, e.useLlmUpsertProfile, e.useLocalNetworkAddCustomAddress, e.useLocalNetworkDownloadCa, e.useLocalNetworkGetAddresses, e.useLocalNetworkGetAllowedAddresses, e.useLocalNetworkGetConnectionEndpoints, e.useLocalNetworkGetHubAddresses, e.useLocalNetworkGetNotificationEndpoint, e.useLocalNetworkGetPreferred, e.useLocalNetworkGetTlsStatus, e.useLocalNetworkGetViewerEndpoints, e.useLocalNetworkList, e.useLocalNetworkRegenerateCertificate, e.useLocalNetworkRemoveCustomAddress, e.useLocalNetworkResetAllowlistToBestMatch, e.useLocalNetworkRevertToGeneratedCertificate, e.useLocalNetworkSetAddressRole, e.useLocalNetworkSetAllowedAddresses, e.useLocalNetworkSetNotificationEndpoint, e.useLocalNetworkSetViewerEndpoints, e.useLocalNetworkUploadCertificate, e.useLockControlGetStatus, e.useLockControlLock, e.useLockControlOpen, e.useLockControlUnlock, e.useMediaPlayerGetStatus, e.useMediaPlayerNext, e.useMediaPlayerPause, e.useMediaPlayerPlay, e.useMediaPlayerPlayMedia, e.useMediaPlayerPrevious, e.useMediaPlayerSeek, e.useMediaPlayerSelectSource, e.useMediaPlayerSetMute, e.useMediaPlayerSetRepeat, e.useMediaPlayerSetShuffle, e.useMediaPlayerSetVolume, e.useMediaPlayerStop, e.useMeshNetworkGetStatus, e.useMeshNetworkJoin, e.useMeshNetworkLeave, e.useMeshNetworkListPeers, e.useMeshNetworkLogout, e.useMeshNetworkStartLogin, e.useMeshNetworkTestConnection, e.useMetricsProviderCollectSnapshot, e.useMetricsProviderGetAddonStats, e.useMetricsProviderGetCached, e.useMetricsProviderGetCpuTemperature, e.useMetricsProviderGetCurrent, e.useMetricsProviderGetDiskSpace, e.useMetricsProviderGetGpuInfo, e.useMetricsProviderGetLoadSeries, e.useMetricsProviderGetProcessStats, e.useMetricsProviderListAddonInstances, e.useMetricsProviderListNodeProcesses, e.useMotionDetectionAnalyze, e.useMotionDetectionApplyDeviceSettingsPatch, e.useMotionDetectionGetDeviceLiveContribution, e.useMotionDetectionGetDeviceSettingsContribution, e.useMotionDetectionRemoveCamera, e.useMotionDetectionReset, e.useMotionGetStatus, e.useMotionIsDetected, e.useMotionTriggerGetStatus, e.useMotionTriggerSetMotionTrigger, e.useMotionZonesGetOptions, e.useMotionZonesGetStatus, e.useMotionZonesSetZone, e.useMqttBrokerAddBroker, e.useMqttBrokerGetBrokerConfig, e.useMqttBrokerGetStatus, e.useMqttBrokerListBrokers, e.useMqttBrokerRemoveBroker, e.useMqttBrokerStartEmbeddedBroker, e.useMqttBrokerStopEmbeddedBroker, e.useMqttBrokerTestConnection, e.useNativeObjectDetectionGetOptions, e.useNativeObjectDetectionGetStatus, e.useNativeObjectDetectionSetEnabled, e.useNativeObjectDetectionSetSettings, e.useNavigation, e.useNavigationGetFeatures, e.useNavigationGetStatus, e.useNavigationGoToPoint, e.useNavigationListActions, e.useNavigationMove, e.useNavigationPlaySound, e.useNavigationRunAction, e.useNavigationSetLightLevel, e.useNavigationSetLightMode, e.useNavigationSetLightOn, e.useNavigationStop, e.useNetworkAccessGetEndpoint, e.useNetworkAccessGetStatus, e.useNetworkAccessListEndpoints, e.useNetworkAccessStart, e.useNetworkAccessStop, e.useNetworkLinkGetStatus, e.useNetworkQualityGetAllStats, e.useNetworkQualityGetDeviceStats, e.useNetworkQualityReportClientStats, e.useNodesClusterAddonStatus, e.useNodesDeployAddon, e.useNodesDirectory, e.useNodesExecuteQuery, e.useNodesGetCapUsageGraph, e.useNodesGetNodeAddons, e.useNodesRenameNode, e.useNodesRestartAddon, e.useNodesRestartNode, e.useNodesRestartProcess, e.useNodesSetProcessLogLevel, e.useNodesShutdownNode, e.useNodesTopology, e.useNodesUndeployAddon, e.useNotificationOutputDeleteTarget, e.useNotificationOutputDiscoverTargets, e.useNotificationOutputGetTarget, e.useNotificationOutputListTargetKinds, e.useNotificationOutputListTargets, e.useNotificationOutputProbeTargetConfig, e.useNotificationOutputSend, e.useNotificationOutputSetTargetEnabled, e.useNotificationOutputTestTarget, e.useNotificationOutputUpsertTarget, e.useNotificationRulesActivateAlarmProfile, e.useNotificationRulesCancelSnooze, e.useNotificationRulesCreateAlarmProfile, e.useNotificationRulesCreateRule, e.useNotificationRulesCreateSequence, e.useNotificationRulesCreateSnooze, e.useNotificationRulesDeleteAlarmProfile, e.useNotificationRulesDeleteRule, e.useNotificationRulesDeleteSequence, e.useNotificationRulesGetAlarmConfig, e.useNotificationRulesGetAlarmSensors, e.useNotificationRulesGetClipRetentionAsks, e.useNotificationRulesGetConditionCatalog, e.useNotificationRulesGetHistory, e.useNotificationRulesGetRule, e.useNotificationRulesGetRuleLastRuns, e.useNotificationRulesGetSequence, e.useNotificationRulesGetTemplateCatalog, e.useNotificationRulesListDeviceMutes, e.useNotificationRulesListRules, e.useNotificationRulesListSequences, e.useNotificationRulesListSnoozes, e.useNotificationRulesPreviewStateSummary, e.useNotificationRulesPreviewTemplate, e.useNotificationRulesRenameAlarmProfile, e.useNotificationRulesResolveArtifactUrl, e.useNotificationRulesSetAlarmConfig, e.useNotificationRulesSetDeviceMuted, e.useNotificationRulesSetRuleEnabled, e.useNotificationRulesTestRule, e.useNotificationRulesUpdateRule, e.useNotificationRulesUpdateSequence, e.useNotifierCancel, e.useNotifierGetStatus, e.useNotifierSend, e.useNumericSensorGetStatus, e.useOptimisticSlice, e.useOptionalSystem, e.useOptionalWidgetRegistry, e.useOsdGetStatus, e.useOsdManagerClearSlotBinding, e.useOsdManagerCopyDeviceConfiguration, e.useOsdManagerDeleteTemplate, e.useOsdManagerGetConditionSupport, e.useOsdManagerGetDeviceOsd, e.useOsdManagerGetSourceCatalog, e.useOsdManagerListTemplates, e.useOsdManagerPreviewSlot, e.useOsdManagerRenderDevice, e.useOsdManagerSetSlotBinding, e.useOsdManagerUpsertTemplate, e.useOsdSetOverlay, e.usePTZ, e.usePetFeederCallPet, e.usePetFeederCancelFeed, e.usePetFeederFeed, e.usePetFeederGetStatus, e.usePetFeederMarkFoodReplenished, e.usePetFeederPlaySound, e.usePetFeederResetDesiccant, e.usePetFeederSetChildLock, e.usePetFeederSetFeedSound, e.usePetFeederSetIndicatorLight, e.usePetFeederSetVolume, e.usePickerSiteZones, e.usePipelineAnalyticsApplyDeviceSettingsPatch, e.usePipelineAnalyticsCancelRelocateMedia, e.usePipelineAnalyticsCancelStorageMigrationMove, e.usePipelineAnalyticsClearTrackRelation, e.usePipelineAnalyticsClearTracks, e.usePipelineAnalyticsCompleteRetrainTrack, e.usePipelineAnalyticsCountRelocatableMedia, e.usePipelineAnalyticsCountUnstampedEventMedia, e.usePipelineAnalyticsDeleteDeviceEvents, e.usePipelineAnalyticsDeleteTracks, e.usePipelineAnalyticsDeselectRetrainFrame, e.usePipelineAnalyticsGetActiveTracks, e.usePipelineAnalyticsGetAudioEvents, e.usePipelineAnalyticsGetDeviceLiveContribution, e.usePipelineAnalyticsGetDeviceSettingsContribution, e.usePipelineAnalyticsGetEventDensity, e.usePipelineAnalyticsGetEventDensityBatch, e.usePipelineAnalyticsGetEventMedia, e.usePipelineAnalyticsGetEventMediaFootprintByKind, e.usePipelineAnalyticsGetEventStoreFootprint, e.usePipelineAnalyticsGetKeyEvents, e.usePipelineAnalyticsGetKeyEventsBatch, e.usePipelineAnalyticsGetMediaReclaimStatus, e.usePipelineAnalyticsGetMotionEvents, e.usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, e.usePipelineAnalyticsGetObjectEvents, e.usePipelineAnalyticsGetRetrainExportUrl, e.usePipelineAnalyticsGetRetrainFrameImage, e.usePipelineAnalyticsGetSensorEvents, e.usePipelineAnalyticsGetStorageMigrationMoveStatus, e.usePipelineAnalyticsGetTrack, e.usePipelineAnalyticsGetTrackMedia, e.usePipelineAnalyticsGetTrainingExportSummary, e.usePipelineAnalyticsGetTrainingExportUrl, e.usePipelineAnalyticsListArchivedDebugNotes, e.usePipelineAnalyticsListBirthDecisions, e.usePipelineAnalyticsListEventKinds, e.usePipelineAnalyticsListEventKindsBatch, e.usePipelineAnalyticsListEventMedia, e.usePipelineAnalyticsListOpsLog, e.usePipelineAnalyticsListRecentTracks, e.usePipelineAnalyticsListRelocateMediaJobs, e.usePipelineAnalyticsListRetrainAnnotations, e.usePipelineAnalyticsListRetrainFrames, e.usePipelineAnalyticsListRetrainStaging, e.usePipelineAnalyticsListTrackMedia, e.usePipelineAnalyticsListTrackRelations, e.usePipelineAnalyticsListTracks, e.usePipelineAnalyticsOwnersWithMedia, e.usePipelineAnalyticsPauseForStorageMigration, e.usePipelineAnalyticsProposeRetrainAnnotations, e.usePipelineAnalyticsPruneEvents, e.usePipelineAnalyticsPruneEventsBefore, e.usePipelineAnalyticsPruneTracksBefore, e.usePipelineAnalyticsReadLongTermSeries, e.usePipelineAnalyticsRebuildObjectEmbeddings, e.usePipelineAnalyticsReclaimDebugMedia, e.usePipelineAnalyticsReconcileFromDisk, e.usePipelineAnalyticsRefreshStorageLocationsForMigration, e.usePipelineAnalyticsRelocateMedia, e.usePipelineAnalyticsRestageRetrainTrack, e.usePipelineAnalyticsResumeForStorageMigration, e.usePipelineAnalyticsSaveRetrainAnnotations, e.usePipelineAnalyticsSearchObjectEvents, e.usePipelineAnalyticsSelectRetrainFrames, e.usePipelineAnalyticsSetTrackFlags, e.usePipelineAnalyticsSetTrackPurity, e.usePipelineAnalyticsSetTrackRelation, e.usePipelineAnalyticsStartStorageMigrationMove, e.usePipelineAnalyticsWipeAllAnalytics, e.usePipelineAnalyticsWipeObjectEmbeddings, e.usePipelineExecutorCacheFrameInPool, e.usePipelineExecutorClearDeviceOverrides, e.usePipelineExecutorDeleteModel, e.usePipelineExecutorDeleteTemplate, e.usePipelineExecutorDownloadModel, e.usePipelineExecutorGetAddonModels, e.usePipelineExecutorGetAudioCapabilities, e.usePipelineExecutorGetAvailableEngines, e.usePipelineExecutorGetCapabilities, e.usePipelineExecutorGetDefaultSteps, e.usePipelineExecutorGetDetectionConfigSchema, e.usePipelineExecutorGetEffectiveTuning, e.usePipelineExecutorGetEngineProvisioning, e.usePipelineExecutorGetGlobalPipelineConfig, e.usePipelineExecutorGetGlobalSteps, e.usePipelineExecutorGetInferenceDeviceHealth, e.usePipelineExecutorGetOrchestratorConfigSchema, e.usePipelineExecutorGetReferenceAudio, e.usePipelineExecutorGetReferenceAudioFiles, e.usePipelineExecutorGetReferenceImage, e.usePipelineExecutorGetSchema, e.usePipelineExecutorGetSelectedEngine, e.usePipelineExecutorGetVideoPipelineSteps, e.usePipelineExecutorInferCached, e.usePipelineExecutorKillEngine, e.usePipelineExecutorListLoadedEngines, e.usePipelineExecutorListReferenceImages, e.usePipelineExecutorListTemplates, e.usePipelineExecutorRearmInferenceDevice, e.usePipelineExecutorRunAudioTest, e.usePipelineExecutorRunPipeline, e.usePipelineExecutorRunPipelineBatch, e.usePipelineExecutorSaveTemplate, e.usePipelineExecutorSetVideoPipelineSteps, e.usePipelineExecutorSpinEngine, e.usePipelineExecutorUncacheFrame, e.usePipelineExecutorUpdateTemplate, e.usePipelineExecutorValidatePipeline, e.usePipelineOrchestratorApplyDeviceSettingsPatch, e.usePipelineOrchestratorAssignAudio, e.usePipelineOrchestratorAssignPipeline, e.usePipelineOrchestratorDeleteTemplate, e.usePipelineOrchestratorGetAgentLoad, e.usePipelineOrchestratorGetAgentSettings, e.usePipelineOrchestratorGetAudioAssignment, e.usePipelineOrchestratorGetAudioAssignments, e.usePipelineOrchestratorGetAudioNodeLoad, e.usePipelineOrchestratorGetCameraMetrics, e.usePipelineOrchestratorGetCameraSettings, e.usePipelineOrchestratorGetCameraStatus, e.usePipelineOrchestratorGetCameraStatuses, e.usePipelineOrchestratorGetCameraStepOverrides, e.usePipelineOrchestratorGetCameraSwitches, e.usePipelineOrchestratorGetCapabilityBindings, e.usePipelineOrchestratorGetClusterModelChoice, e.usePipelineOrchestratorGetDeviceLiveContribution, e.usePipelineOrchestratorGetDeviceSettingsContribution, e.usePipelineOrchestratorGetGlobalMetrics, e.usePipelineOrchestratorGetIngestOwner, e.usePipelineOrchestratorGetNodeInferenceDevices, e.usePipelineOrchestratorGetPipelineAssignment, e.usePipelineOrchestratorGetPipelineAssignments, e.usePipelineOrchestratorGetPipelineDevicePin, e.usePipelineOrchestratorGetReconcileFromDiskStatus, e.usePipelineOrchestratorListAgentSettings, e.usePipelineOrchestratorListTemplates, e.usePipelineOrchestratorPauseForStorageMigration, e.usePipelineOrchestratorRebalance, e.usePipelineOrchestratorReconcileFromDisk, e.usePipelineOrchestratorRemoveAgentSettings, e.usePipelineOrchestratorRequestOccupancyLook, e.usePipelineOrchestratorResetNodePipelineDefaults, e.usePipelineOrchestratorResolvePipeline, e.usePipelineOrchestratorResumeForStorageMigration, e.usePipelineOrchestratorSaveTemplate, e.usePipelineOrchestratorSetAgentCapabilities, e.usePipelineOrchestratorSetAgentDecodeLimits, e.usePipelineOrchestratorSetAgentDetectWeight, e.usePipelineOrchestratorSetAgentInferenceDevices, e.usePipelineOrchestratorSetAgentMaxCameras, e.usePipelineOrchestratorSetAgentReachableHost, e.usePipelineOrchestratorSetCameraPipelineForAgent, e.usePipelineOrchestratorSetCameraSensors, e.usePipelineOrchestratorSetCameraStepOverride, e.usePipelineOrchestratorSetCameraStepToggle, e.usePipelineOrchestratorSetCameraSwitch, e.usePipelineOrchestratorSetCapabilityBinding, e.usePipelineOrchestratorSetPipelineDevicePin, e.usePipelineOrchestratorUnassignAudio, e.usePipelineOrchestratorUnassignPipeline, e.usePipelineOrchestratorUpdateTemplate, e.usePipelineRunnerAttachCamera, e.usePipelineRunnerDetachCamera, e.usePipelineRunnerGetAllCameraMetrics, e.usePipelineRunnerGetCameraMetrics, e.usePipelineRunnerGetLocalCameras, e.usePipelineRunnerGetLocalLoad, e.usePipelineRunnerGetLocalMetrics, e.usePipelineRunnerGetNativeCrop, e.usePipelineRunnerGetParkedTrackFrame, e.usePipelineRunnerParkTrackFrame, e.usePipelineRunnerReleaseParkedTrackFrames, e.usePipelineRunnerReportMotion, e.usePipelineRunnerRequestOccupancyBurst, e.usePipelineRunnerRunDetailSubtree, e.usePipelineRunnerRunStatelessStep, e.usePlateGalleryAssignPlate, e.usePlateGalleryAssignPlates, e.usePlateGalleryCorrectPlateText, e.usePlateGalleryCreateVehicle, e.usePlateGalleryDeletePlate, e.usePlateGalleryDeleteVehicle, e.usePlateGalleryGetPlateByTrack, e.usePlateGalleryGetPlateMedia, e.usePlateGalleryListPlates, e.usePlateGalleryListVehicleSamples, e.usePlateGalleryListVehicles, e.usePlateGalleryRemoveVehicleSample, e.usePlateGalleryRenameVehicle, e.usePlateGallerySearchPlates, e.usePlateGallerySuggestPlateClusters, e.usePlateGalleryUnassignPlate, e.usePlateGalleryUnassignPlates, e.usePlayerOverlayLayer, e.usePlayerOverlayLayers, e.usePlayerToolbarButton, e.usePlayerToolbarButtons, e.usePowerMeterGetStatus, e.usePresenceGetStatus, e.usePressureSensorGetStatus, e.usePrivacyMaskGetOptions, e.usePrivacyMaskGetStatus, e.usePrivacyMaskSetAudioEnabled, e.usePrivacyMaskSetMask, e.usePrompt, e.usePtzAutotrackGetSettings, e.usePtzAutotrackGetStatus, e.usePtzAutotrackSetEnabled, e.usePtzAutotrackSetSettings, e.usePtzCaptureHomeHere, e.usePtzContinuousMove, e.usePtzDeletePreset, e.usePtzGetHomePreset, e.usePtzGetHomeReturn, e.usePtzGetOptions, e.usePtzGetPosition, e.usePtzGetPresets, e.usePtzGetStatus, e.usePtzGoHome, e.usePtzGoToPreset, e.usePtzMove, e.usePtzSavePreset, e.usePtzSetAutofocus, e.usePtzSetHomePreset, e.usePtzSetHomeReturn, e.usePtzStop, e.useRebootReboot, e.useRecordedPlayback, e.useRecordingArchiveApplyDeviceSettingsPatch, e.useRecordingArchiveCancelRelocateJob, e.useRecordingArchiveCancelStorageMigrationMove, e.useRecordingArchiveDeleteFootprint, e.useRecordingArchiveGetAvailabilityBatch, e.useRecordingArchiveGetDaysWithRecordingsBatch, e.useRecordingArchiveGetDeviceConfig, e.useRecordingArchiveGetDeviceLiveContribution, e.useRecordingArchiveGetDeviceSettingsContribution, e.useRecordingArchiveGetPlacement, e.useRecordingArchiveGetRelocateResidue, e.useRecordingArchiveGetStatus, e.useRecordingArchiveGetStorageMigrationMoveStatus, e.useRecordingArchiveGetStorageUsage, e.useRecordingArchiveListOpsLog, e.useRecordingArchiveListRelocateJobs, e.useRecordingArchiveLocateSegment, e.useRecordingArchivePauseForStorageMigration, e.useRecordingArchivePlanStorageRebalance, e.useRecordingArchivePruneFootage, e.useRecordingArchiveReadGopBytes, e.useRecordingArchiveReadSegmentBytes, e.useRecordingArchiveReadWindowBytes, e.useRecordingArchiveReconcileLedgerAgainstDisk, e.useRecordingArchiveRefreshStorageLocationsForMigration, e.useRecordingArchiveRelocateFootage, e.useRecordingArchiveRenderClip, e.useRecordingArchiveRenderGif, e.useRecordingArchiveRescanStorage, e.useRecordingArchiveResumeForStorageMigration, e.useRecordingArchiveSetDeviceConfig, e.useRecordingArchiveSetDevicePlacement, e.useRecordingArchiveStartStorageMigrationMove, e.useRecordingArchiveStartStorageRebalance, e.useRecordingExportCancelExport, e.useRecordingExportCreateExport, e.useRecordingExportDeleteExport, e.useRecordingExportGetDownloadUrl, e.useRecordingExportGetExport, e.useRecordingExportListExports, e.useRecordingExportReadExportBytes, e.useRecordingGetAvailability, e.useRecordingGetDaysWithRecordings, e.useRecordingGetPlayback, e.useRecordingGetPlaybackOptions, e.useRecordingListSources, e.useRecordingOnboardGetOptions, e.useRecordingOnboardGetStatus, e.useRecordingOnboardSetSettings, e.useRecordingSignalGetStatus, e.useRemoteComponent, e.useRoleDisplayDefaults, e.useSceneMonitorCaptureReference, e.useSceneMonitorCreateScene, e.useSceneMonitorDeleteReference, e.useSceneMonitorDeleteScene, e.useSceneMonitorGetStatus, e.useSceneMonitorListScenes, e.useSceneMonitorListScenesBatch, e.useSceneMonitorRecheckNow, e.useSceneMonitorResetScene, e.useSceneMonitorUpdateScene, e.useScriptRunnerGetStatus, e.useScriptRunnerRun, e.useScriptRunnerStop, e.useScrubController, e.useServerManagementApplyServerUpdate, e.useServerManagementCheckServerUpdate, e.useServerManagementGetServerPackageStatus, e.useServerManagementRestartServer, e.useServerManagementRollbackServerUpdate, e.useSettingsStoreAggregate, e.useSettingsStoreCount, e.useSettingsStoreDeclareCollection, e.useSettingsStoreDelete, e.useSettingsStoreDeleteWhere, e.useSettingsStoreGet, e.useSettingsStoreHistogram, e.useSettingsStoreInsert, e.useSettingsStoreInsertMany, e.useSettingsStoreIsEmpty, e.useSettingsStoreQuery, e.useSettingsStoreSet, e.useSettingsStoreUpdate, e.useSettingsStoreUpdateWhere, e.useSettingsStoreUpsert, e.useSmokeGetStatus, e.useSnapshotApplyDeviceSettingsPatch, e.useSnapshotGetDebugState, e.useSnapshotGetDeviceLiveContribution, e.useSnapshotGetDeviceSettingsContribution, e.useSnapshotGetSnapshot, e.useSnapshotGetSnapshotLinks, e.useSnapshotGetSnapshotOverview, e.useSnapshotGetStatus, e.useSnapshotInvalidateCache, e.useStationaryOverlay, e.useStorageAbortUpload, e.useStorageBeginDownload, e.useStorageBeginUpload, e.useStorageDelete, e.useStorageDeleteLocation, e.useStorageEndDownload, e.useStorageExists, e.useStorageFinalizeUpload, e.useStorageGetAvailableSpace, e.useStorageList, e.useStorageListDrainProgress, e.useStorageListLocationDeclarations, e.useStorageListLocations, e.useStorageListProviders, e.useStorageMigrationCancel, e.useStorageMigrationCleanupCancel, e.useStorageMigrationCleanupStart, e.useStorageMigrationCleanupStatus, e.useStorageMigrationDrain, e.useStorageMigrationHistory, e.useStorageMigrationMovers, e.useStorageMigrationPlan, e.useStorageMigrationResidue, e.useStorageMigrationStart, e.useStorageMigrationStatus, e.useStorageRead, e.useStorageReadChunk, e.useStorageResolve, e.useStorageTestConfig, e.useStorageTestLocation, e.useStorageUpsertLocation, e.useStorageWrite, e.useStorageWriteChunk, e.useStoredGroupBy, e.useStreamBrokerAcquireEgressTranscode, e.useStreamBrokerApplyDeviceSettingsPatch, e.useStreamBrokerAssignProfile, e.useStreamBrokerFetchEventMedia, e.useStreamBrokerForgetDeviceHardware, e.useStreamBrokerGetAllRtspEntries, e.useStreamBrokerGetBrokerStats, e.useStreamBrokerGetDeviceAudioMute, e.useStreamBrokerGetDeviceLiveContribution, e.useStreamBrokerGetDeviceSettingsContribution, e.useStreamBrokerGetPreBufferInfo, e.useStreamBrokerGetRtspEntry, e.useStreamBrokerGetRtspPort, e.useStreamBrokerGetStreamUrl, e.useStreamBrokerGetStreamWithCodec, e.useStreamBrokerIsRtspEnabled, e.useStreamBrokerKillClient, e.useStreamBrokerListAllCameraStreams, e.useStreamBrokerListAllProfileSlots, e.useStreamBrokerListClients, e.useStreamBrokerProbeStream, e.useStreamBrokerProduceEventMedia, e.useStreamBrokerPublishCameraStream, e.useStreamBrokerPullAudioChunks, e.useStreamBrokerPullFrameHandles, e.useStreamBrokerRegenerateRtspToken, e.useStreamBrokerReleaseEgressTranscode, e.useStreamBrokerReleaseStreamWithCodec, e.useStreamBrokerRenderPreBufferClip, e.useStreamBrokerReportStreamSignal, e.useStreamBrokerRestartProfile, e.useStreamBrokerRetractCameraStream, e.useStreamBrokerSetDeviceAudioMute, e.useStreamBrokerSetPreBufferDuration, e.useStreamBrokerSetRtspEnabled, e.useStreamBrokerSubscribeAudioChunks, e.useStreamBrokerSubscribeFrames, e.useStreamBrokerUnassignProfile, e.useStreamBrokerUnsubscribeAudioChunks, e.useStreamBrokerUnsubscribeFrames, e.useStreamCatalogGetCatalog, e.useStreamParamsGetConfigSchema, e.useStreamParamsGetOptions, e.useStreamParamsGetStatus, e.useStreamParamsSetProfile, e.useStreamSignalsListSignals, e.useSwitchGetStatus, e.useSwitchSetState, a = e.useSystem, e.useSystem$1, e.useSystemDetectSiteLocation, e.useSystemFeatureFlags, e.useSystemForceRetentionCleanup, e.useSystemGetFailureContributions, e.useSystemGetLoadContributions, e.useSystemGetLoggingSettings, e.useSystemGetRequestCensus, e.useSystemGetRetentionConfig, e.useSystemGetSiteLocation, e.useSystemHealth, e.useSystemInfo, e.useSystemMutation, e.useSystemNetworkAddresses, e.useSystemQuery, e.useSystemSetLoggingSettings, e.useSystemSetRetentionConfig, e.useSystemSetSiteLocation, e.useTamperGetStatus, e.useTemperatureSensorGetStatus, e.useTerminalSessionAdoptLegacyMonitor, e.useTerminalSessionClose, e.useTerminalSessionCreateInstance, e.useTerminalSessionDeleteInstance, e.useTerminalSessionListInstances, e.useTerminalSessionListLegacyCameras, e.useTerminalSessionListProfiles, e.useTerminalSessionListSessions, e.useTerminalSessionOpenSession, e.useTerminalSessionPullOutput, e.useTerminalSessionResize, e.useTerminalSessionSetInstanceEnabled, e.useTerminalSessionUpdateInstance, e.useTerminalSessionWriteInput, e.useThemeMode, e.useToastOnToast, e.useTurnProviderGetTurnServers, e.useUpdateGetStatus, e.useUpdateInstallUpdate, e.useUrlQueryParam, e.useUserManagementConfirmTotp, e.useUserManagementCreateApiKey, e.useUserManagementCreateScopedToken, e.useUserManagementCreateUser, e.useUserManagementDeleteUser, e.useUserManagementDisableTotp, e.useUserManagementGetTotpStatus, e.useUserManagementListApiKeys, e.useUserManagementListOauthSessions, e.useUserManagementListScopedTokens, e.useUserManagementListUsers, e.useUserManagementOauthExchangeCode, e.useUserManagementOauthIssueCode, e.useUserManagementOauthRefresh, e.useUserManagementOauthVerifyAccessToken, e.useUserManagementResetPassword, e.useUserManagementRevokeApiKey, e.useUserManagementRevokeOauthSession, e.useUserManagementRevokeScopedToken, e.useUserManagementSetUserScopes, e.useUserManagementSetupTotp, e.useUserManagementUpdateUser, e.useUserManagementValidateApiKey, e.useUserManagementValidateCredentials, e.useUserManagementValidateScopedToken, e.useUserManagementVerifyTotp, e.useVacuumControlGetStatus, e.useVacuumControlLocate, e.useVacuumControlPause, e.useVacuumControlReturnToBase, e.useVacuumControlSetFanSpeed, e.useVacuumControlStart, e.useVacuumControlStop, e.useValveClose, e.useValveGetStatus, e.useValveOpen, e.useValveSetPosition, e.useValveStop, e.useVibrationGetStatus, e.useVideoclipsDialClipStream, e.useVideoclipsGetClipPlayback, e.useVideoclipsGetPlaybackOptions, e.useVideoclipsListClips, e.useVideoclipsListSources, e.useVideoclipsOfferClipBytes, e.useVideoclipsReadClipBytes, e.useVodPlayback, e.useWaterHeaterGetStatus, e.useWaterHeaterSetAway, e.useWaterHeaterSetOperationMode, e.useWaterHeaterSetTargetTemp, e.useWeatherGetStatus, e.useWebrtcSessionAddIceCandidate, e.useWebrtcSessionApplyDownlinkProbe, e.useWebrtcSessionCloseSession, e.useWebrtcSessionCreateSession, e.useWebrtcSessionGetIceCandidates, e.useWebrtcSessionGetSessionDebug, e.useWebrtcSessionGetSessionState, e.useWebrtcSessionHandleAnswer, e.useWebrtcSessionHandleOffer, e.useWebrtcSessionHasAdaptiveBitrate, e.useWebrtcSessionListStreams, e.useWidget, e.useWidgetMetadata, e.useWidgetRegistry, e.useZoneAnalyticsGetCameraHistory, e.useZoneAnalyticsGetCurrentSnapshot, e.useZoneAnalyticsGetCurrentSnapshotBatch, e.useZoneAnalyticsGetUnzonedHistory, e.useZoneAnalyticsGetZoneHistory, e.useZoneEditing, e.useZoneRulesListRules, e.useZoneRulesSetRules, e.useZonesAddZone, e.useZonesListZones, e.useZonesRemoveZone, e.useZonesUpdateZone, e.vacuumStateMeta, e.validateScopes, e.valveStateMeta, e.variantLabel, e.variantLabel$1, e.waterHeaterPhase, e.waterHeaterTint, e.weatherConditionMeta, e.weatherTint, e.withResolvedParentDetail, e.writeStoredGroupBy, e.default;
|
|
20
|
+
}, s = i.share["default:@camstack/ui-library"];
|
|
21
|
+
s === void 0 ? n.then(() => {
|
|
22
|
+
if (s = i.share["default:@camstack/ui-library"], s === void 0) throw Error("[Module Federation] Shared module @camstack/ui-library was imported before federation bootstrap finished.");
|
|
23
|
+
o(s);
|
|
24
|
+
}) : o(s);
|
|
25
|
+
//#endregion
|
|
26
|
+
export { a as t };
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../chunk-Cek0wNdY.js");
|
|
6
|
-
const
|
|
6
|
+
const require_hub_browser_origin = require("../hub-browser-origin-Cd5W-H0b.js");
|
|
7
7
|
let stream = require("stream");
|
|
8
8
|
stream = require_chunk.__toESM(stream, 1);
|
|
9
9
|
let http = require("http");
|
|
@@ -12165,9 +12165,9 @@ var PREF_COLUMNS = [
|
|
|
12165
12165
|
notNull: true
|
|
12166
12166
|
}
|
|
12167
12167
|
];
|
|
12168
|
-
var StoredPreferenceSchema =
|
|
12169
|
-
secondFactorEnabled:
|
|
12170
|
-
updatedAt:
|
|
12168
|
+
var StoredPreferenceSchema = require_hub_browser_origin.object({
|
|
12169
|
+
secondFactorEnabled: require_hub_browser_origin.boolean(),
|
|
12170
|
+
updatedAt: require_hub_browser_origin.number()
|
|
12171
12171
|
});
|
|
12172
12172
|
var COLUMNS = [
|
|
12173
12173
|
{
|
|
@@ -12472,8 +12472,8 @@ function buildAuthWebauthnLoginMethods(rpId, origin) {
|
|
|
12472
12472
|
* the stored publicKey + counter, bumps the counter.
|
|
12473
12473
|
*
|
|
12474
12474
|
* Relying-Party id (RP ID) MUST match the hub's domain (or a parent
|
|
12475
|
-
* of it). Defaults to
|
|
12476
|
-
* operator overrides via settings.
|
|
12475
|
+
* of it). Defaults to the hostname of the hub's browser-facing address
|
|
12476
|
+
* from the Network page (`hubBrowserOrigin`); operator overrides via settings.
|
|
12477
12477
|
*
|
|
12478
12478
|
* Open follow-ups:
|
|
12479
12479
|
* - Login flow integration (today this addon only provides the
|
|
@@ -12482,18 +12482,18 @@ function buildAuthWebauthnLoginMethods(rpId, origin) {
|
|
|
12482
12482
|
* - Multi-device discovery (passkey-discovery flow w/ resident keys).
|
|
12483
12483
|
*/
|
|
12484
12484
|
/** Minimal shape of a `network-access` endpoint entry we consume. */
|
|
12485
|
-
var EndpointSchema =
|
|
12486
|
-
hostname:
|
|
12487
|
-
url:
|
|
12485
|
+
var EndpointSchema = require_hub_browser_origin.object({
|
|
12486
|
+
hostname: require_hub_browser_origin.string(),
|
|
12487
|
+
url: require_hub_browser_origin.string()
|
|
12488
12488
|
});
|
|
12489
|
-
var EndpointsSchema =
|
|
12489
|
+
var EndpointsSchema = require_hub_browser_origin.array(EndpointSchema);
|
|
12490
12490
|
var DEFAULT_CONFIG = {
|
|
12491
12491
|
rpID: "",
|
|
12492
12492
|
rpName: "CamStack",
|
|
12493
12493
|
origin: "",
|
|
12494
12494
|
challengeTtlSec: 300
|
|
12495
12495
|
};
|
|
12496
|
-
var AuthWebauthnAddon = class extends
|
|
12496
|
+
var AuthWebauthnAddon = class extends require_hub_browser_origin.BaseAddon {
|
|
12497
12497
|
store = null;
|
|
12498
12498
|
pending = /* @__PURE__ */ new Map();
|
|
12499
12499
|
constructor() {
|
|
@@ -12517,22 +12517,22 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12517
12517
|
setSecondFactorPreference: async ({ userId, enabled }) => this.setSecondFactorPreference(userId, enabled)
|
|
12518
12518
|
};
|
|
12519
12519
|
const widgetsProvider = { listWidgets: async () => authWebauthnWidgets };
|
|
12520
|
-
const loginMethodProvider = { getLoginMethods: async () => buildAuthWebauthnLoginMethods(this.resolveRpID(), this.resolveOrigin()
|
|
12520
|
+
const loginMethodProvider = { getLoginMethods: async () => buildAuthWebauthnLoginMethods(await this.resolveRpID(), await this.resolveOrigin()) };
|
|
12521
12521
|
this.ctx.logger.info("WebAuthn passkey provider initialized", { meta: {
|
|
12522
|
-
rpID: this.
|
|
12522
|
+
rpID: this.config.rpID?.trim() || "(derived from Network)",
|
|
12523
12523
|
rpName: this.config.rpName
|
|
12524
12524
|
} });
|
|
12525
12525
|
return [
|
|
12526
12526
|
{
|
|
12527
|
-
capability:
|
|
12527
|
+
capability: require_hub_browser_origin.userPasskeysCapability,
|
|
12528
12528
|
provider
|
|
12529
12529
|
},
|
|
12530
12530
|
{
|
|
12531
|
-
capability:
|
|
12531
|
+
capability: require_hub_browser_origin.addonWidgetsSourceCapability,
|
|
12532
12532
|
provider: widgetsProvider
|
|
12533
12533
|
},
|
|
12534
12534
|
{
|
|
12535
|
-
capability:
|
|
12535
|
+
capability: require_hub_browser_origin.loginMethodCapability,
|
|
12536
12536
|
provider: loginMethodProvider
|
|
12537
12537
|
}
|
|
12538
12538
|
];
|
|
@@ -12555,14 +12555,14 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12555
12555
|
type: "text",
|
|
12556
12556
|
key: "rpID",
|
|
12557
12557
|
label: "RP ID",
|
|
12558
|
-
description: "Hub domain (NO scheme, NO port). Empty = derive from
|
|
12558
|
+
description: "Hub domain (NO scheme, NO port). Empty = derive from the hub address in Network (public tunnel, then mesh, then LAN). Pin it: changing RP ID invalidates enrolled passkeys. localhost works for dev.",
|
|
12559
12559
|
default: ""
|
|
12560
12560
|
}),
|
|
12561
12561
|
this.field({
|
|
12562
12562
|
type: "text",
|
|
12563
12563
|
key: "origin",
|
|
12564
12564
|
label: "Origin",
|
|
12565
|
-
description: "Full origin scheme+host+port allowed for assertions. Empty =
|
|
12565
|
+
description: "Full origin scheme+host+port allowed for assertions. Empty = the hub address in Network.",
|
|
12566
12566
|
default: ""
|
|
12567
12567
|
}),
|
|
12568
12568
|
this.field({
|
|
@@ -12617,18 +12617,26 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12617
12617
|
return null;
|
|
12618
12618
|
}
|
|
12619
12619
|
}
|
|
12620
|
-
|
|
12620
|
+
/**
|
|
12621
|
+
* The hub's browser-facing address when the operator pinned neither RP ID
|
|
12622
|
+
* nor origin: the Network page's (`hubBrowserOrigin`), else the development
|
|
12623
|
+
* default. An RP ID derived from it changes when the hub's address does —
|
|
12624
|
+
* which is why the settings banner asks the operator to PIN one.
|
|
12625
|
+
*/
|
|
12626
|
+
async derivedOrigin() {
|
|
12627
|
+
return await require_hub_browser_origin.hubBrowserOrigin(this.ctx.api.localNetwork, this.ctx.logger) ?? "http://localhost:4443";
|
|
12628
|
+
}
|
|
12629
|
+
async resolveRpID() {
|
|
12621
12630
|
if (this.config.rpID && this.config.rpID.trim()) return this.config.rpID.trim();
|
|
12622
|
-
const origin = process.env["CAMSTACK_HUB_PUBLIC_URL"] || "http://localhost:4443";
|
|
12623
12631
|
try {
|
|
12624
|
-
return new URL(
|
|
12632
|
+
return new URL(await this.derivedOrigin()).hostname;
|
|
12625
12633
|
} catch {
|
|
12626
12634
|
return "localhost";
|
|
12627
12635
|
}
|
|
12628
12636
|
}
|
|
12629
|
-
resolveOrigin() {
|
|
12637
|
+
async resolveOrigin() {
|
|
12630
12638
|
if (this.config.origin && this.config.origin.trim()) return this.config.origin.trim().replace(/\/+$/, "");
|
|
12631
|
-
return
|
|
12639
|
+
return this.derivedOrigin();
|
|
12632
12640
|
}
|
|
12633
12641
|
challengeTtlMs() {
|
|
12634
12642
|
return (this.config.challengeTtlSec || DEFAULT_CONFIG.challengeTtlSec) * 1e3;
|
|
@@ -12649,7 +12657,7 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12649
12657
|
this.pruneExpiredChallenges();
|
|
12650
12658
|
const existing = await this.store.findByUserId(userId);
|
|
12651
12659
|
const options = await generateRegistrationOptions({
|
|
12652
|
-
rpID: this.resolveRpID(),
|
|
12660
|
+
rpID: await this.resolveRpID(),
|
|
12653
12661
|
rpName: this.config.rpName || DEFAULT_CONFIG.rpName,
|
|
12654
12662
|
userID: new TextEncoder().encode(userId),
|
|
12655
12663
|
userName: username,
|
|
@@ -12682,8 +12690,8 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12682
12690
|
const verification = await verifyRegistrationResponse({
|
|
12683
12691
|
response,
|
|
12684
12692
|
expectedChallenge: challenge,
|
|
12685
|
-
expectedRPID: this.resolveRpID(),
|
|
12686
|
-
expectedOrigin: this.resolveOrigin()
|
|
12693
|
+
expectedRPID: await this.resolveRpID(),
|
|
12694
|
+
expectedOrigin: await this.resolveOrigin()
|
|
12687
12695
|
});
|
|
12688
12696
|
if (!verification.verified || !verification.registrationInfo) throw new Error("finishRegistration: attestation verification failed");
|
|
12689
12697
|
const credential = verification.registrationInfo.credential;
|
|
@@ -12709,7 +12717,7 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12709
12717
|
this.pruneExpiredChallenges();
|
|
12710
12718
|
const userPasskeys = userId ? await this.store.findByUserId(userId) : [];
|
|
12711
12719
|
const options = await generateAuthenticationOptions({
|
|
12712
|
-
rpID: this.resolveRpID(),
|
|
12720
|
+
rpID: await this.resolveRpID(),
|
|
12713
12721
|
allowCredentials: userPasskeys.map((p) => ({
|
|
12714
12722
|
id: p.credentialId,
|
|
12715
12723
|
transports: p.transports
|
|
@@ -12741,8 +12749,8 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12741
12749
|
verification = await verifyAuthenticationResponse({
|
|
12742
12750
|
response,
|
|
12743
12751
|
expectedChallenge: challenge,
|
|
12744
|
-
expectedRPID: this.resolveRpID(),
|
|
12745
|
-
expectedOrigin: this.resolveOrigin(),
|
|
12752
|
+
expectedRPID: await this.resolveRpID(),
|
|
12753
|
+
expectedOrigin: await this.resolveOrigin(),
|
|
12746
12754
|
credential: {
|
|
12747
12755
|
id: stored.credentialId,
|
|
12748
12756
|
publicKey: this.base64urlDecode(stored.publicKey),
|
|
@@ -12780,7 +12788,7 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12780
12788
|
if (!this.store) throw new Error("passkey store unavailable");
|
|
12781
12789
|
this.pruneExpiredChallenges();
|
|
12782
12790
|
const options = await generateAuthenticationOptions({
|
|
12783
|
-
rpID: this.resolveRpID(),
|
|
12791
|
+
rpID: await this.resolveRpID(),
|
|
12784
12792
|
allowCredentials: [],
|
|
12785
12793
|
userVerification: "required"
|
|
12786
12794
|
});
|
|
@@ -12835,8 +12843,8 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12835
12843
|
verification = await verifyAuthenticationResponse({
|
|
12836
12844
|
response,
|
|
12837
12845
|
expectedChallenge: challenge,
|
|
12838
|
-
expectedRPID: this.resolveRpID(),
|
|
12839
|
-
expectedOrigin: this.resolveOrigin(),
|
|
12846
|
+
expectedRPID: await this.resolveRpID(),
|
|
12847
|
+
expectedOrigin: await this.resolveOrigin(),
|
|
12840
12848
|
requireUserVerification: true,
|
|
12841
12849
|
credential: {
|
|
12842
12850
|
id: stored.credentialId,
|