@camstack/addon-auth 1.2.143 → 1.2.145
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-DscyrBBw.js → dist-B2h4Ziv7.mjs} +897 -202
- package/dist/{dist-fzt8gRGY.mjs → dist-Be0i-dLp.js} +1146 -7
- package/dist/oidc/auth-oidc.addon.js +131 -97
- package/dist/oidc/auth-oidc.addon.mjs +126 -92
- package/dist/webauthn/_stub.js +1 -1
- package/dist/webauthn/{_virtual_mf-localSharedImportMap___mfe_internal__addon_auth_webauthn_widgets-CDD1e9sj.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_auth_webauthn_widgets-DuRYyuGp.mjs} +2 -2
- package/dist/webauthn/_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DSXWgur5.mjs +26 -0
- package/dist/webauthn/auth-webauthn.addon.js +16 -4
- package/dist/webauthn/auth-webauthn.addon.mjs +16 -5
- package/dist/webauthn/{hostInit-Ch3QCBTy.mjs → hostInit-B5ByDlK7.mjs} +2 -2
- 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-BlpPaWg4.mjs +0 -26
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as globalSecretScope, E as toSecretFieldView, S as arrayItemFieldPath, T as isSecretMarker, _ as resolveIconKey, b as BaseAddon, c as authProviderCapability, d as loginMethodCapability, f as normalizeOrigin, g as requestMountPrefix, h as pickRequestOrigin, i as addonRoutesCapability, l as buildAddonRouteProvider, m as parseAppFlowRequest, n as APP_FLOW_REFUSAL_MESSAGES, o as advertisedHubOrigins, p as oidcConnectionsCapability, r as SSO_STATE_COOKIE, s as appFlowLocation, t as APP_FLOW_DEFAULT_REDIRECT, u as claimedRequestOrigins, w as isSecretClear, x as SECRET_CLEAR, y as errMsg } from "../dist-B2h4Ziv7.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 });
|
|
@@ -881,83 +881,6 @@ function clientSecretPatchOf(value) {
|
|
|
881
881
|
return { clientSecret: value };
|
|
882
882
|
}
|
|
883
883
|
//#endregion
|
|
884
|
-
//#region src/oidc/request-origin.ts
|
|
885
|
-
/** host[:port] — a DNS name, IPv4 or bracketed IPv6. No userinfo, path or spaces. */
|
|
886
|
-
var AUTHORITY_RE = /^(?:[a-z0-9.-]+|\[[0-9a-f:.]+\])(?::\d{1,5})?$/i;
|
|
887
|
-
/** Same grammar as the hub's `parseForwardedPrefix` (spa-mount.ts). */
|
|
888
|
-
var PREFIX_RE = /^\/[A-Za-z0-9_\-.]+(?:\/[A-Za-z0-9_\-.]+)*$/;
|
|
889
|
-
var MAX_PREFIX_LENGTH = 512;
|
|
890
|
-
/** First value of a possibly comma-joined forwarded header (the client-most proxy). */
|
|
891
|
-
function firstValue(value) {
|
|
892
|
-
if (value === void 0) return null;
|
|
893
|
-
const first = value.split(",")[0]?.trim() ?? "";
|
|
894
|
-
return first.length === 0 ? null : first;
|
|
895
|
-
}
|
|
896
|
-
/** `scheme://host[:port]` normalised by WHATWG URL, or `null` if it is not an http(s) origin. */
|
|
897
|
-
function normalizeOrigin(value) {
|
|
898
|
-
try {
|
|
899
|
-
const url = new URL(value);
|
|
900
|
-
if (url.protocol !== "https:" && url.protocol !== "http:") return null;
|
|
901
|
-
if (url.username !== "" || url.password !== "") return null;
|
|
902
|
-
return url.origin;
|
|
903
|
-
} catch {
|
|
904
|
-
return null;
|
|
905
|
-
}
|
|
906
|
-
}
|
|
907
|
-
/** The mount prefix the relay named (no trailing slash), or `''`. Invalid = absent. */
|
|
908
|
-
function requestMountPrefix(headers) {
|
|
909
|
-
const raw = headers["x-forwarded-prefix"];
|
|
910
|
-
if (raw === void 0 || raw.length === 0 || raw.length > MAX_PREFIX_LENGTH) return "";
|
|
911
|
-
const trimmed = raw.endsWith("/") ? raw.slice(0, -1) : raw;
|
|
912
|
-
if (trimmed === "" || !PREFIX_RE.test(trimmed)) return "";
|
|
913
|
-
if (trimmed.split("/").some((segment) => segment === ".." || segment === ".")) return "";
|
|
914
|
-
return trimmed;
|
|
915
|
-
}
|
|
916
|
-
/**
|
|
917
|
-
* The origins the request CLAIMS, most specific first: the proxy's
|
|
918
|
-
* `X-Forwarded-Host` over `Host`; the named `X-Forwarded-Proto`, or https
|
|
919
|
-
* then http when none is named (the hub terminates TLS itself on 4443).
|
|
920
|
-
*/
|
|
921
|
-
function claimedRequestOrigins(headers) {
|
|
922
|
-
const authority = firstValue(headers["x-forwarded-host"]) ?? firstValue(headers["host"]);
|
|
923
|
-
if (authority === null || !AUTHORITY_RE.test(authority)) return [];
|
|
924
|
-
const proto = firstValue(headers["x-forwarded-proto"])?.toLowerCase() ?? null;
|
|
925
|
-
const schemes = proto === "https" || proto === "http" ? [proto] : proto === null ? ["https", "http"] : [];
|
|
926
|
-
const out = [];
|
|
927
|
-
for (const scheme of schemes) {
|
|
928
|
-
const origin = normalizeOrigin(`${scheme}://${authority}`);
|
|
929
|
-
if (origin !== null) out.push(origin);
|
|
930
|
-
}
|
|
931
|
-
return out;
|
|
932
|
-
}
|
|
933
|
-
/** Every origin the hub advertises itself at, normalised. Never the app link, never loopback. */
|
|
934
|
-
function advertisedHubOrigins(book) {
|
|
935
|
-
const candidates = [];
|
|
936
|
-
for (const row of book.rows) {
|
|
937
|
-
if (row.kind === "app-link" || row.kind === "loopback") continue;
|
|
938
|
-
candidates.push(row.baseUrl);
|
|
939
|
-
}
|
|
940
|
-
const { publicEndpoint, internal, appConnections } = book.roles;
|
|
941
|
-
if (publicEndpoint.resolved !== null) candidates.push(publicEndpoint.resolved);
|
|
942
|
-
if (internal.resolved !== null) candidates.push(internal.resolved);
|
|
943
|
-
candidates.push(...appConnections.resolved);
|
|
944
|
-
candidates.push(...book.listenerOrigins ?? []);
|
|
945
|
-
const out = /* @__PURE__ */ new Set();
|
|
946
|
-
for (const candidate of candidates) {
|
|
947
|
-
const origin = normalizeOrigin(candidate);
|
|
948
|
-
if (origin !== null) out.add(origin);
|
|
949
|
-
}
|
|
950
|
-
return out;
|
|
951
|
-
}
|
|
952
|
-
/**
|
|
953
|
-
* The origin to send the browser back to: the first claimed origin that is in
|
|
954
|
-
* `allowed`, or `null` (the caller then uses its default address).
|
|
955
|
-
*/
|
|
956
|
-
function pickRequestOrigin(headers, allowed) {
|
|
957
|
-
for (const origin of claimedRequestOrigins(headers)) if (allowed.has(origin)) return origin;
|
|
958
|
-
return null;
|
|
959
|
-
}
|
|
960
|
-
//#endregion
|
|
961
884
|
//#region src/oidc/auth-oidc.addon.ts
|
|
962
885
|
/**
|
|
963
886
|
* Generic OpenID Connect (OIDC) authentication provider.
|
|
@@ -1010,6 +933,28 @@ var STATE_TTL_MS = 5 * 6e4;
|
|
|
1010
933
|
var LINK_INTENT_PATTERN = /^[A-Za-z0-9_-]{16,128}$/;
|
|
1011
934
|
/** Bound on in-flight logins: `/start` is public, so a flood must not grow the map. */
|
|
1012
935
|
var MAX_PENDING_STATES = 1e3;
|
|
936
|
+
/** In-flight logins one client may hold (D858): one browser flooding `/start` cannot fill the map for everyone. */
|
|
937
|
+
var MAX_PENDING_PER_CLIENT = 20;
|
|
938
|
+
/**
|
|
939
|
+
* A step-up must follow a login that happened no earlier than this before the
|
|
940
|
+
* flow began (D858). The authorize request asks for `prompt=login&max_age=0`;
|
|
941
|
+
* this is the check that the IdP actually honoured it.
|
|
942
|
+
*/
|
|
943
|
+
var STEP_UP_MAX_AUTH_AGE_MS = 6e4;
|
|
944
|
+
/** The pending map is full, or this client already holds its share. Live states are never evicted for it. */
|
|
945
|
+
var PendingStatesFullError = class extends Error {};
|
|
946
|
+
/** A step-up whose id_token proves no login just before the flow began. */
|
|
947
|
+
var StepUpNotFreshError = class extends Error {};
|
|
948
|
+
/**
|
|
949
|
+
* Who a `/start` is counted against. The hub already limits each real client
|
|
950
|
+
* address per minute before a route runs; the addon sees only headers, so this
|
|
951
|
+
* is a best-effort key (a spoofed header only rotates the bucket, and the
|
|
952
|
+
* hub's limit and the global cap still bound the total).
|
|
953
|
+
*/
|
|
954
|
+
function clientKeyOf(headers) {
|
|
955
|
+
const forwarded = headers?.["x-forwarded-for"]?.split(",")[0]?.trim();
|
|
956
|
+
return headers?.["cf-connecting-ip"] ?? headers?.["x-real-ip"] ?? forwarded ?? "unknown";
|
|
957
|
+
}
|
|
1013
958
|
/**
|
|
1014
959
|
* Origin + mount prefix of a pinned `redirect_uri`: the part before the
|
|
1015
960
|
* callback path when it ends with it, else just its origin.
|
|
@@ -1180,7 +1125,11 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1180
1125
|
icon: resolveIconKey(inst.config.icon, DEFAULT_PROVIDER.icon),
|
|
1181
1126
|
startUrl: `/addon/auth-oidc/${id}/start`,
|
|
1182
1127
|
stage: "primary",
|
|
1183
|
-
linkable: true
|
|
1128
|
+
linkable: true,
|
|
1129
|
+
app: {
|
|
1130
|
+
kind: "browser",
|
|
1131
|
+
startPath: `/addon/auth-oidc/${id}/start`
|
|
1132
|
+
}
|
|
1184
1133
|
});
|
|
1185
1134
|
}
|
|
1186
1135
|
return out;
|
|
@@ -1316,12 +1265,10 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1316
1265
|
const nonce = crypto$1.randomBytes(16).toString("base64url");
|
|
1317
1266
|
const { redirectUri, returnBase } = await this.resolveRedirect(providerId, options.headers ?? null);
|
|
1318
1267
|
this.pruneExpiredStates();
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
if (oldest.done) break;
|
|
1322
|
-
this.pendingStates.delete(oldest.value);
|
|
1323
|
-
}
|
|
1268
|
+
const clientKey = clientKeyOf(options.headers);
|
|
1269
|
+
if (this.pendingStates.size >= MAX_PENDING_STATES || [...this.pendingStates.values()].filter((p) => p.clientKey === clientKey).length >= MAX_PENDING_PER_CLIENT) throw new PendingStatesFullError("Too many sign-ins in progress - try again shortly");
|
|
1324
1270
|
this.pendingStates.set(state, {
|
|
1271
|
+
clientKey,
|
|
1325
1272
|
codeVerifier,
|
|
1326
1273
|
nonce,
|
|
1327
1274
|
providerId,
|
|
@@ -1330,7 +1277,8 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1330
1277
|
popup: options.popup === true,
|
|
1331
1278
|
createdAt: Date.now(),
|
|
1332
1279
|
...linkIntent !== void 0 ? { linkIntent } : {},
|
|
1333
|
-
...options.browserBinding !== void 0 ? { browserBinding: options.browserBinding } : {}
|
|
1280
|
+
...options.browserBinding !== void 0 ? { browserBinding: options.browserBinding } : {},
|
|
1281
|
+
...options.app !== void 0 ? { app: options.app } : {}
|
|
1334
1282
|
});
|
|
1335
1283
|
const params = new URLSearchParams({
|
|
1336
1284
|
response_type: "code",
|
|
@@ -1342,17 +1290,27 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1342
1290
|
code_challenge: codeChallenge,
|
|
1343
1291
|
code_challenge_method: "S256"
|
|
1344
1292
|
});
|
|
1293
|
+
if (options.app?.purpose === "step-up") {
|
|
1294
|
+
params.set("prompt", "login");
|
|
1295
|
+
params.set("max_age", "0");
|
|
1296
|
+
}
|
|
1345
1297
|
return {
|
|
1346
1298
|
url: `${doc.authorization_endpoint}?${params.toString()}`,
|
|
1347
1299
|
returnBase
|
|
1348
1300
|
};
|
|
1349
1301
|
}
|
|
1302
|
+
/** The pending state for `state`, unless it is gone or older than its TTL. */
|
|
1303
|
+
livePending(state) {
|
|
1304
|
+
const pending = this.pendingStates.get(state);
|
|
1305
|
+
if (pending === void 0) return void 0;
|
|
1306
|
+
return Date.now() - pending.createdAt > STATE_TTL_MS ? void 0 : pending;
|
|
1307
|
+
}
|
|
1350
1308
|
pruneExpiredStates() {
|
|
1351
1309
|
const now = Date.now();
|
|
1352
1310
|
for (const [k, v] of this.pendingStates.entries()) if (now - v.createdAt > STATE_TTL_MS) this.pendingStates.delete(k);
|
|
1353
1311
|
}
|
|
1354
1312
|
async handleCallback(code, state) {
|
|
1355
|
-
const pending = this.
|
|
1313
|
+
const pending = this.livePending(state);
|
|
1356
1314
|
if (!pending) throw new Error("Unknown or expired OIDC state — login session timed out, please retry");
|
|
1357
1315
|
this.pendingStates.delete(state);
|
|
1358
1316
|
const providerId = pending.providerId;
|
|
@@ -1393,6 +1351,10 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1393
1351
|
throw new Error(`OIDC id_token verification failed: ${errMsg(err)}`, { cause: err });
|
|
1394
1352
|
}
|
|
1395
1353
|
if (typeof payload["nonce"] !== "string" || payload["nonce"] !== pending.nonce) throw new Error("OIDC id_token nonce mismatch — possible replay attack");
|
|
1354
|
+
if (pending.app?.purpose === "step-up") {
|
|
1355
|
+
const authTime = payload["auth_time"];
|
|
1356
|
+
if (typeof authTime !== "number" || !Number.isFinite(authTime) || authTime * 1e3 < pending.createdAt - STEP_UP_MAX_AUTH_AGE_MS) throw new StepUpNotFreshError("OIDC step-up id_token proves no fresh login");
|
|
1357
|
+
}
|
|
1396
1358
|
const sub = typeof payload.sub === "string" ? payload.sub : null;
|
|
1397
1359
|
if (!sub) throw new Error("OIDC callback: id_token missing required `sub` claim");
|
|
1398
1360
|
const emailClaim = typeof payload["email"] === "string" ? payload["email"] : void 0;
|
|
@@ -1411,7 +1373,8 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1411
1373
|
providerId,
|
|
1412
1374
|
returnBase: pending.returnBase,
|
|
1413
1375
|
popup: pending.popup,
|
|
1414
|
-
...pending.browserBinding !== void 0 ? { browserBinding: pending.browserBinding } : {}
|
|
1376
|
+
...pending.browserBinding !== void 0 ? { browserBinding: pending.browserBinding } : {},
|
|
1377
|
+
...pending.app !== void 0 ? { app: pending.app } : {}
|
|
1415
1378
|
};
|
|
1416
1379
|
}
|
|
1417
1380
|
validateLocalSessionToken(_token) {
|
|
@@ -1430,21 +1393,52 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1430
1393
|
reply.send({ error: "Malformed link request" });
|
|
1431
1394
|
return;
|
|
1432
1395
|
}
|
|
1433
|
-
const
|
|
1434
|
-
const
|
|
1396
|
+
const query = req.query;
|
|
1397
|
+
const popupParam = query["popup"];
|
|
1398
|
+
let app;
|
|
1399
|
+
if (query["app"] === "1") {
|
|
1400
|
+
const parsed = parseAppFlowRequest(query);
|
|
1401
|
+
if (linkParam !== void 0 || popupParam === "1" || !parsed.ok) {
|
|
1402
|
+
this.ctx.logger.warn("OIDC app sign-in refused at start", { meta: {
|
|
1403
|
+
provider: providerId,
|
|
1404
|
+
reason: parsed.ok ? "combined-flow" : parsed.reason
|
|
1405
|
+
} });
|
|
1406
|
+
reply.code(400);
|
|
1407
|
+
reply.type("text/html; charset=utf-8");
|
|
1408
|
+
reply.header("Cache-Control", "no-store");
|
|
1409
|
+
reply.send(appRefusalPage(parsed.ok ? "An app sign-in cannot be combined with linking or a popup." : APP_FLOW_REFUSAL_MESSAGES[parsed.reason]));
|
|
1410
|
+
return;
|
|
1411
|
+
}
|
|
1412
|
+
app = parsed.request;
|
|
1413
|
+
}
|
|
1414
|
+
const state = `${app !== void 0 ? "a." : ""}${crypto$1.randomBytes(16).toString("base64url")}`;
|
|
1435
1415
|
const browserState = crypto$1.randomBytes(32).toString("base64url");
|
|
1436
1416
|
try {
|
|
1437
1417
|
const { url, returnBase } = await this.prepareLogin(providerId, state, {
|
|
1438
1418
|
...linkParam !== void 0 ? { linkIntent: linkParam } : {},
|
|
1439
1419
|
headers: req.headers,
|
|
1440
1420
|
popup: popupParam === "1",
|
|
1441
|
-
browserBinding: crypto$1.createHash("sha256").update(browserState).digest("hex")
|
|
1421
|
+
browserBinding: crypto$1.createHash("sha256").update(browserState).digest("hex"),
|
|
1422
|
+
...app !== void 0 ? { app } : {}
|
|
1442
1423
|
});
|
|
1443
1424
|
reply.code(302);
|
|
1444
1425
|
reply.header("Set-Cookie", ssoStateCookie(browserState, returnBase.startsWith("https:")));
|
|
1445
1426
|
reply.header("Location", url);
|
|
1446
1427
|
reply.send("");
|
|
1447
1428
|
} catch (err) {
|
|
1429
|
+
if (err instanceof PendingStatesFullError) {
|
|
1430
|
+
this.ctx.logger.warn("OIDC sign-in refused: too many in progress", { meta: { provider: providerId } });
|
|
1431
|
+
if (app !== void 0) {
|
|
1432
|
+
reply.code(302);
|
|
1433
|
+
reply.header("Location", appFlowLocation(app.redirect, { error: "too-many-requests" }, app.state));
|
|
1434
|
+
reply.send("");
|
|
1435
|
+
return;
|
|
1436
|
+
}
|
|
1437
|
+
reply.code(429);
|
|
1438
|
+
reply.header("Retry-After", "30");
|
|
1439
|
+
reply.send({ error: "Too many sign-ins in progress - try again shortly" });
|
|
1440
|
+
return;
|
|
1441
|
+
}
|
|
1448
1442
|
reply.code(500);
|
|
1449
1443
|
reply.send({
|
|
1450
1444
|
error: "OIDC start failed",
|
|
@@ -1463,6 +1457,27 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1463
1457
|
const code = query["code"];
|
|
1464
1458
|
const state = query["state"];
|
|
1465
1459
|
const errorParam = query["error"];
|
|
1460
|
+
const pendingApp = state !== void 0 ? this.livePending(state)?.app : void 0;
|
|
1461
|
+
const appFlowState = state?.startsWith("a.") === true;
|
|
1462
|
+
const answerApp = (error) => {
|
|
1463
|
+
this.ctx.logger.warn("OIDC app sign-in refused at callback", { meta: {
|
|
1464
|
+
provider: providerId,
|
|
1465
|
+
error
|
|
1466
|
+
} });
|
|
1467
|
+
if (state !== void 0) this.pendingStates.delete(state);
|
|
1468
|
+
reply.code(302);
|
|
1469
|
+
reply.header("Cache-Control", "no-store");
|
|
1470
|
+
reply.header("Location", pendingApp !== void 0 ? appFlowLocation(pendingApp.redirect, { error }, pendingApp.state) : appFlowLocation(APP_FLOW_DEFAULT_REDIRECT, { error }));
|
|
1471
|
+
reply.send("");
|
|
1472
|
+
};
|
|
1473
|
+
if (appFlowState && pendingApp === void 0) {
|
|
1474
|
+
answerApp(errorParam ? "idp-error" : "state-expired");
|
|
1475
|
+
return;
|
|
1476
|
+
}
|
|
1477
|
+
if (errorParam && pendingApp !== void 0) {
|
|
1478
|
+
answerApp("idp-error");
|
|
1479
|
+
return;
|
|
1480
|
+
}
|
|
1466
1481
|
if (errorParam) {
|
|
1467
1482
|
reply.code(400);
|
|
1468
1483
|
reply.send({
|
|
@@ -1480,6 +1495,10 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1480
1495
|
try {
|
|
1481
1496
|
const result = await this.handleCallback(code, state);
|
|
1482
1497
|
if (result.providerId !== providerId) {
|
|
1498
|
+
if (result.app !== void 0) {
|
|
1499
|
+
answerApp("provider-mismatch");
|
|
1500
|
+
return;
|
|
1501
|
+
}
|
|
1483
1502
|
reply.code(400);
|
|
1484
1503
|
reply.send({ error: "OIDC callback does not match the provider the login started at" });
|
|
1485
1504
|
return;
|
|
@@ -1494,14 +1513,25 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1494
1513
|
...result.linkIntent !== void 0 ? { linkIntent: result.linkIntent } : {},
|
|
1495
1514
|
issuer: result.issuer,
|
|
1496
1515
|
jti: crypto$1.randomBytes(16).toString("base64url"),
|
|
1497
|
-
...result.browserBinding !== void 0 ? { browserBinding: result.browserBinding } : {}
|
|
1516
|
+
...result.browserBinding !== void 0 ? { browserBinding: result.browserBinding } : {},
|
|
1517
|
+
...result.app !== void 0 ? { app: {
|
|
1518
|
+
codeChallenge: result.app.codeChallenge,
|
|
1519
|
+
state: result.app.state,
|
|
1520
|
+
purpose: result.app.purpose,
|
|
1521
|
+
redirect: result.app.redirect
|
|
1522
|
+
} } : {}
|
|
1498
1523
|
} });
|
|
1499
1524
|
const finish = new URLSearchParams({ bridge: bridgeToken });
|
|
1500
1525
|
if (result.popup) finish.set("popup", "1");
|
|
1526
|
+
const finishPath = result.app !== void 0 ? "finish-app" : "finish";
|
|
1501
1527
|
reply.code(302);
|
|
1502
|
-
reply.header("Location", `${result.returnBase}/api/auth/sso
|
|
1528
|
+
reply.header("Location", `${result.returnBase}/api/auth/sso/${finishPath}?${finish.toString()}`);
|
|
1503
1529
|
reply.send("");
|
|
1504
1530
|
} catch (err) {
|
|
1531
|
+
if (pendingApp !== void 0) {
|
|
1532
|
+
answerApp(err instanceof StepUpNotFreshError ? "step-up-not-fresh" : "idp-failed");
|
|
1533
|
+
return;
|
|
1534
|
+
}
|
|
1505
1535
|
reply.code(500);
|
|
1506
1536
|
reply.send({
|
|
1507
1537
|
error: "OIDC callback failed",
|
|
@@ -1510,6 +1540,10 @@ var AuthOidcAddon = class extends BaseAddon {
|
|
|
1510
1540
|
}
|
|
1511
1541
|
}
|
|
1512
1542
|
};
|
|
1543
|
+
/** Minimal standalone page for a refused app sign-in request (D858) - no assets, no script. */
|
|
1544
|
+
function appRefusalPage(message) {
|
|
1545
|
+
return `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Sign-in request refused</title></head><body style="font-family:system-ui,sans-serif;max-width:32rem;margin:3rem auto;padding:0 1rem"><h1>Sign-in request refused</h1><p>${message.replace(/[&<>"']/g, (c) => `&#${c.charCodeAt(0)};`)}</p><p>Close this window and try again from the app.</p></body></html>`;
|
|
1546
|
+
}
|
|
1513
1547
|
/**
|
|
1514
1548
|
* The browser-binding cookie (`SSO_STATE_COOKIE`). HttpOnly, Lax (the IdP
|
|
1515
1549
|
* returns with a top-level GET), path `/` so it reaches the hub's finish under
|
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-DSXWgur5.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) => {
|
|
@@ -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.370",
|
|
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.289",
|
|
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.Activity, e.AddProviderEntryDialog, e.AddonGlobalSettingsForm, e.AdminLinkQuickAction, e.AgentStepEditor, e.AirVent, e.AlarmHeroCard, e.AlarmPanelInlineControl, e.AlarmSmoke, e.AppShell, e.ArcKnob, e.ArrowDown, e.ArrowDownToLine, e.ArrowLeft, e.ArrowRight, e.ArrowUp, e.ArrowUpToLine, 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.Baby, e.BackToStepsButton, e.Badge, e.Ban, e.Bath, e.Battery, e.BatteryBadge, e.BatteryFull, e.BatteryLow, e.BatteryMedium, e.BatteryWarning, e.Bell, e.BellRing, e.Bike, e.Bird, e.Blinds, e.Bone, e.Bot, e.BottomSheet, e.Box, e.Breadcrumb, e.BrightnessPanel, e.Bug, e.Bus, 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.Cable, e.Camera, e.CameraStreamPlayer, e.Car, e.Card, e.Cast, e.Cat, e.Check, e.Checkbox, e.ChevronDown, e.ChevronLeft, e.ChevronRight, e.ChevronUp, e.ChevronsDownUp, e.ChevronsUpDown, e.ChildSectionAccordion, e.CircleAlert, e.CircleCheck, e.CircleCheckBig, e.CircleDot, e.CirclePause, e.CirclePlus, e.CircleQuestionMark, e.CircleStop, e.CircleX, e.Clapperboard, e.ClimatePanel, e.Clock, e.Cloud, e.CloudFog, e.CloudLightning, e.CloudRain, e.CloudSnow, e.CloudSun, e.CodeBlock, e.Cog, 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.Copy, e.CopyButton, e.CoverHeroCard, e.CoverInlineControl, e.CoverPanel, e.Cpu, e.Crosshair, e.CustomFieldRenderersProvider, e.DEFAULT_COLOR, e.DEFAULT_PAGINATION_LABELS, e.DEVICE_COLUMNS, e.DEVICE_EXPORT_PAGE_SIZE_KEY, 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.DataTable, e.DataTableFilterBar, e.DataTablePager, e.Database, e.DetectionCanvas, e.DetectionOverlay, e.DetectionResultTree, e.DevShell, e.DeviceActivityPanel, e.DeviceBatchToolbar, e.DeviceCard, e.DeviceContextProvider, e.DeviceExportPanel, e.DeviceExportSetup, 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.Dog, e.DoorClosed, e.DoorOpen, e.DoorbellRecentPanel, e.Download, e.Dropdown, e.DropdownContent, e.DropdownItem, e.DropdownTrigger, e.Droplet, e.Droplets, e.DummyHeroCard, e.DummyInline, e.EMPTY_DATA_TABLE_FILTER, e.EVENT_KIND_ICONS, e.EllipsisVertical, e.EmptyState, e.EndpointResultsCard, e.EndpointTestCard, e.ErrorBox, e.EventKindGlyph, e.EventStream, e.ExtensionsPanel, e.ExternalLink, e.Eye, e.EyeOff, e.FAST_ICON_GLYPHS, e.FILL, e.FLEET_LIST_GC_TIME_MS, e.FLEET_LIST_QUERY_KEY, e.FLEET_LIST_STALE_TIME_MS, e.Fan, e.FanHeroCard, e.FanInlineControl, e.FanPanel, e.Feather, e.Film, e.FilterBar, e.Flame, e.Flashlight, e.FlashlightOff, e.FlaskConical, e.FloatingEventStream, e.FloatingLogStream, e.FloatingPanel, e.Footprints, e.FormField, e.Funnel, e.GRID_GAP, e.GRID_PAIRED, e.GRID_QUICK_STATS, e.Gamepad2, e.GateBadge, e.GateControl, e.Gauge, e.GraduationCap, e.Grid2x2, e.GripHorizontal, e.GripTrack, e.GroupedModelSelector, e.HOST_WIDGETS, e.HUB_SESSION_RUN_MS, e.Hammer, e.Hand, e.HardDrive, e.Hash, e.HlsVideo, e.House, e.HoverZoomImage, e.HubSessionTestCard, e.HumidifierHeroCard, e.HumidifierInlineControl, e.INPUT_COMPACT, e.INPUT_SHELL, e.IconAction, e.IconButton, e.IconPicker, e.Image, e.ImageHeroCard, e.ImageInlineControl, e.ImageOff, e.ImageSelector, e.Inbox, e.InferenceConfigSelector, e.Info, e.Input, e.ItemFormDialog, e.KebabMenu, e.KeyValueList, e.LIST_ROW, e.Label, e.Laugh, e.LawnMowerHeroCard, e.LawnMowerInlineControl, e.LayeredSettingsForm, e.LayoutGrid, e.Leaf, e.LightHeroCard, e.LightInlineControl, e.Lightbulb, e.Link2, e.List, e.ListChecks, e.LoaderCircle, e.LocateFixed, e.Lock, e.LockHeroCard, e.LockInlineControl, e.LockOpen, e.LockPanel, e.LogStream, e.LoginForm, e.MEDIA_GRID, e.MODE_COLOR, e.Mail, e.MapPin, e.MaskShapeCanvas, e.Maximize2, e.MediaCard, e.MediaGrid, e.MediaPlayerHeroCard, e.MediaPlayerInlineControl, e.MediaPlayerPanel, e.Megaphone, e.Menu, e.MessageSquare, e.Mic, e.Minimize2, e.Minus, e.MobileDrawer, e.ModelPicker, e.MonitorPlay, e.Moon, e.MotionZonesSettings, e.MousePointerClick, e.Move, e.MoveHorizontal, e.MoveVertical, e.Music, e.NAVIGATION_DRIVE_INTERVAL_MS, e.NODE_COLOR_IDS, e.NatResultCard, e.Navigation, e.NavigationPanel, e.Network, e.NetworkLinkBadge, e.NodeMultiSelectField, e.NodePicker, e.NodeSelectField, e.NotificationTargetSelectField, e.NotificationTargetsField, e.OPTION_SELECT_SEARCH_MIN_OPTIONS, e.OfflineBadge, e.OptionSelect, e.PAGE_SIZE_ALL, 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.Package, e.PageHeader, e.PageShell, e.PageSizeSelect, e.Pagination, e.PasswordInput, e.Pause, e.PawPrint, e.Pencil, e.PhaseIcon, e.Phone, e.Pin, e.PipelineBuilder, e.PipelineRuntimeSelector, e.PipelineStep, e.Pipette, e.PlaceholderChipField, e.Plane, e.Play, e.PlayerOverlaysProvider, e.Plug, e.Plus, e.Popover, e.PopoverContent, e.PopoverRowAction, e.PopoverTrigger, e.Power, e.PowerOff, e.PrimaryChildPicker, e.PrivacyMaskSettings, e.ProviderBadge, e.ProviderEntryPills, e.PtzPanel, e.Puzzle, e.QrCode, e.QrCode$1, e.RECONNECT_POLICY, e.RECORDED_PLAYBACK_MODES, e.RIGHT, e.ROI_AREA_WARN_FRACTION, e.ROLE_DESCRIPTOR, e.ROOT_DETECTOR_STEP_ID, e.Radar, e.RadialGauge, e.Radio, e.RadioTower, e.RecordedPlaybackProvider, e.RecordingPanel, e.RefreshCw, e.ResponseLog, e.RetrainReviewBadge, e.RoleDisplayDefaultsFromServer, e.RoleDisplayDefaultsProvider, e.RoleNodePill, e.RootModelSourceControl, e.RootSuppliedModelNote, e.RotateCcw, e.RotateCw, e.Route, e.RunReport, e.SCENE_CAPTURE_VARIANTS, e.SCENE_CAPTURE_VARIANTS$1, e.SECRET_MASK_PLACEHOLDER, e.SECRET_REVEAL_MS, 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.STEP_DOCK_WIDTH_PX, e.Sailboat, e.Save, e.Scan, e.SceneMonitorEditor, e.ScopePicker, e.ScriptHeroCard, e.ScriptInlineControl, e.ScrollArea, e.ScrollText, e.Search, e.SecretFieldControl, e.SecretRevealProvider, e.SectionCard, e.SectionToolbar, e.SectionedPage, e.SegmentedChoice, e.Select, e.SelectedChip, e.SemanticBadge, e.SendFrameToTrainingButton, e.SensorHeroCard, e.SensorInlineControl, e.SensorValueAtom, e.Separator, e.Server, e.SettingRow, e.Settings, e.Share2, e.Shield, e.ShieldAlert, e.ShieldCheck, e.ShieldOff, e.Ship, e.Sidebar, e.SidebarItem, e.Siren, e.Skeleton, e.SkipBack, e.SkipForward, e.SlideToggle, e.SlidersHorizontal, e.Smartphone, e.SnapshotButton, e.Snowflake, e.SortHeaderButton, e.Sparkles, e.Sprout, e.Square, e.StableTabPanel, e.Star, e.StatCard, e.StateValuesStream, e.StatusBadge, e.StepDetailDock, e.StepInspectorPanel, e.StepModelRow, e.StepTimings, e.Stepper, e.StreamBrokerSelector, e.StreamDebugOverlay, e.StreamPanel, e.Sun, e.SunMedium, e.Sunrise, 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.Tag, e.TapToggle, e.Target, e.ThemeProvider, e.Thermometer, e.ThermostatHeroCard, e.ThermostatInlineControl, e.TimezoneSelector, e.ToggleLeft, e.ToggleRight, e.Tooltip, e.TooltipContent, e.TooltipTrigger, e.Tractor, e.TrainFront, e.TrainingBaseModelPicker, e.TrainingCollectionPicker, e.Trash2, e.TrendingDown, e.TrendingUp, e.TriangleAlert, e.Truck, e.Type, e.Undo2, e.UnitPicker, e.Unlink2, e.Upload, e.User, e.UserCheck, e.Users, e.UtensilsCrossed, e.VacuumHeroCard, e.VacuumInlineControl, e.ValueReadout, e.ValveHeroCard, e.ValveInlineControl, e.VersionBadge, e.Vibrate, e.VodPlaybackProvider, e.Volume2, e.VolumeX, e.WaterHeaterHeroCard, e.WaterHeaterInlineControl, e.Waves, e.WeatherHeroCard, e.WeatherInlineControl, e.WidgetMetricCard, e.WidgetPanel, e.WidgetRegistryProvider, e.WidgetSlot, e.Wifi, e.WifiHigh, e.WifiLow, e.WifiOff, e.WifiZero, e.Wind, e.Workflow, e.Wrench, e.X, e.Zap, e.ZoneEditingProvider, e.ZoomIn, e.ZoomOut, e.acceleratorLabel, e.acceleratorShortLabel, e.agentColumnKey, e.allDeviceTypeFilterOptions, e.applyFleetQueryDefaults, e.applyPickerFilters, e.ariaSortForColumn, e.assignNodeColorId, e.badgeFor, e.badgeFor$1, e.bindsToModel, e.buildColorByNodeId, e.buildPeerConnectionConfig, e.buildStepTreeFromSchema, e.catalogHasDraft, e.childEntityId, e.childListName, e.chipOverflow, e.classifyAddressScope, e.classifyCapability, e.classifySessionVerdict, e.clearPickerGroup, e.clusterRootModelIds, e.cn, e.colorIdForNode, e.columnsForContext, e.compareSrflxMappings, e.computePageButtons, e.containerChildToRef, e.countableDevices, e.coverHighlight, e.coverageLine, e.coverageLine$1, e.createSharedContext, e.createTheme, e.cursorFractionFor, e.darkColors, e.dataTableFacetGroups, e.dataTableFacets, e.defaultOfField, e.defaultSelectClusterRoots, e.defaultSingleClusterRoot, 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.dockBox, e.draftFromQuery, e.effectivePageSize, e.emptyDevicesWidens, e.emptySessionRun, e.ensureMfHostInit, e.eventKindLabel, e.filterDataTableRows, e.filterDeviceOptions, e.filterOptionSelectOptions, e.filterPickerDevices, e.finalizeSessionRun, e.findTimezone, e.flattenPickerGrouping, e.flattenPickerRows, e.fleetViewOf, e.formatControlDateTime, e.formatLastSeen, e.formatNumeric, e.formatSettingValue, 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.iconGlyphsFailed, e.iconGlyphsLoaded, e.initialScrubState, e.insertAtSelection, e.isAbsentProvider, e.isAbsentProvider$1, e.isDataTableFilterActive, e.isFieldVisible, e.isGroupExpanded, e.isKeychainFieldValue, e.isValueField, e.lawnMowerActivityMeta, e.lightColors, e.loadIconGlyphs, e.loadRemoteBundle, e.lucideExportName, e.makeScrubBridge, e.mapRootDetectorPlacements, e.metadataEntries, e.metadataString, e.mirror, e.mountAddonPage, e.mountPath, e.nextGridPosition, e.nextReconnectAction, e.nextSort, e.nextSortDirection, e.nextTableSort, e.nodeColorClass, e.nodeSoftBgClass, e.nodeTextColorClass, e.normalizeForSearch, e.offListSelections, e.openTopLayer, e.optionSelectSearchText, e.orphanDeviceLabel, e.overrideEntityIdFromLink, e.pageRows, e.pageSizeLabel, e.paginateRows, e.parentDetailOf, e.parseIceCandidate, e.parsePickerGroupBy, e.parseRecordedServerMessage, e.partitionOptionSelectSelected, e.partitionSuggested, e.pickerFacetFilterShown, e.pickerFacetKey, e.pickerFacetOptions, e.pickerFiltersActive, e.pickerGroupKey, e.pickerHiddenSelectedCount, e.pickerLocationKey, e.pickerQueryTokens, e.pickerRowFacts, e.pickerSearchText, e.pickerZoneFilterSuspended, e.pinnedStreamChoices, e.placePopover, e.providerIcons, e.readStoredGroupBy, e.reduceSessionRun, 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.retrainReviewBadgeLook, e.roiTooLarge, e.roiTooLarge$1, e.rootSourceState, e.routerBasename, e.sameLocationSuggestions, e.scrubReducer, e.searchSteps, e.secretSubmitValue, e.selectPickerGroup, e.selectedDeviceOptions, e.serializeRecordedCommand, e.settingsModelIdFor, e.shouldCommit, e.shouldEmit, e.shouldShowAddNewFooter, e.shouldShowUseQueryRow, e.shouldUseSingleNode, e.showsNoCamerasHint, e.sortRows, e.sortRowsByColumn, e.statusIcons, e.statusLine, e.statusLine$1, e.stepFieldDomId, e.stepHasModelForFormat, e.stepLocalFields, e.stepModelOptions, e.stripParentNamePrefix, e.summarizeHubCandidates, e.tabForSelector, e.tankAlert, e.themeToCss, e.toStationaryOverlayBox, e.toggleDataTableFacet, e.toggleDataTableGroupFacet, e.togglePickerDevice, e.togglePickerKey, e.trainingRefusalText, 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.useAddonsListInstallations, 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.useBackupCheckBackupKey, e.useBackupDelete, e.useBackupDeleteSchedule, e.useBackupDisableEncryption, e.useBackupGetEncryption, e.useBackupGetEntries, e.useBackupList, e.useBackupListArchives, e.useBackupListAvailableDatabases, e.useBackupListDestinations, e.useBackupListLocations, e.useBackupListRuns, e.useBackupListSchedules, e.useBackupPreviewSchedule, e.useBackupRestore, e.useBackupSetupEncryption, 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.useDecoderGetInfo, e.useDecoderReprobeHwaccel, 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.useDeviceCredentialsDeleteDeviceCredential, e.useDeviceCredentialsGetDeviceCaStatus, e.useDeviceCredentialsGetDeviceCertificateSettings, e.useDeviceCredentialsListDeviceCredentials, e.useDeviceCredentialsRenameDeviceCredential, e.useDeviceCredentialsRevokeDeviceCredential, e.useDeviceCredentialsSetDeviceCertificateSettings, e.useDeviceCredentialsStartEnrollment, 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.useDeviceHistoryDeclareSeries, e.useDeviceHistoryGetDeviceEnabled, e.useDeviceHistoryGetStatus, e.useDeviceHistoryListNodeSeries, e.useDeviceHistoryListSeries, e.useDeviceHistoryQuery, e.useDeviceHistoryQueryNode, e.useDeviceHistoryRecord, e.useDeviceHistoryRecordBuckets, e.useDeviceHistorySetDeviceEnabled, 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.useDisplayIconResolver, 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.useIconGlyphsVersion, 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.useItemFormUrl, e.useKeychainAdminAcknowledgeReset, e.useKeychainAdminDeleteOrphans, e.useKeychainAdminDownloadRecoveryKey, e.useKeychainAdminListAudit, e.useKeychainAdminListSecrets, e.useKeychainAdminPurgeRetiredKeys, e.useKeychainAdminResetKeychain, e.useKeychainAdminResetReport, e.useKeychainAdminReveal, e.useKeychainAdminRotateMasterKey, e.useKeychainAdminSetSystemSecret, e.useKeychainAdminStatus, 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.useOidcConnectionsConnectionFormSchema, e.useOidcConnectionsCreateConnection, e.useOidcConnectionsDeleteConnection, e.useOidcConnectionsListConnections, e.useOidcConnectionsUpdateConnection, 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.useOsdManagerSetSlotCameraEnabled, e.useOsdManagerUpsertTemplate, e.useOsdSetOverlay, e.usePTZ, e.usePersistedPageSize, 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.usePipelineAnalyticsAddRetrainFrameFromRecording, e.usePipelineAnalyticsAddRetrainFramesToCollection, e.usePipelineAnalyticsApplyDeviceSettingsPatch, e.usePipelineAnalyticsBackfillRetrainOrigins, e.usePipelineAnalyticsCancelRelocateMedia, e.usePipelineAnalyticsCancelStorageMigrationMove, e.usePipelineAnalyticsClearTrackRelation, e.usePipelineAnalyticsClearTracks, e.usePipelineAnalyticsCompleteRetrainTrack, e.usePipelineAnalyticsCountRelocatableMedia, e.usePipelineAnalyticsCountUnstampedEventMedia, e.usePipelineAnalyticsCreateRetrainCollection, e.usePipelineAnalyticsDeleteDeviceEvents, e.usePipelineAnalyticsDeleteRetrainCollection, 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.usePipelineAnalyticsGetRetrainCorpusKpi, 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.usePipelineAnalyticsListRetrainAssistProfiles, e.usePipelineAnalyticsListRetrainCollectionFrames, e.usePipelineAnalyticsListRetrainCollections, e.usePipelineAnalyticsListRetrainCorpusPage, e.usePipelineAnalyticsListRetrainFrames, e.usePipelineAnalyticsListRetrainStaging, e.usePipelineAnalyticsListTrackMedia, e.usePipelineAnalyticsListTrackRelations, e.usePipelineAnalyticsListTracks, e.usePipelineAnalyticsOfferRetrainArchive, e.usePipelineAnalyticsOwnersWithMedia, e.usePipelineAnalyticsPauseForStorageMigration, e.usePipelineAnalyticsProposeRetrainAnnotations, e.usePipelineAnalyticsProposeRetrainAnnotationsWithLlm, e.usePipelineAnalyticsPruneEvents, e.usePipelineAnalyticsPruneEventsBefore, e.usePipelineAnalyticsPruneTracksBefore, e.usePipelineAnalyticsReadLongTermSeries, e.usePipelineAnalyticsRebuildObjectEmbeddings, e.usePipelineAnalyticsReclaimDebugMedia, e.usePipelineAnalyticsReconcileFromDisk, e.usePipelineAnalyticsRefreshStorageLocationsForMigration, e.usePipelineAnalyticsRelocateMedia, e.usePipelineAnalyticsRemoveRetrainFrameFromCollection, e.usePipelineAnalyticsRenameRetrainCollection, e.usePipelineAnalyticsResolveRetrainTrainingCorpus, e.usePipelineAnalyticsRestageRetrainTrack, e.usePipelineAnalyticsResumeForStorageMigration, e.usePipelineAnalyticsSaveRetrainAnnotations, e.usePipelineAnalyticsSearchObjectEvents, e.usePipelineAnalyticsSelectRetrainFrames, e.usePipelineAnalyticsSetRetrainFrameComplete, e.usePipelineAnalyticsSetTrackFlags, e.usePipelineAnalyticsSetTrackPurity, e.usePipelineAnalyticsSetTrackRelation, e.usePipelineAnalyticsStartStorageMigrationMove, e.usePipelineAnalyticsWipeAllAnalytics, e.usePipelineAnalyticsWipeObjectEmbeddings, e.usePipelineAnalyticsWriteRetrainArchive, e.usePipelineExecutorCacheFrameInPool, e.usePipelineExecutorClearDeviceOverrides, e.usePipelineExecutorClearModelBoundDeviceOverrides, e.usePipelineExecutorDeleteModel, 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.usePipelineExecutorRearmInferenceDevice, e.usePipelineExecutorRunAudioTest, e.usePipelineExecutorRunPipeline, e.usePipelineExecutorRunPipelineBatch, e.usePipelineExecutorSetVideoPipelineSteps, e.usePipelineExecutorSpinEngine, e.usePipelineExecutorUncacheFrame, e.usePipelineExecutorValidatePipeline, e.usePipelineOrchestratorAbortNodeBenchmark, e.usePipelineOrchestratorApplyAutoTune, e.usePipelineOrchestratorApplyDeviceSettingsPatch, e.usePipelineOrchestratorAssignAudio, e.usePipelineOrchestratorAssignPipeline, e.usePipelineOrchestratorDeleteNodeBenchmarkResult, e.usePipelineOrchestratorGetAgentLoad, e.usePipelineOrchestratorGetAgentSettings, e.usePipelineOrchestratorGetAudioAssignment, e.usePipelineOrchestratorGetAudioAssignments, e.usePipelineOrchestratorGetAudioNodeLoad, e.usePipelineOrchestratorGetCameraDetectionSource, e.usePipelineOrchestratorGetCameraMetrics, e.usePipelineOrchestratorGetCameraSettings, e.usePipelineOrchestratorGetCameraStatus, e.usePipelineOrchestratorGetCameraStatuses, e.usePipelineOrchestratorGetCameraStepOverrides, e.usePipelineOrchestratorGetCameraSwitches, e.usePipelineOrchestratorGetCapabilityBindings, e.usePipelineOrchestratorGetClusterModelChoice, e.usePipelineOrchestratorGetDeviceLiveContribution, e.usePipelineOrchestratorGetDeviceSettingsContribution, e.usePipelineOrchestratorGetEffectiveShares, e.usePipelineOrchestratorGetGlobalMetrics, e.usePipelineOrchestratorGetIngestOwner, e.usePipelineOrchestratorGetNodeBenchmarkCandidates, e.usePipelineOrchestratorGetNodeBenchmarkPreflight, e.usePipelineOrchestratorGetNodeBenchmarkStatus, e.usePipelineOrchestratorGetNodeInferenceDevices, e.usePipelineOrchestratorGetPipelineAssignment, e.usePipelineOrchestratorGetPipelineAssignments, e.usePipelineOrchestratorGetPipelineDevicePin, e.usePipelineOrchestratorGetPlacementStats, e.usePipelineOrchestratorGetReconcileFromDiskStatus, e.usePipelineOrchestratorListAgentSettings, e.usePipelineOrchestratorListNodeBenchmarkResults, e.usePipelineOrchestratorPauseForStorageMigration, e.usePipelineOrchestratorPlanAutoTune, e.usePipelineOrchestratorRebalance, e.usePipelineOrchestratorReconcileFromDisk, e.usePipelineOrchestratorRemoveAgentSettings, e.usePipelineOrchestratorRequestOccupancyLook, e.usePipelineOrchestratorResetNodePipelineDefaults, e.usePipelineOrchestratorResolvePipeline, e.usePipelineOrchestratorResumeForStorageMigration, e.usePipelineOrchestratorSetAgentCapabilities, e.usePipelineOrchestratorSetAgentDecodeLimits, e.usePipelineOrchestratorSetAgentInferenceDevices, e.usePipelineOrchestratorSetAgentMaxCameras, e.usePipelineOrchestratorSetAgentReachableHost, e.usePipelineOrchestratorSetCameraDetectionSource, e.usePipelineOrchestratorSetCameraPipelineForAgent, e.usePipelineOrchestratorSetCameraSensors, e.usePipelineOrchestratorSetCameraStepOverride, e.usePipelineOrchestratorSetCameraStepSettings, e.usePipelineOrchestratorSetCameraStepToggle, e.usePipelineOrchestratorSetCameraSwitch, e.usePipelineOrchestratorSetCapabilityBinding, e.usePipelineOrchestratorSetLoadBalancingShares, e.usePipelineOrchestratorSetPipelineDevicePin, e.usePipelineOrchestratorSetShareSource, e.usePipelineOrchestratorStartNodeBenchmark, e.usePipelineOrchestratorSuggestShares, e.usePipelineOrchestratorUnassignAudio, e.usePipelineOrchestratorUnassignPipeline, e.usePipelineRunnerAbortNodeBench, e.usePipelineRunnerAttachCamera, e.usePipelineRunnerDetachCamera, e.usePipelineRunnerGetAllCameraMetrics, e.usePipelineRunnerGetCameraMetrics, e.usePipelineRunnerGetLocalCameras, e.usePipelineRunnerGetLocalLoad, e.usePipelineRunnerGetLocalMetrics, e.usePipelineRunnerGetNativeCrop, e.usePipelineRunnerGetNodeBenchStatus, e.usePipelineRunnerGetParkedTrackFrame, e.usePipelineRunnerParkTrackFrame, e.usePipelineRunnerReleaseParkedTrackFrames, e.usePipelineRunnerReportMotion, e.usePipelineRunnerRequestOccupancyBurst, e.usePipelineRunnerRunDetailSubtree, e.usePipelineRunnerRunStatelessStep, e.usePipelineRunnerStartNodeBench, 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.useSettingsStoreTransact, e.useSettingsStoreUpdate, e.useSettingsStoreUpdateWhere, e.useSettingsStoreUpsert, e.useSettingsStoreUpsertMany, 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.useStreamBrokerGetLiveViewerCounts, 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.useStreamBrokerRegenerateRtspToken, e.useStreamBrokerReleaseEgressTranscode, e.useStreamBrokerReleaseStreamWithCodec, e.useStreamBrokerRenderPreBufferClip, e.useStreamBrokerReportStreamSignal, e.useStreamBrokerRestartProfile, e.useStreamBrokerRetractCameraStream, e.useStreamBrokerSetDeviceAudioMute, e.useStreamBrokerSetPreBufferDuration, e.useStreamBrokerSetRtspEnabled, e.useStreamBrokerSubscribeAudioChunks, e.useStreamBrokerUnassignProfile, e.useStreamBrokerUnsubscribeAudioChunks, 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.useTrainingCanaryResult, e.useTrainingCancelJob, e.useTrainingDiscardResult, e.useTrainingGetJob, e.useTrainingGetJobResult, e.useTrainingListBaseModels, e.useTrainingListJobs, e.useTrainingPlanJob, e.useTrainingRegisterResult, e.useTrainingRollbackCanary, e.useTrainingStartJob, e.useTrainingStartJobBatch, e.useTurnProviderGetTurnServers, e.useUpdateGetStatus, e.useUpdateInstallUpdate, e.useUrlQueryParam, e.useUserManagementConfirmTotp, e.useUserManagementCreateScopedToken, e.useUserManagementCreateUser, e.useUserManagementDeleteUser, e.useUserManagementDisableTotp, e.useUserManagementFindUserByExternalIdentity, e.useUserManagementGetTotpStatus, e.useUserManagementListApiKeys, e.useUserManagementListExternalIdentities, 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.useUserManagementUnlinkExternalIdentity, e.useUserManagementUpdateUser, 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.withUseRootModel, 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 };
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-Be0i-dLp.js");
|
|
6
6
|
let stream = require("stream");
|
|
7
7
|
stream = require_dist.__toESM(stream, 1);
|
|
8
8
|
let http = require("http");
|
|
@@ -12502,6 +12502,8 @@ var DEFAULT_CONFIG = {
|
|
|
12502
12502
|
origin: "",
|
|
12503
12503
|
challengeTtlSec: 300
|
|
12504
12504
|
};
|
|
12505
|
+
/** Bound on in-flight ceremonies: the begin legs are public, so a flood must not grow the map. */
|
|
12506
|
+
var MAX_PENDING_CHALLENGES = 1e3;
|
|
12505
12507
|
var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
12506
12508
|
store = null;
|
|
12507
12509
|
pending = /* @__PURE__ */ new Map();
|
|
@@ -12650,6 +12652,15 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12650
12652
|
challengeTtlMs() {
|
|
12651
12653
|
return (this.config.challengeTtlSec || DEFAULT_CONFIG.challengeTtlSec) * 1e3;
|
|
12652
12654
|
}
|
|
12655
|
+
/**
|
|
12656
|
+
* Room for one more ceremony: expired challenges go first, and when the map
|
|
12657
|
+
* is still full the new ceremony is REFUSED - a live challenge is never
|
|
12658
|
+
* evicted to make room (D858). The begin legs are public.
|
|
12659
|
+
*/
|
|
12660
|
+
admitChallenge() {
|
|
12661
|
+
this.pruneExpiredChallenges();
|
|
12662
|
+
if (this.pending.size >= 1e3) throw new Error("Too many pending passkey ceremonies - try again shortly");
|
|
12663
|
+
}
|
|
12653
12664
|
pruneExpiredChallenges() {
|
|
12654
12665
|
const now = Date.now();
|
|
12655
12666
|
const ttlMs = this.challengeTtlMs();
|
|
@@ -12663,7 +12674,7 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12663
12674
|
}
|
|
12664
12675
|
async beginRegistration(userId, username) {
|
|
12665
12676
|
if (!this.store) throw new Error("passkey store unavailable");
|
|
12666
|
-
this.
|
|
12677
|
+
this.admitChallenge();
|
|
12667
12678
|
const existing = await this.store.findByUserId(userId);
|
|
12668
12679
|
const options = await generateRegistrationOptions({
|
|
12669
12680
|
rpID: await this.resolveRpID(),
|
|
@@ -12723,7 +12734,7 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12723
12734
|
}
|
|
12724
12735
|
async beginAuthentication(userId) {
|
|
12725
12736
|
if (!this.store) throw new Error("passkey store unavailable");
|
|
12726
|
-
this.
|
|
12737
|
+
this.admitChallenge();
|
|
12727
12738
|
const userPasskeys = userId ? await this.store.findByUserId(userId) : [];
|
|
12728
12739
|
const options = await generateAuthenticationOptions({
|
|
12729
12740
|
rpID: await this.resolveRpID(),
|
|
@@ -12795,7 +12806,7 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12795
12806
|
*/
|
|
12796
12807
|
async beginDiscoverableAuthentication() {
|
|
12797
12808
|
if (!this.store) throw new Error("passkey store unavailable");
|
|
12798
|
-
this.
|
|
12809
|
+
this.admitChallenge();
|
|
12799
12810
|
const options = await generateAuthenticationOptions({
|
|
12800
12811
|
rpID: await this.resolveRpID(),
|
|
12801
12812
|
allowCredentials: [],
|
|
@@ -12936,3 +12947,4 @@ var AuthWebauthnAddon = class extends require_dist.BaseAddon {
|
|
|
12936
12947
|
//#endregion
|
|
12937
12948
|
exports.AuthWebauthnAddon = AuthWebauthnAddon;
|
|
12938
12949
|
exports.default = AuthWebauthnAddon;
|
|
12950
|
+
exports.MAX_PENDING_CHALLENGES = MAX_PENDING_CHALLENGES;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as object, D as array, O as boolean, a as addonWidgetsSourceCapability, b as BaseAddon, d as loginMethodCapability, j as string, k as number, v as userPasskeysCapability } from "../dist-B2h4Ziv7.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import Stream from "stream";
|
|
4
4
|
import http from "http";
|
|
@@ -12492,6 +12492,8 @@ var DEFAULT_CONFIG = {
|
|
|
12492
12492
|
origin: "",
|
|
12493
12493
|
challengeTtlSec: 300
|
|
12494
12494
|
};
|
|
12495
|
+
/** Bound on in-flight ceremonies: the begin legs are public, so a flood must not grow the map. */
|
|
12496
|
+
var MAX_PENDING_CHALLENGES = 1e3;
|
|
12495
12497
|
var AuthWebauthnAddon = class extends BaseAddon {
|
|
12496
12498
|
store = null;
|
|
12497
12499
|
pending = /* @__PURE__ */ new Map();
|
|
@@ -12640,6 +12642,15 @@ var AuthWebauthnAddon = class extends BaseAddon {
|
|
|
12640
12642
|
challengeTtlMs() {
|
|
12641
12643
|
return (this.config.challengeTtlSec || DEFAULT_CONFIG.challengeTtlSec) * 1e3;
|
|
12642
12644
|
}
|
|
12645
|
+
/**
|
|
12646
|
+
* Room for one more ceremony: expired challenges go first, and when the map
|
|
12647
|
+
* is still full the new ceremony is REFUSED - a live challenge is never
|
|
12648
|
+
* evicted to make room (D858). The begin legs are public.
|
|
12649
|
+
*/
|
|
12650
|
+
admitChallenge() {
|
|
12651
|
+
this.pruneExpiredChallenges();
|
|
12652
|
+
if (this.pending.size >= 1e3) throw new Error("Too many pending passkey ceremonies - try again shortly");
|
|
12653
|
+
}
|
|
12643
12654
|
pruneExpiredChallenges() {
|
|
12644
12655
|
const now = Date.now();
|
|
12645
12656
|
const ttlMs = this.challengeTtlMs();
|
|
@@ -12653,7 +12664,7 @@ var AuthWebauthnAddon = class extends BaseAddon {
|
|
|
12653
12664
|
}
|
|
12654
12665
|
async beginRegistration(userId, username) {
|
|
12655
12666
|
if (!this.store) throw new Error("passkey store unavailable");
|
|
12656
|
-
this.
|
|
12667
|
+
this.admitChallenge();
|
|
12657
12668
|
const existing = await this.store.findByUserId(userId);
|
|
12658
12669
|
const options = await generateRegistrationOptions({
|
|
12659
12670
|
rpID: await this.resolveRpID(),
|
|
@@ -12713,7 +12724,7 @@ var AuthWebauthnAddon = class extends BaseAddon {
|
|
|
12713
12724
|
}
|
|
12714
12725
|
async beginAuthentication(userId) {
|
|
12715
12726
|
if (!this.store) throw new Error("passkey store unavailable");
|
|
12716
|
-
this.
|
|
12727
|
+
this.admitChallenge();
|
|
12717
12728
|
const userPasskeys = userId ? await this.store.findByUserId(userId) : [];
|
|
12718
12729
|
const options = await generateAuthenticationOptions({
|
|
12719
12730
|
rpID: await this.resolveRpID(),
|
|
@@ -12785,7 +12796,7 @@ var AuthWebauthnAddon = class extends BaseAddon {
|
|
|
12785
12796
|
*/
|
|
12786
12797
|
async beginDiscoverableAuthentication() {
|
|
12787
12798
|
if (!this.store) throw new Error("passkey store unavailable");
|
|
12788
|
-
this.
|
|
12799
|
+
this.admitChallenge();
|
|
12789
12800
|
const options = await generateAuthenticationOptions({
|
|
12790
12801
|
rpID: await this.resolveRpID(),
|
|
12791
12802
|
allowCredentials: [],
|
|
@@ -12924,4 +12935,4 @@ var AuthWebauthnAddon = class extends BaseAddon {
|
|
|
12924
12935
|
}
|
|
12925
12936
|
};
|
|
12926
12937
|
//#endregion
|
|
12927
|
-
export { AuthWebauthnAddon, AuthWebauthnAddon as default };
|
|
12938
|
+
export { AuthWebauthnAddon, AuthWebauthnAddon as default, MAX_PENDING_CHALLENGES };
|