@camstack/addon-osd-manager 0.1.246 → 0.1.248

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.
Files changed (19) hide show
  1. package/dist/{MotionZonesSettings-qtgrA0zs.mjs → MotionZonesSettings-HrX-wNkL.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-CDjLk5w5.mjs → PrivacyMaskSettings-EteKw4Vd.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-BVdgxUfp.mjs → SceneMonitorEditor-C3tgLFLN.mjs} +3 -3
  4. package/dist/_stub.js +3532 -3294
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-2jdtfUGW.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-YqeJHMK-.mjs} +4 -4
  6. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BQo33Q2m.mjs +26 -0
  7. package/dist/addon-osd-manager.css +1 -1
  8. package/dist/{hostInit-CGaNHoXk.mjs → hostInit-BVtOu0Ky.mjs} +3 -3
  9. package/dist/index.js +400 -37
  10. package/dist/index.mjs +400 -37
  11. package/dist/{player-overlays-CWC5I8Gr.mjs → player-overlays-DuLBNXrX.mjs} +1 -1
  12. package/dist/remoteEntry.js +1 -1
  13. package/dist/{responsive-C0Yg2ySn.mjs → responsive-Cgk8F071.mjs} +1 -1
  14. package/dist/{scene-monitor-copy-CUvGeueA.mjs → scene-monitor-copy-DZCYlDNg.mjs} +1 -1
  15. package/dist/{square-DM5YvAWs.mjs → square-CJIMX4Xi.mjs} +1 -1
  16. package/dist/{trash-2-DTlq25ib.mjs → trash-2-C9OfSkTN.mjs} +1 -1
  17. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-C1hKmoQ1.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Dbu6IP7N.mjs} +1 -1
  18. package/package.json +1 -1
  19. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DJYNsHHl.mjs +0 -26
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- //#region ../types/dist/event-category-BvOFi6PY.mjs
1
+ //#region ../types/dist/event-category-DOl51-Ij.mjs
2
2
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
3
3
  EventCategory["SystemBoot"] = "system.boot";
4
4
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -77,9 +77,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
77
77
  /**
78
78
  * The node's one-shot runner boot check (D877): planned runners against the
79
79
  * process service, `degraded` when any is failed, refused or missing. The
80
- * alert centre turns it into one alert and a direct critical push.
80
+ * alert centre turns it into one critical alert.
81
81
  */
82
82
  EventCategory["SystemRunnerCheck"] = "system.runner-check";
83
+ /**
84
+ * An alert EPISODE opened or closed, emitted by the alert centre for alerts
85
+ * of severity `critical` or `error` (`AlertEpisodePayload`). The alert
86
+ * centre sends no notification of its own: Notification Center turns this
87
+ * into the `alert-critical` / `alert-error` / `alert-critical-resolved`
88
+ * system-event kinds, and reconciles from the alerts store because a bus
89
+ * event may be dropped (D8, D11).
90
+ */
91
+ EventCategory["AlertEpisode"] = "alert.episode";
83
92
  EventCategory["AddonError"] = "addon.error";
84
93
  EventCategory["AddonPageReady"] = "addon.page-ready";
85
94
  EventCategory["AddonWidgetReady"] = "addon.widget-ready";
@@ -5404,7 +5413,7 @@ var ZodIssueCode = {
5404
5413
  var ZodFirstPartyTypeKind;
5405
5414
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5406
5415
  //#endregion
5407
- //#region ../types/dist/sleep-BOjuyoPC.mjs
5416
+ //#region ../types/dist/sleep-BxjU_fJM.mjs
5408
5417
  /**
5409
5418
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5410
5419
  * window to float samples (D455).
@@ -13103,7 +13112,14 @@ var AlertSeveritySchema = _enum([
13103
13112
  ]);
13104
13113
  var AlertActionSchema = object({
13105
13114
  label: string(),
13106
- href: string().optional()
13115
+ href: string().optional(),
13116
+ /**
13117
+ * How `href` is followed. Absent / `app`: an admin-ui route (client-side).
13118
+ * `server`: a route the HUB serves (an addon HTTP route such as an OAuth
13119
+ * start) — the browser must leave the SPA with a full navigation, because
13120
+ * the SPA has no such route and would bounce to the home page.
13121
+ */
13122
+ navigation: _enum(["app", "server"]).optional()
13107
13123
  });
