@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.
@@ -1,4 +1,4 @@
1
- import { _ as toSecretFieldView, a as buildAddonRouteProvider, c as resolveIconKey, d as BaseAddon, f as SECRET_CLEAR, g as isSecretMarker, h as isSecretClear, i as authProviderCapability, m as globalSecretScope, n as addonRoutesCapability, o as loginMethodCapability, p as arrayItemFieldPath, s as oidcConnectionsCapability, t as SSO_STATE_COOKIE, u as errMsg } from "../dist-fzt8gRGY.mjs";
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
- while (this.pendingStates.size >= MAX_PENDING_STATES) {
1320
- const oldest = this.pendingStates.keys().next();
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.pendingStates.get(state);
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 popupParam = req.query["popup"];
1434
- const state = crypto$1.randomBytes(16).toString("base64url");
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/finish?${finish.toString()}`);
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
@@ -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-BlpPaWg4.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-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.364",
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.287",
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-DscyrBBw.js");
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.pruneExpiredChallenges();
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.pruneExpiredChallenges();
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.pruneExpiredChallenges();
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 { S as string, b as number, d as BaseAddon, l as userPasskeysCapability, o as loginMethodCapability, r as addonWidgetsSourceCapability, v as array, x as object, y as boolean } from "../dist-fzt8gRGY.mjs";
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.pruneExpiredChallenges();
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.pruneExpiredChallenges();
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.pruneExpiredChallenges();
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 };