@camstack/types 1.1.35 → 1.1.36

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/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-DuN1nc6O.js");
2
+ const require_sleep = require("./sleep-BtS3xMHv.js");
3
3
  const require_err_msg = require("./err-msg-COpsHMw2.js");
4
4
  let zod = require("zod");
5
5
  //#region src/health/wiring-health.ts
@@ -12624,6 +12624,13 @@ function createSystemProxy(api) {
12624
12624
  deletePlate: (input) => dispatch("plateGallery", "deletePlate", "mutation", input)
12625
12625
  },
12626
12626
  recording: { getStorageUsage: (input) => dispatch("recording", "getStorageUsage", "query", input) },
12627
+ serverManagement: {
12628
+ getServerPackageStatus: (input) => dispatch("serverManagement", "getServerPackageStatus", "query", input),
12629
+ checkServerUpdate: (input) => dispatch("serverManagement", "checkServerUpdate", "mutation", input),
12630
+ applyServerUpdate: (input) => dispatch("serverManagement", "applyServerUpdate", "mutation", input),
12631
+ rollbackServerUpdate: (input) => dispatch("serverManagement", "rollbackServerUpdate", "mutation", input),
12632
+ restartServer: (input) => dispatch("serverManagement", "restartServer", "mutation", input)
12633
+ },
12627
12634
  settingsStore: {
12628
12635
  get: (input) => dispatch("settingsStore", "get", "query", input),
12629
12636
  set: (input) => dispatch("settingsStore", "set", "mutation", input),
@@ -13731,6 +13738,17 @@ var WidgetMetadataSchema = zod.z.object({
13731
13738
  deviceContext: zod.z.boolean().default(false),
13732
13739
  integrationContext: zod.z.boolean().default(false)
13733
13740
  }),
13741
+ /**
13742
+ * Loadable BEFORE authentication. The normal widget registry listing
13743
+ * (`addon-widgets.listWidgets`) is auth-gated, so a pre-auth surface
13744
+ * (the login page) cannot discover a widget through it. A widget that
13745
+ * declares `preAuth: true` marks itself as safe to mount on a pre-auth
13746
+ * screen — it is surfaced through the PUBLIC `auth.listLoginMethods`
13747
+ * login-method contribution channel (see `login-method.cap.ts`) rather
13748
+ * than the authenticated registry, and its bundle is served by the
13749
+ * public `/api/addon-widgets/:addonId/*` static route. Defaults false.
13750
+ */
13751
+ preAuth: zod.z.boolean().optional().default(false),
13734
13752
  /** Dashboard placement HINTS (operator can override per instance). */
13735
13753
  defaultSize: WidgetSizeEnum.default("md"),
13736
13754
  allowedSizes: zod.z.array(WidgetSizeEnum).readonly().default([
@@ -14216,6 +14234,89 @@ var authProviderCapability = {
14216
14234
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
14217
14235
  mount: { kind: "skip" }
14218
14236
  };
14237
+ //#endregion
14238
+ //#region src/capabilities/login-method.cap.ts
14239
+ /**
14240
+ * `login-method` — collection cap through which auth addons contribute
14241
+ * their pre-auth login surfaces to the login page. This is the SINGLE,
14242
+ * generic mechanism that supersedes the dead `auth.listProviders` reader:
14243
+ * every auth addon (OIDC, magic-link, WebAuthn/passkey) registers a
14244
+ * `login-method` provider and the PUBLIC `auth.listLoginMethods`
14245
+ * procedure aggregates them for the unauthenticated login page.
14246
+ *
14247
+ * A contribution is a discriminated union on `kind`:
14248
+ *
14249
+ * - `redirect` — a declarative button. The login page renders a generic
14250
+ * button that navigates to `startUrl` (an addon-owned HTTP route).
14251
+ * Covers OIDC (`/addon/auth-oidc/<id>/start`) and magic-link with
14252
+ * ZERO shell-side JS. A future SSO addon plugs in the same way — the
14253
+ * login page needs NO change.
14254
+ *
14255
+ * - `widget` — a Module-Federation widget the login page mounts (via
14256
+ * `loadRemoteBundle`) for an in-page ceremony. Covers the passkey
14257
+ * login ceremony, which must run `@simplewebauthn/browser` INSIDE the
14258
+ * addon bundle. The referenced widget also declares `preAuth: true` in
14259
+ * its `addon-widgets-source` catalog entry. `auth.listLoginMethods`
14260
+ * stamps a public `bundleUrl` from `addonId` + `bundle`.
14261
+ *
14262
+ * Every contribution carries a `stage`:
14263
+ * - `primary` — shown on the first credentials screen (OIDC /
14264
+ * magic-link buttons; a future usernameless passkey).
14265
+ * - `second-factor` — shown AFTER the password leg, gated on the
14266
+ * returned `factors` (passkey-as-2FA today).
14267
+ *
14268
+ * `mount: skip` — the cap is read server-side by the core auth router
14269
+ * (`registry.getCollection('login-method')`), never mounted as its own
14270
+ * tRPC router.
14271
+ */
14272
+ /** When a login method renders in the two-phase login flow. */
14273
+ var LoginStageEnum = zod.z.enum(["primary", "second-factor"]);
14274
+ /**
14275
+ * A declarative redirect button — the login page navigates to `startUrl`.
14276
+ * OIDC and magic-link contribute this; a future SSO addon does too.
14277
+ */
14278
+ var RedirectLoginMethodSchema = zod.z.object({
14279
+ kind: zod.z.literal("redirect"),
14280
+ /** Stable id within the login-method set (e.g. `auth-oidc/google`). */
14281
+ id: zod.z.string(),
14282
+ /** Operator-facing button label. */
14283
+ label: zod.z.string(),
14284
+ /** lucide-react icon name. */
14285
+ icon: zod.z.string().optional(),
14286
+ /** Addon-owned HTTP route the button navigates to (GET). */
14287
+ startUrl: zod.z.string(),
14288
+ stage: LoginStageEnum
14289
+ });
14290
+ /**
14291
+ * A Module-Federation widget the login page mounts for an in-page
14292
+ * ceremony. `bundle` + `addonId` let `auth.listLoginMethods` stamp a
14293
+ * public `bundleUrl`; `remote` is the MF descriptor `loadRemoteBundle`
14294
+ * consumes. No `bundleUrl` here — it is server-stamped on the public
14295
+ * output so the addon never encodes the static-route scheme.
14296
+ */
14297
+ var WidgetLoginMethodSchema = zod.z.object({
14298
+ kind: zod.z.literal("widget"),
14299
+ /** Stable id within the login-method set (e.g. `auth-webauthn/passkey-login`). */
14300
+ id: zod.z.string(),
14301
+ /** Owning addon id — drives the public bundle URL + the MF namespace. */
14302
+ addonId: zod.z.string(),
14303
+ /** Bundle filename inside the addon's dist dir (`remoteEntry.js`). */
14304
+ bundle: zod.z.string(),
14305
+ /** MF remote descriptor — `{ remoteName, exposedModule, componentKey }`. */
14306
+ remote: WidgetRemoteSchema,
14307
+ stage: LoginStageEnum
14308
+ });
14309
+ /** One login-method contribution — redirect button OR pre-auth widget. */
14310
+ var LoginMethodContributionSchema = zod.z.discriminatedUnion("kind", [RedirectLoginMethodSchema, WidgetLoginMethodSchema]);
14311
+ var loginMethodCapability = {
14312
+ name: "login-method",
14313
+ scope: "system",
14314
+ mode: "collection",
14315
+ internal: true,
14316
+ methods: { getLoginMethods: require_sleep.method(zod.z.void(), zod.z.array(LoginMethodContributionSchema).readonly()) },
14317
+ /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
14318
+ mount: { kind: "skip" }
14319
+ };
14219
14320
  /**
14220
14321
  * Orchestrator-side destination metadata. The orchestrator computes
14221
14322
  * `id = <addonId>:<subId>` from its provider lookup so consumers
@@ -18206,6 +18307,153 @@ var pipelineOrchestratorCapability = {
18206
18307
  }
18207
18308
  };
18208
18309
  //#endregion
18310
+ //#region src/capabilities/server-management.cap.ts
18311
+ /**
18312
+ * server-management — per-NODE singleton capability for a node's ROOT
18313
+ * package lifecycle (runtime-updatable node packages, phase 2: hub + docker
18314
+ * agents).
18315
+ *
18316
+ * Each node's root package (`@camstack/server` on the hub, `@camstack/agent`
18317
+ * on agents) carries the whole software stack in its npm dep tree, so ONE
18318
+ * version describes the node. Updates install into
18319
+ * `<dataDir>/server-root/versions/<v>/` and apply on restart via the baked
18320
+ * starter (probation boot + auto-rollback to N-1).
18321
+ *
18322
+ * Providers:
18323
+ * - HUB: `ServerUpdateService` behind the `server-provided` mount
18324
+ * (`buildServerProviders` in trpc.router.ts) — the default target for
18325
+ * unpinned calls.
18326
+ * - AGENT: `AgentUpdateService` registered by the agent bootstrap under
18327
+ * the synthetic `agent-runtime` addonId and declared in the agent's
18328
+ * `$hub.registerNode` manifest.
18329
+ *
18330
+ * Node routing: singleton caps get the codegen/runtime-builder `nodeId`
18331
+ * injection on every method — `input.nodeId` (or `nodePin(nodeId)` from the
18332
+ * SDK) routes the call to that node's provider via the standard remote
18333
+ * proxy (`createCapabilityProxy` → `$agent-cap-fwd` → the agent's
18334
+ * in-process provider lookup). No `nodeId` → the hub's own provider.
18335
+ *
18336
+ * Spec: docs/superpowers/specs/2026-07-12-runtime-updatable-node-packages-design.md
18337
+ */
18338
+ /**
18339
+ * Where the running hub's code was loaded from:
18340
+ * - `workspace` — dev checkout (tsx / workspace dist); the starter defers to
18341
+ * plain resolution and runtime updates are refused.
18342
+ * - `baked` — the immutable image seed closure (no data-dir root active).
18343
+ * - `data-root` — the runtime-updatable `<dataDir>/server-root` closure.
18344
+ */
18345
+ var ServerBootModeSchema = zod.z.enum([
18346
+ "workspace",
18347
+ "baked",
18348
+ "data-root"
18349
+ ]);
18350
+ /**
18351
+ * Update lifecycle state:
18352
+ * - `idle` / `checking` / `staging` — steady / in-flight registry work.
18353
+ * - `pending-restart` — a version is staged and the node has NOT yet
18354
+ * restarted onto it (still running the OLD version).
18355
+ * - `awaiting-confirmation` — the node HAS restarted onto the staged version
18356
+ * (it is the active probation boot) and is waiting to confirm boot-health.
18357
+ * Apply/rollback are refused in this state and the node must NOT be
18358
+ * manually restarted, or the probation boot auto-rolls-back.
18359
+ */
18360
+ var ServerUpdateStateSchema = zod.z.enum([
18361
+ "idle",
18362
+ "checking",
18363
+ "staging",
18364
+ "pending-restart",
18365
+ "awaiting-confirmation"
18366
+ ]);
18367
+ var ServerRollbackInfoSchema = zod.z.object({
18368
+ /** The version that failed (or was manually rolled back). */
18369
+ fromVersion: zod.z.string(),
18370
+ /** The version rolled back to; null = the baked seed. */
18371
+ toVersion: zod.z.string().nullable(),
18372
+ atMs: zod.z.number(),
18373
+ reason: zod.z.string()
18374
+ });
18375
+ var ServerPackageStatusSchema = zod.z.object({
18376
+ /** Root package name (`@camstack/server` on the hub). */
18377
+ packageName: zod.z.string(),
18378
+ /** Version of the code the running process ACTUALLY loaded. */
18379
+ runningVersion: zod.z.string().nullable(),
18380
+ /** Node.js runtime version the node's process runs on (`process.versions.node`). */
18381
+ nodeRuntimeVersion: zod.z.string().nullable(),
18382
+ /** Active data-dir root version; null when booted from seed/workspace. */
18383
+ activeVersion: zod.z.string().nullable(),
18384
+ /** N-1 version kept for rollback; null when no previous version exists. */
18385
+ previousVersion: zod.z.string().nullable(),
18386
+ /** Version of the immutable baked seed closure (image fallback). */
18387
+ seedVersion: zod.z.string().nullable(),
18388
+ /** Latest registry version from the most recent check (null = never checked). */
18389
+ latestVersion: zod.z.string().nullable(),
18390
+ updateAvailable: zod.z.boolean(),
18391
+ bootMode: ServerBootModeSchema,
18392
+ updateState: ServerUpdateStateSchema,
18393
+ /** Version staged + awaiting its probation boot, when one is pending. */
18394
+ pendingVersion: zod.z.string().nullable(),
18395
+ /** Set when the last freshly-activated version failed its boot health-check. */
18396
+ rolledBack: ServerRollbackInfoSchema.nullable(),
18397
+ /**
18398
+ * True when `server-root/state.json` EXISTS but is unreadable/corrupt — the
18399
+ * hub is running from the baked seed (or workspace) while installed data-dir
18400
+ * versions are being IGNORED. Surfaced as a warning in the UI.
18401
+ */
18402
+ stateFileCorrupt: zod.z.boolean(),
18403
+ lastCheckedAtMs: zod.z.number().nullable()
18404
+ });
18405
+ var ServerUpdateCheckResultSchema = zod.z.object({
18406
+ packageName: zod.z.string(),
18407
+ runningVersion: zod.z.string().nullable(),
18408
+ latestVersion: zod.z.string().nullable(),
18409
+ updateAvailable: zod.z.boolean(),
18410
+ checkedAtMs: zod.z.number(),
18411
+ /** Non-null when the registry lookup failed (offline, bad registry, …). */
18412
+ error: zod.z.string().nullable()
18413
+ });
18414
+ var ServerUpdateActionResultSchema = zod.z.object({
18415
+ accepted: zod.z.boolean(),
18416
+ targetVersion: zod.z.string().nullable(),
18417
+ /** True when a graceful restart was scheduled to apply the change. */
18418
+ restarting: zod.z.boolean(),
18419
+ message: zod.z.string()
18420
+ });
18421
+ var serverManagementCapability = {
18422
+ name: "server-management",
18423
+ scope: "system",
18424
+ mode: "singleton",
18425
+ methods: {
18426
+ getServerPackageStatus: require_sleep.method(zod.z.void(), ServerPackageStatusSchema, { auth: "admin" }),
18427
+ checkServerUpdate: require_sleep.method(zod.z.void(), ServerUpdateCheckResultSchema, {
18428
+ kind: "mutation",
18429
+ auth: "admin"
18430
+ }),
18431
+ applyServerUpdate: require_sleep.method(zod.z.object({
18432
+ /** Explicit target version; omitted = latest from the registry. */
18433
+ version: zod.z.string().optional() }), ServerUpdateActionResultSchema, {
18434
+ kind: "mutation",
18435
+ auth: "admin"
18436
+ }),
18437
+ rollbackServerUpdate: require_sleep.method(zod.z.void(), ServerUpdateActionResultSchema, {
18438
+ kind: "mutation",
18439
+ auth: "admin"
18440
+ }),
18441
+ /**
18442
+ * Plain process restart of the node's root process — no version change.
18443
+ * The supervisor (docker restart policy / launchd / Electron main)
18444
+ * relaunches and the starter loads the SAME active version. Refused while
18445
+ * a stage is in flight or a version is already staged awaiting restart
18446
+ * (use apply/rollback instead, so the pending version is not skipped).
18447
+ */
18448
+ restartServer: require_sleep.method(zod.z.void(), ServerUpdateActionResultSchema, {
18449
+ kind: "mutation",
18450
+ auth: "admin"
18451
+ })
18452
+ },
18453
+ /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
18454
+ mount: { kind: "server-provided" }
18455
+ };
18456
+ //#endregion
18209
18457
  //#region src/capabilities/settings-store.cap.ts
18210
18458
  /**
18211
18459
  * Query filter for settings-store collections.
@@ -21119,6 +21367,16 @@ var TopologyCategorySchema = zod.z.object({
21119
21367
  healthy: zod.z.number(),
21120
21368
  addons: zod.z.array(TopologyCategoryAddonSchema).readonly()
21121
21369
  });
21370
+ /**
21371
+ * The node's runtime-updatable ROOT package (`@camstack/server` on the hub,
21372
+ * `@camstack/agent` on agents) as reported by its `registerNode` manifest —
21373
+ * version visibility for the Server management surface. Nullable: offline
21374
+ * rows and pre-phase-2 nodes report none.
21375
+ */
21376
+ var TopologyRootPackageSchema = zod.z.object({
21377
+ name: zod.z.string(),
21378
+ version: zod.z.string()
21379
+ });
21122
21380
  var TopologyNodeSchema = zod.z.object({
21123
21381
  id: zod.z.string(),
21124
21382
  name: zod.z.string(),
@@ -21142,7 +21400,8 @@ var TopologyNodeSchema = zod.z.object({
21142
21400
  status: zod.z.string()
21143
21401
  })).readonly(),
21144
21402
  processes: zod.z.array(TopologyProcessSchema).readonly(),
21145
- categories: zod.z.array(TopologyCategorySchema).readonly()
21403
+ categories: zod.z.array(TopologyCategorySchema).readonly(),
21404
+ rootPackage: TopologyRootPackageSchema.nullable()
21146
21405
  });
21147
21406
  var CapUsageEdgeSchema = zod.z.object({
21148
21407
  callerAddonId: zod.z.string(),
@@ -22647,6 +22906,7 @@ var CAPABILITY_NAMES = {
22647
22906
  localNetwork: "local-network",
22648
22907
  lockControl: "lock-control",
22649
22908
  logDestination: "log-destination",
22909
+ loginMethod: "login-method",
22650
22910
  mediaPlayer: "media-player",
22651
22911
  meshNetwork: "mesh-network",
22652
22912
  metricsProvider: "metrics-provider",
@@ -22682,6 +22942,7 @@ var CAPABILITY_NAMES = {
22682
22942
  reboot: "reboot",
22683
22943
  recording: "recording",
22684
22944
  scriptRunner: "script-runner",
22945
+ serverManagement: "server-management",
22685
22946
  settingsStore: "settings-store",
22686
22947
  smoke: "smoke",
22687
22948
  smtpProvider: "smtp-provider",
@@ -22706,6 +22967,7 @@ var CAPABILITY_NAMES = {
22706
22967
  valve: "valve",
22707
22968
  vibration: "vibration",
22708
22969
  videoclips: "videoclips",
22970
+ viewerUi: "viewer-ui",
22709
22971
  waterHeater: "water-heater",
22710
22972
  weather: "weather",
22711
22973
  webrtcSession: "webrtc-session",
@@ -22995,6 +23257,10 @@ var CAPABILITY_ROUTER_KEYS = [
22995
23257
  key: "logDestination",
22996
23258
  name: "log-destination"
22997
23259
  },
23260
+ {
23261
+ key: "loginMethod",
23262
+ name: "login-method"
23263
+ },
22998
23264
  {
22999
23265
  key: "mediaPlayer",
23000
23266
  name: "media-player"
@@ -23135,6 +23401,10 @@ var CAPABILITY_ROUTER_KEYS = [
23135
23401
  key: "scriptRunner",
23136
23402
  name: "script-runner"
23137
23403
  },
23404
+ {
23405
+ key: "serverManagement",
23406
+ name: "server-management"
23407
+ },
23138
23408
  {
23139
23409
  key: "settingsStore",
23140
23410
  name: "settings-store"
@@ -23231,6 +23501,10 @@ var CAPABILITY_ROUTER_KEYS = [
23231
23501
  key: "videoclips",
23232
23502
  name: "videoclips"
23233
23503
  },
23504
+ {
23505
+ key: "viewerUi",
23506
+ name: "viewer-ui"
23507
+ },
23234
23508
  {
23235
23509
  key: "waterHeater",
23236
23510
  name: "water-heater"
@@ -23336,6 +23610,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
23336
23610
  localNetworkCapability,
23337
23611
  lockControlCapability,
23338
23612
  logDestinationCapability,
23613
+ loginMethodCapability,
23339
23614
  mediaPlayerCapability,
23340
23615
  meshNetworkCapability,
23341
23616
  metricsProviderCapability,
@@ -23371,6 +23646,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
23371
23646
  rebootCapability,
23372
23647
  recordingCapability,
23373
23648
  scriptRunnerCapability,
23649
+ serverManagementCapability,
23374
23650
  settingsStoreCapability,
23375
23651
  smokeCapability,
23376
23652
  smtpProviderCapability,
@@ -23395,6 +23671,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
23395
23671
  valveCapability,
23396
23672
  vibrationCapability,
23397
23673
  videoclipsCapability,
23674
+ require_sleep.viewerUiCapability,
23398
23675
  waterHeaterCapability,
23399
23676
  weatherCapability,
23400
23677
  webrtcSessionCapability,
@@ -25455,6 +25732,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
25455
25732
  addonId: null,
25456
25733
  access: "create"
25457
25734
  },
25735
+ "loginMethod.getLoginMethods": {
25736
+ capName: "login-method",
25737
+ capScope: "system",
25738
+ addonId: null,
25739
+ access: "view"
25740
+ },
25458
25741
  "mediaPlayer.next": {
25459
25742
  capName: "media-player",
25460
25743
  capScope: "device",
@@ -26817,6 +27100,36 @@ var METHOD_ACCESS_MAP = Object.freeze({
26817
27100
  addonId: null,
26818
27101
  access: "create"
26819
27102
  },
27103
+ "serverManagement.applyServerUpdate": {
27104
+ capName: "server-management",
27105
+ capScope: "system",
27106
+ addonId: null,
27107
+ access: "create"
27108
+ },
27109
+ "serverManagement.checkServerUpdate": {
27110
+ capName: "server-management",
27111
+ capScope: "system",
27112
+ addonId: null,
27113
+ access: "create"
27114
+ },
27115
+ "serverManagement.getServerPackageStatus": {
27116
+ capName: "server-management",
27117
+ capScope: "system",
27118
+ addonId: null,
27119
+ access: "view"
27120
+ },
27121
+ "serverManagement.restartServer": {
27122
+ capName: "server-management",
27123
+ capScope: "system",
27124
+ addonId: null,
27125
+ access: "create"
27126
+ },
27127
+ "serverManagement.rollbackServerUpdate": {
27128
+ capName: "server-management",
27129
+ capScope: "system",
27130
+ addonId: null,
27131
+ access: "create"
27132
+ },
26820
27133
  "settingsStore.count": {
26821
27134
  capName: "settings-store",
26822
27135
  capScope: "system",
@@ -27681,6 +27994,18 @@ var METHOD_ACCESS_MAP = Object.freeze({
27681
27994
  addonId: null,
27682
27995
  access: "view"
27683
27996
  },
27997
+ "viewerUi.getStaticDir": {
27998
+ capName: "viewer-ui",
27999
+ capScope: "system",
28000
+ addonId: null,
28001
+ access: "view"
28002
+ },
28003
+ "viewerUi.getVersion": {
28004
+ capName: "viewer-ui",
28005
+ capScope: "system",
28006
+ addonId: null,
28007
+ access: "view"
28008
+ },
27684
28009
  "waterHeater.setAway": {
27685
28010
  capName: "water-heater",
27686
28011
  capScope: "device",
@@ -27869,6 +28194,7 @@ var KNOWN_CAP_NAMES = [
27869
28194
  "local-network",
27870
28195
  "lock-control",
27871
28196
  "log-destination",
28197
+ "login-method",
27872
28198
  "media-player",
27873
28199
  "mesh-network",
27874
28200
  "metrics-provider",
@@ -27900,6 +28226,7 @@ var KNOWN_CAP_NAMES = [
27900
28226
  "reboot",
27901
28227
  "recording",
27902
28228
  "script-runner",
28229
+ "server-management",
27903
28230
  "settings-store",
27904
28231
  "smtp-provider",
27905
28232
  "snapshot",
@@ -27920,6 +28247,7 @@ var KNOWN_CAP_NAMES = [
27920
28247
  "vacuum-control",
27921
28248
  "valve",
27922
28249
  "videoclips",
28250
+ "viewer-ui",
27923
28251
  "water-heater",
27924
28252
  "webrtc-session",
27925
28253
  "zone-analytics",
@@ -28012,6 +28340,7 @@ var SYSTEM_CAP_NAMES = [
28012
28340
  "integrations",
28013
28341
  "local-network",
28014
28342
  "log-destination",
28343
+ "login-method",
28015
28344
  "mesh-network",
28016
28345
  "metrics-provider",
28017
28346
  "model-convert",
@@ -28028,6 +28357,7 @@ var SYSTEM_CAP_NAMES = [
28028
28357
  "plate-gallery",
28029
28358
  "platform-probe",
28030
28359
  "recording",
28360
+ "server-management",
28031
28361
  "settings-store",
28032
28362
  "smtp-provider",
28033
28363
  "sso-bridge",
@@ -28039,7 +28369,8 @@ var SYSTEM_CAP_NAMES = [
28039
28369
  "toast",
28040
28370
  "turn-provider",
28041
28371
  "user-management",
28042
- "user-passkeys"
28372
+ "user-passkeys",
28373
+ "viewer-ui"
28043
28374
  ];
28044
28375
  //#endregion
28045
28376
  //#region src/generated/scope-presets.ts
@@ -28864,6 +29195,8 @@ exports.LockStateSchema = LockStateSchema;
28864
29195
  exports.LogEntrySchema = LogEntrySchema;
28865
29196
  exports.LogLevelSchema = LogLevelSchema;
28866
29197
  exports.LogStreamEntrySchema = LogStreamEntrySchema;
29198
+ exports.LoginMethodContributionSchema = LoginMethodContributionSchema;
29199
+ exports.LoginStageEnum = LoginStageEnum;
28867
29200
  exports.MACRO_LABELS = MACRO_LABELS;
28868
29201
  exports.MAX_EXPRESSION_AST_NODES = MAX_EXPRESSION_AST_NODES;
28869
29202
  exports.MAX_EXPRESSION_BINDINGS = MAX_EXPRESSION_BINDINGS;
@@ -29009,6 +29342,7 @@ exports.RecordingStorageModeSchema = RecordingStorageModeSchema;
29009
29342
  exports.RecordingStorageUsageSchema = RecordingStorageUsageSchema;
29010
29343
  exports.RecordingTriggersSchema = RecordingTriggersSchema;
29011
29344
  exports.RecordingWeekdaySchema = RecordingWeekdaySchema;
29345
+ exports.RedirectLoginMethodSchema = RedirectLoginMethodSchema;
29012
29346
  exports.RenderedAsSchema = RenderedAsSchema;
29013
29347
  exports.ReportMotionInputSchema = ReportMotionInputSchema;
29014
29348
  exports.RingBuffer = RingBuffer;
@@ -29033,6 +29367,12 @@ exports.SearchResultSchema = SearchResultSchema;
29033
29367
  exports.SendEmailInputSchema = SendEmailInputSchema;
29034
29368
  exports.SendEmailResultSchema = SendEmailResultSchema;
29035
29369
  exports.SendResultSchema = SendResultSchema;
29370
+ exports.ServerBootModeSchema = ServerBootModeSchema;
29371
+ exports.ServerPackageStatusSchema = ServerPackageStatusSchema;
29372
+ exports.ServerRollbackInfoSchema = ServerRollbackInfoSchema;
29373
+ exports.ServerUpdateActionResultSchema = ServerUpdateActionResultSchema;
29374
+ exports.ServerUpdateCheckResultSchema = ServerUpdateCheckResultSchema;
29375
+ exports.ServerUpdateStateSchema = ServerUpdateStateSchema;
29036
29376
  exports.SettingsPatchSchema = SettingsPatchSchema;
29037
29377
  exports.SettingsRecordSchema = SettingsRecordSchema;
29038
29378
  exports.SettingsSchemaWithValuesSchema = SettingsSchemaWithValuesSchema;
@@ -29119,6 +29459,7 @@ exports.WebrtcStreamChoiceSchema = WebrtcStreamChoiceSchema;
29119
29459
  exports.WebrtcStreamTargetSchema = WebrtcStreamTargetSchema;
29120
29460
  exports.WhiteBalanceModeSchema = WhiteBalanceModeSchema;
29121
29461
  exports.WidgetHostEnum = WidgetHostEnum;
29462
+ exports.WidgetLoginMethodSchema = WidgetLoginMethodSchema;
29122
29463
  exports.WidgetMetadataSchema = WidgetMetadataSchema;
29123
29464
  exports.WidgetRemoteSchema = WidgetRemoteSchema;
29124
29465
  exports.WidgetSizeEnum = WidgetSizeEnum;
@@ -29178,6 +29519,8 @@ exports.cellsToRects = cellsToRects;
29178
29519
  exports.classifyStream = classifyStream;
29179
29520
  exports.classifyStreams = classifyStreams;
29180
29521
  exports.climateControlCapability = climateControlCapability;
29522
+ exports.collectHydratedFieldEntries = require_sleep.collectHydratedFieldEntries;
29523
+ exports.collectHydratedFieldValues = require_sleep.collectHydratedFieldValues;
29181
29524
  exports.colorCapability = colorCapability;
29182
29525
  exports.compileExpression = compileExpression;
29183
29526
  exports.compileExpressionSafe = compileExpressionSafe;
@@ -29273,6 +29616,7 @@ exports.localNetworkCapability = localNetworkCapability;
29273
29616
  exports.locationSimilarity = locationSimilarity;
29274
29617
  exports.lockControlCapability = lockControlCapability;
29275
29618
  exports.logDestinationCapability = logDestinationCapability;
29619
+ exports.loginMethodCapability = loginMethodCapability;
29276
29620
  exports.looseSchema = looseSchema;
29277
29621
  exports.makeProfileBrokerId = require_sleep.makeProfileBrokerId;
29278
29622
  exports.makeSourceBrokerId = require_sleep.makeSourceBrokerId;
@@ -29345,6 +29689,7 @@ exports.resolveCapMount = require_sleep.resolveCapMount;
29345
29689
  exports.resolveDetectionRuntime = resolveDetectionRuntime;
29346
29690
  exports.resolveDeviceProfile = resolveDeviceProfile;
29347
29691
  exports.resolveFormat = resolveFormat;
29692
+ exports.resolveHydratedFieldValue = require_sleep.resolveHydratedFieldValue;
29348
29693
  exports.resolveModelFormat = resolveModelFormat;
29349
29694
  exports.resolveRunnerId = resolveRunnerId;
29350
29695
  exports.resolveVariantModelId = resolveVariantModelId;
@@ -29354,6 +29699,7 @@ exports.scopeKey = require_sleep.scopeKey;
29354
29699
  exports.scoreRuntimes = scoreRuntimes;
29355
29700
  exports.scriptRunnerCapability = scriptRunnerCapability;
29356
29701
  exports.selectAssignedProfileSlots = require_sleep.selectAssignedProfileSlots;
29702
+ exports.serverManagementCapability = serverManagementCapability;
29357
29703
  exports.setByPath = setByPath;
29358
29704
  exports.settingsStoreCapability = settingsStoreCapability;
29359
29705
  exports.sleep = require_sleep.sleep;
@@ -29399,6 +29745,7 @@ exports.validateExpressionSource = validateExpressionSource;
29399
29745
  exports.valveCapability = valveCapability;
29400
29746
  exports.vibrationCapability = vibrationCapability;
29401
29747
  exports.videoclipsCapability = videoclipsCapability;
29748
+ exports.viewerUiCapability = require_sleep.viewerUiCapability;
29402
29749
  exports.waterHeaterCapability = waterHeaterCapability;
29403
29750
  exports.weatherCapability = weatherCapability;
29404
29751
  exports.webrtcClientHintsSchema = webrtcClientHintsSchema;