13108
13124
  var AlertStatusSchema = _enum([
13109
13125
  "active",
@@ -17312,7 +17328,11 @@ DeviceType.Hub, DeviceDiscoveryStatusSchema.extend({ lastFetchedAt: number().int
17312
17328
  });
17313
17329
  /**
17314
17330
  * `device-adoption` — generic discovery + adoption surface,
17315
- * system-scoped singleton. The de-HA-ified successor to `ha-discovery`:
17331
+ * system-scoped collection (one provider per integration addon), routed
17332
+ * by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
17333
+ * pin model as `connection-test`. The admin UI keeps using
17334
+ * `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
17335
+ * successor to `ha-discovery`:
17316
17336
  * keyed by `integrationId` (the addon resolves integrationId → broker
17317
17337
  * internally) rather than a connection-specific `brokerId`, and it
17318
17338
  * REUSES the shared `DiscoveredChildDevice` candidate type from
@@ -41520,6 +41540,9 @@ var NcSystemEventKindSchema = _enum([
41520
41540
  "server-updated",
41521
41541
  "export-completed",
41522
41542
  "backup-completed",
41543
+ "alert-critical",
41544
+ "alert-error",
41545
+ "alert-critical-resolved",
41523
41546
  "camera-online",
41524
41547
  "camera-offline",
41525
41548
  "camera-disabled",
@@ -42994,6 +43017,18 @@ var NC_CONDITION_CATALOG = [
42994
43017
  value: "backup-completed",
42995
43018
  label: "Backup completed"
42996
43019
  },
43020
+ {
43021
+ value: "alert-critical",
43022
+ label: "Critical alert raised"
43023
+ },
43024
+ {
43025
+ value: "alert-error",
43026
+ label: "Error alert raised"
43027
+ },
43028
+ {
43029
+ value: "alert-critical-resolved",
43030
+ label: "Critical alert resolved"
43031
+ },
42997
43032
  {
42998
43033
  value: "alarm-arm-refused",
42999
43034
  label: "Alarm arm refused"
@@ -51120,7 +51155,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
51120
51155
  }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
51121
51156
  kind: "mutation",
51122
51157
  auth: "admin"
51123
- }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
51158
+ }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
51159
+ clear: boolean(),
51160
+ repointLocationId: string().optional()
51161
+ }), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
51124
51162
  kind: "mutation",
51125
51163
  auth: "admin"
51126
51164
  }), method(StorageCleanupInputSchema, object({ jobId: string() }), {
@@ -54555,6 +54593,11 @@ object({
54555
54593
  *
54556
54594
  * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
54557
54595
  * provider refreshes the slice on an interval and eagerly after commands.
54596
+ *
54597
+ * UNKNOWN IS NOT OFF. Every field the appliance reports separately is
54598
+ * nullable: `null` means "not known right now" (the appliance has not said,
54599
+ * the link is down, or the description does not carry it) and is never
54600
+ * rendered or exported as `false` / `0`. `availability` says why.
54558
54601
  */
54559
54602
  var DishwasherStateSchema = _enum([
54560
54603
  "idle",
@@ -54564,80 +54607,227 @@ var DishwasherStateSchema = _enum([
54564
54607
  "error",
54565
54608
  "unavailable"
54566
54609
  ]);
54610
+ /**
54611
+ * The appliance's own operation state, uncollapsed. `state` above is the coarse
54612
+ * view for compact surfaces; this is what the appliance said.
54613
+ */
54614
+ var DishwasherOperationStateSchema = _enum([
54615
+ "Inactive",
54616
+ "Ready",
54617
+ "DelayedStart",
54618
+ "Run",
54619
+ "Pause",
54620
+ "ActionRequired",
54621
+ "Finished",
54622
+ "Error",
54623
+ "Aborting"
54624
+ ]);
54625
+ /**
54626
+ * Why fields may be `null`:
54627
+ * - `available` — the link is up and the description is loaded;
54628
+ * - `offline` — the local link is down (values are unknown, not last-known);
54629
+ * - `description-missing` — the link is up but the appliance's description could not
54630
+ * be loaded, so its values cannot be decoded.
54631
+ */
54632
+ var DishwasherAvailabilitySchema = _enum([
54633
+ "available",
54634
+ "offline",
54635
+ "description-missing"
54636
+ ]);
54567
54637
  var DishwasherConsumableLevelSchema = _enum([
54568
54638
  "ok",
54569
54639
  "low",
54570
54640
  "empty"
54571
54641
  ]);
54572
54642
  object({
54643
+ availability: DishwasherAvailabilitySchema,
54644
+ /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
54573
54645
  state: DishwasherStateSchema,
54574
- /** Active program id/name, or null when none selected / unknown. */
54646
+ /** The appliance's operation state as reported; null when not known. */
54647
+ operationState: DishwasherOperationStateSchema.nullable(),
54648
+ /** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
54575
54649
  program: string().nullable(),
54576
- /** Program tokens the hardware accepts — drives the UI selector. */
54650
+ /** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
54651
+ selectedProgram: string().nullable(),
54652
+ /** Feature keys of the programs the appliance currently offers — drives the UI selector. */
54577
54653
  availablePrograms: array(string()),
54578
- /** Minutes remaining on the active cycle, or null when not running. */
54579
- remainingMinutes: number().int().nonnegative().nullable(),
54654
+ /** Seconds remaining on the active cycle, or null when not running / not known. */
54655
+ remainingSeconds: number().int().nonnegative().nullable(),
54656
+ /** Seconds the delayed start is set to (time until the cycle starts), or null. */
54657
+ delayedStartSeconds: number().int().nonnegative().nullable(),
54580
54658
  /** Cycle completion 0..100, or null when not applicable. */
54581
54659
  progressPercent: number().min(0).max(100).nullable(),
54582
- /** True when the door is reported open. */
54583
- doorOpen: boolean(),
54584
- /** True when remote start is allowed (door closed, power on, etc.). */
54585
- remoteStartAllowed: boolean(),
54586
- /** Main power / switched-on state. */
54587
- powerOn: boolean(),
54660
+ /** True when the door is reported open; null when the door state is not known. */
54661
+ doorOpen: boolean().nullable(),
54662
+ /** True when the door is latched (locked) during a cycle; null when not reported. */
54663
+ doorLocked: boolean().nullable(),
54664
+ /** True when remote start is allowed (door closed, power on, etc.); null when not known. */
54665
+ remoteStartAllowed: boolean().nullable(),
54666
+ /** True when the appliance accepts remote control now; null when not known. */
54667
+ remoteControlActive: boolean().nullable(),
54668
+ /** True while somebody operates the appliance at its panel; null when not reported. */
54669
+ localControlActive: boolean().nullable(),
54670
+ /** Main power / switched-on state; null when not known. */
54671
+ powerOn: boolean().nullable(),
54672
+ /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
54673
+ powerState: string().nullable(),
54588
54674
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
54589
54675
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
54590
- halfLoad: boolean(),
54591
- hygienePlus: boolean(),
54676
+ /** Option states: null when the appliance does not expose the option or has not said. */
54677
+ halfLoad: boolean().nullable(),
54678
+ hygienePlus: boolean().nullable(),
54679
+ /** Extra dry option when the appliance exposes it. */
54680
+ extraDry: boolean().nullable(),
54681
+ /** Intensive zone (lower basket) when the appliance exposes it. */
54682
+ intensiveZone: boolean().nullable(),
54683
+ /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
54684
+ varioSpeedPlus: boolean().nullable(),
54685
+ /** Child lock (controls disabled on the appliance); null when not known. */
54686
+ childLock: boolean().nullable(),
54687
+ /** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
54688
+ activeEvents: array(string()),
54689
+ /** Numeric error code when the appliance reports one; null otherwise. */
54592
54690
  errorCode: number().nullable(),
54691
+ /** Name of the raised alert-level event while the appliance is in error; null otherwise. */
54593
54692
  errorLabel: string().nullable(),
54693
+ /** Ms epoch of the last value received from the appliance; 0 = never. */
54594
54694
  lastFetchedAt: number()
54595
54695
  });
54596
- DeviceType.Dishwasher, method(object({ deviceId: number().int().nonnegative() }), _void(), {
54696
+ var DeviceIdSchema = number().int().nonnegative();
54697
+ /** A value a program option or setting can take. */
54698
+ var DishwasherValueSchema = union([
54699
+ boolean(),
54700
+ string(),
54701
+ number()
54702
+ ]);
54703
+ var DishwasherAccessSchema = _enum([
54704
+ "none",
54705
+ "read",
54706
+ "readWrite",
54707
+ "writeOnly",
54708
+ "readStatic"
54709
+ ]);
54710
+ /**
54711
+ * One option or setting the appliance declares, with the constraints its description
54712
+ * gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
54713
+ */
54714
+ var DishwasherOptionDescriptorSchema = object({
54715
+ /** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
54716
+ key: string(),
54717
+ /** Last segment of the key, for display. */
54718
+ name: string(),
54719
+ type: _enum([
54720
+ "boolean",
54721
+ "number",
54722
+ "enum",
54723
+ "string"
54724
+ ]),
54725
+ access: DishwasherAccessSchema,
54726
+ /** The appliance reports this entity as currently available. */
54727
+ available: boolean(),
54728
+ /** Unit the description declares for a number; null when it declares none. */
54729
+ unit: string().nullable(),
54730
+ min: number().nullable(),
54731
+ max: number().nullable(),
54732
+ step: number().nullable(),
54733
+ /** Allowed members of an enum; null for other types. */
54734
+ enumValues: array(string()).nullable(),
54735
+ defaultValue: DishwasherValueSchema.nullable()
54736
+ });
54737
+ var DishwasherProgramSchema = object({
54738
+ /** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
54739
+ key: string(),
54740
+ name: string(),
54741
+ /** The appliance currently offers this program. */
54742
+ available: boolean(),
54743
+ /** The options this program lists, with the program-level access / availability / default. */
54744
+ options: array(DishwasherOptionDescriptorSchema)
54745
+ });
54746
+ var DishwasherOptionsSchema = object({
54747
+ availability: DishwasherAvailabilitySchema,
54748
+ /** What the appliance can be told to do, from the commands its description declares. */
54749
+ supportsStart: boolean(),
54750
+ supportsPause: boolean(),
54751
+ supportsResume: boolean(),
54752
+ supportsStop: boolean(),
54753
+ supportsPower: boolean(),
54754
+ /** Every program the description lists, with its options. */
54755
+ programs: array(DishwasherProgramSchema),
54756
+ /** Every option and setting entity the description lists (programs reference these by key). */
54757
+ options: array(DishwasherOptionDescriptorSchema)
54758
+ });
54759
+ DeviceType.Dishwasher, method(object({
54760
+ deviceId: DeviceIdSchema,
54761
+ program: string().min(1).optional(),
54762
+ options: record(string(), DishwasherValueSchema).optional()
54763
+ }), _void(), {
54597
54764
  kind: "mutation",
54598
54765
  auth: "protected"
54599
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54766
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54600
54767
  kind: "mutation",
54601
54768
  auth: "protected"
54602
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54769
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54770
+ kind: "mutation",
54771
+ auth: "protected"
54772
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54603
54773
  kind: "mutation",
54604
54774
  auth: "protected"
54605
54775
  }), method(object({
54606
- deviceId: number().int().nonnegative(),
54776
+ deviceId: DeviceIdSchema,
54607
54777
  program: string().min(1)
54608
54778
  }), _void(), {
54609
54779
  kind: "mutation",
54610
54780
  auth: "protected"
54611
54781
  }), method(object({
54612
- deviceId: number().int().nonnegative(),
54782
+ deviceId: DeviceIdSchema,
54613
54783
  on: boolean()
54614
54784
  }), _void(), {
54615
54785
  kind: "mutation",
54616
54786
  auth: "protected"
54617
54787
  }), method(object({
54618
- deviceId: number().int().nonnegative(),
54788
+ deviceId: DeviceIdSchema,
54619
54789
  on: boolean()
54620
54790
  }), _void(), {
54621
54791
  kind: "mutation",
54622
54792
  auth: "protected"
54623
54793
  }), method(object({
54624
- deviceId: number().int().nonnegative(),
54794
+ deviceId: DeviceIdSchema,
54625
54795
  on: boolean()
54626
54796
  }), _void(), {
54627
54797
  kind: "mutation",
54628
54798
  auth: "protected"
54629
54799
  }), method(object({
54630
- deviceId: number().int().nonnegative(),
54800
+ deviceId: DeviceIdSchema,
54801
+ on: boolean()
54802
+ }), _void(), {
54803
+ kind: "mutation",
54804
+ auth: "protected"
54805
+ }), method(object({
54806
+ deviceId: DeviceIdSchema,
54807
+ on: boolean()
54808
+ }), _void(), {
54809
+ kind: "mutation",
54810
+ auth: "protected"
54811
+ }), method(object({
54812
+ deviceId: DeviceIdSchema,
54813
+ on: boolean()
54814
+ }), _void(), {
54815
+ kind: "mutation",
54816
+ auth: "protected"
54817
+ }), method(object({
54818
+ deviceId: DeviceIdSchema,
54819
+ on: boolean()
54820
+ }), _void(), {
54821
+ kind: "mutation",
54822
+ auth: "protected"
54823
+ }), method(object({
54824
+ deviceId: DeviceIdSchema,
54631
54825
  key: string().min(1),
54632
- value: union([
54633
- boolean(),
54634
- string(),
54635
- number()
54636
- ])
54826
+ value: DishwasherValueSchema
54637
54827
  }), _void(), {
54638
54828
  kind: "mutation",
54639
54829
  auth: "protected"
54640
- });
54830
+ }), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
54641
54831
  object({
54642
54832
  /** Ms epoch of the last press. null = never observed since this provider started. */
54643
54833
  lastPressedAt: number().nullable(),
@@ -65075,6 +65265,12 @@ Object.freeze({
65075
65265
  addonId: null,
65076
65266
  access: "view"
65077
65267
  },
65268
+ "dishwasher.getOptions": {
65269
+ capName: "dishwasher",
65270
+ capScope: "device",
65271
+ addonId: null,
65272
+ access: "view"
65273
+ },
65078
65274
  "dishwasher.getStatus": {
65079
65275
  capName: "dishwasher",
65080
65276
  capScope: "device",
@@ -65087,6 +65283,24 @@ Object.freeze({
65087
65283
  addonId: null,
65088
65284
  access: "create"
65089
65285
  },
65286
+ "dishwasher.resume": {
65287
+ capName: "dishwasher",
65288
+ capScope: "device",
65289
+ addonId: null,
65290
+ access: "create"
65291
+ },
65292
+ "dishwasher.setChildLock": {
65293
+ capName: "dishwasher",
65294
+ capScope: "device",
65295
+ addonId: null,
65296
+ access: "create"
65297
+ },
65298
+ "dishwasher.setExtraDry": {
65299
+ capName: "dishwasher",
65300
+ capScope: "device",
65301
+ addonId: null,
65302
+ access: "create"
65303
+ },
65090
65304
  "dishwasher.setHalfLoad": {
65091
65305
  capName: "dishwasher",
65092
65306
  capScope: "device",
@@ -65099,6 +65313,12 @@ Object.freeze({
65099
65313
  addonId: null,
65100
65314
  access: "create"
65101
65315
  },
65316
+ "dishwasher.setIntensiveZone": {
65317
+ capName: "dishwasher",
65318
+ capScope: "device",
65319
+ addonId: null,
65320
+ access: "create"
65321
+ },
65102
65322
  "dishwasher.setOption": {
65103
65323
  capName: "dishwasher",
65104
65324
  capScope: "device",
@@ -65117,6 +65337,12 @@ Object.freeze({
65117
65337
  addonId: null,
65118
65338
  access: "create"
65119
65339
  },
65340
+ "dishwasher.setVarioSpeedPlus": {
65341
+ capName: "dishwasher",
65342
+ capScope: "device",
65343
+ addonId: null,
65344
+ access: "create"
65345
+ },
65120
65346
  "dishwasher.start": {
65121
65347
  capName: "dishwasher",
65122
65348
  capScope: "device",
@@ -69563,6 +69789,12 @@ Object.freeze({
69563
69789
  addonId: null,
69564
69790
  access: "view"
69565
69791
  },
69792
+ "storageMigration.moverClearance": {
69793
+ capName: "storage-migration",
69794
+ capScope: "system",
69795
+ addonId: null,
69796
+ access: "view"
69797
+ },
69566
69798
  "storageMigration.movers": {
69567
69799
  capName: "storage-migration",
69568
69800
  capScope: "system",
@@ -71756,6 +71988,11 @@ Object.freeze({
71756
71988
  form: "single",
71757
71989
  optional: false
71758
71990
  }],
71991
+ "dishwasher.getOptions": [{
71992
+ name: "deviceId",
71993
+ form: "single",
71994
+ optional: false
71995
+ }],
71759
71996
  "dishwasher.getStatus": [{
71760
71997
  name: "deviceId",
71761
71998
  form: "single",
@@ -71766,6 +72003,21 @@ Object.freeze({
71766
72003
  form: "single",
71767
72004
  optional: false
71768
72005
  }],
72006
+ "dishwasher.resume": [{
72007
+ name: "deviceId",
72008
+ form: "single",
72009
+ optional: false
72010
+ }],
72011
+ "dishwasher.setChildLock": [{
72012
+ name: "deviceId",
72013
+ form: "single",
72014
+ optional: false
72015
+ }],
72016
+ "dishwasher.setExtraDry": [{
72017
+ name: "deviceId",
72018
+ form: "single",
72019
+ optional: false
72020
+ }],
71769
72021
  "dishwasher.setHalfLoad": [{
71770
72022
  name: "deviceId",
71771
72023
  form: "single",
@@ -71776,6 +72028,11 @@ Object.freeze({
71776
72028
  form: "single",
71777
72029
  optional: false
71778
72030
  }],
72031
+ "dishwasher.setIntensiveZone": [{
72032
+ name: "deviceId",
72033
+ form: "single",
72034
+ optional: false
72035
+ }],
71779
72036
  "dishwasher.setOption": [{
71780
72037
  name: "deviceId",
71781
72038
  form: "single",
@@ -71791,6 +72048,11 @@ Object.freeze({
71791
72048
  form: "single",
71792
72049
  optional: false
71793
72050
  }],
72051
+ "dishwasher.setVarioSpeedPlus": [{
72052
+ name: "deviceId",
72053
+ form: "single",
72054
+ optional: false
72055
+ }],
71794
72056
  "dishwasher.start": [{
71795
72057
  name: "deviceId",
71796
72058
  form: "single",
@@ -73832,6 +74094,9 @@ new Map(Object.entries({
73832
74094
  "wrapper-update-available": "system",
73833
74095
  "backup-completed": "system",
73834
74096
  "export-completed": "system",
74097
+ "alert-critical": "system",
74098
+ "alert-error": "system",
74099
+ "alert-critical-resolved": "system",
73835
74100
  "storage-location-low": "system",
73836
74101
  "storage-location-critical": "system",
73837
74102
  "storage-location-ok": "system",
@@ -73956,6 +74221,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
73956
74221
  "storage-location-ok"
73957
74222
  ]
73958
74223
  },
74224
+ {
74225
+ id: "alerts",
74226
+ family: "system",
74227
+ label: "Alerts",
74228
+ kinds: [
74229
+ "alert-critical",
74230
+ "alert-error",
74231
+ "alert-critical-resolved"
74232
+ ]
74233
+ },
73959
74234
  {
73960
74235
  id: "alarm",
73961
74236
  family: "alarm",
@@ -74080,6 +74355,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
74080
74355
  return [[descriptor.kind, field]];
74081
74356
  })));
74082
74357
  Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
74358
+ object({
74359
+ phase: _enum(["raised", "resolved"]),
74360
+ episodeId: string().min(1),
74361
+ alertId: string().min(1),
74362
+ severity: AlertSeveritySchema,
74363
+ category: string(),
74364
+ title: string(),
74365
+ message: string(),
74366
+ sourceType: string().optional(),
74367
+ sourceId: string().optional(),
74368
+ nodeId: string().optional(),
74369
+ /** The alert's own action link (where the operator acts on it), when it has one. */
74370
+ actionUrl: string().optional(),
74371
+ at: number()
74372
+ });
74083
74373
  var RULE_BODY_ONLY = ["body"];
74084
74374
  var RULE_TEXT = ["title", "body"];
74085
74375
  var BATTERY = ["device-battery-low", "device-battery-normal"];
@@ -74089,6 +74379,11 @@ var TANK = [
74089
74379
  "device-tank-full",
74090
74380
  "device-tank-normal"
74091
74381
  ];
74382
+ var ALERT_EPISODE = [
74383
+ "alert-critical",
74384
+ "alert-error",
74385
+ "alert-critical-resolved"
74386
+ ];
74092
74387
  var UPDATES = [
74093
74388
  "addon-update-available",
74094
74389
  "server-update-available",
@@ -74281,14 +74576,14 @@ var STATE_SUMMARY_VARS = [
74281
74576
  ([...RULE_TEXT], [...CONSUMABLE]),
74282
74577
  ([...RULE_TEXT], [...TANK]),
74283
74578
  [...RULE_TEXT],
74284
- ([...RULE_TEXT], [...UPDATES]),
74285
- ([...RULE_TEXT], [...UPDATES]),
74286
- [...RULE_TEXT],
74579
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74580
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74287
74581
  [...RULE_TEXT],
74288
74582
  [...RULE_TEXT],
74289
74583
  [...RULE_TEXT],
74290
74584
  [...RULE_TEXT],
74291
74585
  [...RULE_TEXT],
74586
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74292
74587
  [...RULE_TEXT],
74293
74588
  [...RULE_TEXT],
74294
74589
  [...RULE_TEXT],
@@ -74306,7 +74601,11 @@ var STATE_SUMMARY_VARS = [
74306
74601
  [...RULE_TEXT],
74307
74602
  [...RULE_TEXT],
74308
74603
  [...RULE_TEXT],
74309
- [...RULE_TEXT],
74604
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74605
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74606
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74607
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74608
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74310
74609
  [...RULE_TEXT],
74311
74610
  [...RULE_TEXT],
74312
74611
  [...RULE_TEXT],
@@ -76380,6 +76679,15 @@ var CAP_STATE_LEAVES = Object.freeze({
76380
76679
  "valueType": "boolean"
76381
76680
  }],
76382
76681
  "dishwasher": [
76682
+ {
76683
+ "path": "availability",
76684
+ "valueType": "enum",
76685
+ "enumValues": [
76686
+ "available",
76687
+ "offline",
76688
+ "description-missing"
76689
+ ]
76690
+ },
76383
76691
  {
76384
76692
  "path": "state",
76385
76693
  "valueType": "enum",
@@ -76392,12 +76700,35 @@ var CAP_STATE_LEAVES = Object.freeze({
76392
76700
  "unavailable"
76393
76701
  ]
76394
76702
  },
76703
+ {
76704
+ "path": "operationState",
76705
+ "valueType": "enum",
76706
+ "enumValues": [
76707
+ "Inactive",
76708
+ "Ready",
76709
+ "DelayedStart",
76710
+ "Run",
76711
+ "Pause",
76712
+ "ActionRequired",
76713
+ "Finished",
76714
+ "Error",
76715
+ "Aborting"
76716
+ ]
76717
+ },
76395
76718
  {
76396
76719
  "path": "program",
76397
76720
  "valueType": "string"
76398
76721
  },
76399
76722
  {
76400
- "path": "remainingMinutes",
76723
+ "path": "selectedProgram",
76724
+ "valueType": "string"
76725
+ },
76726
+ {
76727
+ "path": "remainingSeconds",
76728
+ "valueType": "number"
76729
+ },
76730
+ {
76731
+ "path": "delayedStartSeconds",
76401
76732
  "valueType": "number"
76402
76733
  },
76403
76734
  {
@@ -76408,14 +76739,30 @@ var CAP_STATE_LEAVES = Object.freeze({
76408
76739
  "path": "doorOpen",
76409
76740
  "valueType": "boolean"
76410
76741
  },
76742
+ {
76743
+ "path": "doorLocked",
76744
+ "valueType": "boolean"
76745
+ },
76411
76746
  {
76412
76747
  "path": "remoteStartAllowed",
76413
76748
  "valueType": "boolean"
76414
76749
  },
76750
+ {
76751
+ "path": "remoteControlActive",
76752
+ "valueType": "boolean"
76753
+ },
76754
+ {
76755
+ "path": "localControlActive",
76756
+ "valueType": "boolean"
76757
+ },
76415
76758
  {
76416
76759
  "path": "powerOn",
76417
76760
  "valueType": "boolean"
76418
76761
  },
76762
+ {
76763
+ "path": "powerState",
76764
+ "valueType": "string"
76765
+ },
76419
76766
  {
76420
76767
  "path": "saltLevel",
76421
76768
  "valueType": "enum",
@@ -76442,6 +76789,22 @@ var CAP_STATE_LEAVES = Object.freeze({
76442
76789
  "path": "hygienePlus",
76443
76790
  "valueType": "boolean"
76444
76791
  },
76792
+ {
76793
+ "path": "extraDry",
76794
+ "valueType": "boolean"
76795
+ },
76796
+ {
76797
+ "path": "intensiveZone",
76798
+ "valueType": "boolean"
76799
+ },
76800
+ {
76801
+ "path": "varioSpeedPlus",
76802
+ "valueType": "boolean"
76803
+ },
76804
+ {
76805
+ "path": "childLock",
76806
+ "valueType": "boolean"
76807
+ },
76445
76808
  {
76446
76809
  "path": "errorCode",
76447
76810
  "valueType": "number"