@camstack/addon-osd-manager 0.1.247 → 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 (18) 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 +4312 -4141
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-5jNfg3X7.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/{hostInit-CMF4TS98.mjs → hostInit-BVtOu0Ky.mjs} +3 -3
  8. package/dist/index.js +312 -45
  9. package/dist/index.mjs +312 -45
  10. package/dist/{player-overlays-CWC5I8Gr.mjs → player-overlays-DuLBNXrX.mjs} +1 -1
  11. package/dist/remoteEntry.js +1 -1
  12. package/dist/{responsive-C0Yg2ySn.mjs → responsive-Cgk8F071.mjs} +1 -1
  13. package/dist/{scene-monitor-copy-CUvGeueA.mjs → scene-monitor-copy-DZCYlDNg.mjs} +1 -1
  14. package/dist/{square-DM5YvAWs.mjs → square-CJIMX4Xi.mjs} +1 -1
  15. package/dist/{trash-2-DTlq25ib.mjs → trash-2-C9OfSkTN.mjs} +1 -1
  16. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Dzba-Vqm.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Dbu6IP7N.mjs} +1 -1
  17. package/package.json +1 -1
  18. 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.js CHANGED
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- //#region ../types/dist/event-category-BvOFi6PY.mjs
5
+ //#region ../types/dist/event-category-DOl51-Ij.mjs
6
6
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
7
7
  EventCategory["SystemBoot"] = "system.boot";
8
8
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -81,9 +81,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
81
81
  /**
82
82
  * The node's one-shot runner boot check (D877): planned runners against the
83
83
  * process service, `degraded` when any is failed, refused or missing. The
84
- * alert centre turns it into one alert and a direct critical push.
84
+ * alert centre turns it into one critical alert.
85
85
  */
86
86
  EventCategory["SystemRunnerCheck"] = "system.runner-check";
87
+ /**
88
+ * An alert EPISODE opened or closed, emitted by the alert centre for alerts
89
+ * of severity `critical` or `error` (`AlertEpisodePayload`). The alert
90
+ * centre sends no notification of its own: Notification Center turns this
91
+ * into the `alert-critical` / `alert-error` / `alert-critical-resolved`
92
+ * system-event kinds, and reconciles from the alerts store because a bus
93
+ * event may be dropped (D8, D11).
94
+ */
95
+ EventCategory["AlertEpisode"] = "alert.episode";
87
96
  EventCategory["AddonError"] = "addon.error";
88
97
  EventCategory["AddonPageReady"] = "addon.page-ready";
89
98
  EventCategory["AddonWidgetReady"] = "addon.widget-ready";
@@ -5408,7 +5417,7 @@ var ZodIssueCode = {
5408
5417
  var ZodFirstPartyTypeKind;
5409
5418
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5410
5419
  //#endregion
5411
- //#region ../types/dist/sleep-BegKjwUu.mjs
5420
+ //#region ../types/dist/sleep-BxjU_fJM.mjs
5412
5421
  /**
5413
5422
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5414
5423
  * window to float samples (D455).
@@ -13107,7 +13116,14 @@ var AlertSeveritySchema = _enum([
13107
13116
  ]);
13108
13117
  var AlertActionSchema = object({
13109
13118
  label: string(),
13110
- href: string().optional()
13119
+ href: string().optional(),
13120
+ /**
13121
+ * How `href` is followed. Absent / `app`: an admin-ui route (client-side).
13122
+ * `server`: a route the HUB serves (an addon HTTP route such as an OAuth
13123
+ * start) — the browser must leave the SPA with a full navigation, because
13124
+ * the SPA has no such route and would bounce to the home page.
13125
+ */
13126
+ navigation: _enum(["app", "server"]).optional()
13111
13127
  });
13112
13128
  var AlertStatusSchema = _enum([
13113
13129
  "active",
@@ -41528,6 +41544,9 @@ var NcSystemEventKindSchema = _enum([
41528
41544
  "server-updated",
41529
41545
  "export-completed",
41530
41546
  "backup-completed",
41547
+ "alert-critical",
41548
+ "alert-error",
41549
+ "alert-critical-resolved",
41531
41550
  "camera-online",
41532
41551
  "camera-offline",
41533
41552
  "camera-disabled",
@@ -43002,6 +43021,18 @@ var NC_CONDITION_CATALOG = [
43002
43021
  value: "backup-completed",
43003
43022
  label: "Backup completed"
43004
43023
  },
43024
+ {
43025
+ value: "alert-critical",
43026
+ label: "Critical alert raised"
43027
+ },
43028
+ {
43029
+ value: "alert-error",
43030
+ label: "Error alert raised"
43031
+ },
43032
+ {
43033
+ value: "alert-critical-resolved",
43034
+ label: "Critical alert resolved"
43035
+ },
43005
43036
  {
43006
43037
  value: "alarm-arm-refused",
43007
43038
  label: "Alarm arm refused"
@@ -51128,7 +51159,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
51128
51159
  }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
51129
51160
  kind: "mutation",
51130
51161
  auth: "admin"
51131
- }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
51162
+ }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
51163
+ clear: boolean(),
51164
+ repointLocationId: string().optional()
51165
+ }), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
51132
51166
  kind: "mutation",
51133
51167
  auth: "admin"
51134
51168
  }), method(StorageCleanupInputSchema, object({ jobId: string() }), {
@@ -54563,6 +54597,11 @@ object({
54563
54597
  *
54564
54598
  * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
54565
54599
  * provider refreshes the slice on an interval and eagerly after commands.
54600
+ *
54601
+ * UNKNOWN IS NOT OFF. Every field the appliance reports separately is
54602
+ * nullable: `null` means "not known right now" (the appliance has not said,
54603
+ * the link is down, or the description does not carry it) and is never
54604
+ * rendered or exported as `false` / `0`. `availability` says why.
54566
54605
  */
54567
54606
  var DishwasherStateSchema = _enum([
54568
54607
  "idle",
@@ -54572,112 +54611,227 @@ var DishwasherStateSchema = _enum([
54572
54611
  "error",
54573
54612
  "unavailable"
54574
54613
  ]);
54614
+ /**
54615
+ * The appliance's own operation state, uncollapsed. `state` above is the coarse
54616
+ * view for compact surfaces; this is what the appliance said.
54617
+ */
54618
+ var DishwasherOperationStateSchema = _enum([
54619
+ "Inactive",
54620
+ "Ready",
54621
+ "DelayedStart",
54622
+ "Run",
54623
+ "Pause",
54624
+ "ActionRequired",
54625
+ "Finished",
54626
+ "Error",
54627
+ "Aborting"
54628
+ ]);
54629
+ /**
54630
+ * Why fields may be `null`:
54631
+ * - `available` — the link is up and the description is loaded;
54632
+ * - `offline` — the local link is down (values are unknown, not last-known);
54633
+ * - `description-missing` — the link is up but the appliance's description could not
54634
+ * be loaded, so its values cannot be decoded.
54635
+ */
54636
+ var DishwasherAvailabilitySchema = _enum([
54637
+ "available",
54638
+ "offline",
54639
+ "description-missing"
54640
+ ]);
54575
54641
  var DishwasherConsumableLevelSchema = _enum([
54576
54642
  "ok",
54577
54643
  "low",
54578
54644
  "empty"
54579
54645
  ]);
54580
54646
  object({
54647
+ availability: DishwasherAvailabilitySchema,
54648
+ /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
54581
54649
  state: DishwasherStateSchema,
54582
- /** Active program id/name, or null when none selected / unknown. */
54650
+ /** The appliance's operation state as reported; null when not known. */
54651
+ operationState: DishwasherOperationStateSchema.nullable(),
54652
+ /** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
54583
54653
  program: string().nullable(),
54584
- /** Program tokens the hardware accepts — drives the UI selector. */
54654
+ /** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
54655
+ selectedProgram: string().nullable(),
54656
+ /** Feature keys of the programs the appliance currently offers — drives the UI selector. */
54585
54657
  availablePrograms: array(string()),
54586
- /** Minutes remaining on the active cycle, or null when not running. */
54587
- remainingMinutes: number().int().nonnegative().nullable(),
54658
+ /** Seconds remaining on the active cycle, or null when not running / not known. */
54659
+ remainingSeconds: number().int().nonnegative().nullable(),
54660
+ /** Seconds the delayed start is set to (time until the cycle starts), or null. */
54661
+ delayedStartSeconds: number().int().nonnegative().nullable(),
54588
54662
  /** Cycle completion 0..100, or null when not applicable. */
54589
54663
  progressPercent: number().min(0).max(100).nullable(),
54590
- /** True when the door is reported open. */
54591
- doorOpen: boolean(),
54592
- /** True when remote start is allowed (door closed, power on, etc.). */
54593
- remoteStartAllowed: boolean(),
54594
- /** Main power / switched-on state. */
54595
- powerOn: boolean(),
54664
+ /** True when the door is reported open; null when the door state is not known. */
54665
+ doorOpen: boolean().nullable(),
54666
+ /** True when the door is latched (locked) during a cycle; null when not reported. */
54667
+ doorLocked: boolean().nullable(),
54668
+ /** True when remote start is allowed (door closed, power on, etc.); null when not known. */
54669
+ remoteStartAllowed: boolean().nullable(),
54670
+ /** True when the appliance accepts remote control now; null when not known. */
54671
+ remoteControlActive: boolean().nullable(),
54672
+ /** True while somebody operates the appliance at its panel; null when not reported. */
54673
+ localControlActive: boolean().nullable(),
54674
+ /** Main power / switched-on state; null when not known. */
54675
+ powerOn: boolean().nullable(),
54676
+ /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
54677
+ powerState: string().nullable(),
54596
54678
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
54597
54679
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
54598
- halfLoad: boolean(),
54599
- hygienePlus: boolean(),
54680
+ /** Option states: null when the appliance does not expose the option or has not said. */
54681
+ halfLoad: boolean().nullable(),
54682
+ hygienePlus: boolean().nullable(),
54600
54683
  /** Extra dry option when the appliance exposes it. */
54601
- extraDry: boolean(),
54684
+ extraDry: boolean().nullable(),
54602
54685
  /** Intensive zone (lower basket) when the appliance exposes it. */
54603
- intensiveZone: boolean(),
54686
+ intensiveZone: boolean().nullable(),
54604
54687
  /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
54605
- varioSpeedPlus: boolean(),
54606
- /** Child lock (controls disabled on the appliance). */
54607
- childLock: boolean(),
54688
+ varioSpeedPlus: boolean().nullable(),
54689
+ /** Child lock (controls disabled on the appliance); null when not known. */
54690
+ childLock: boolean().nullable(),
54691
+ /** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
54692
+ activeEvents: array(string()),
54693
+ /** Numeric error code when the appliance reports one; null otherwise. */
54608
54694
  errorCode: number().nullable(),
54695
+ /** Name of the raised alert-level event while the appliance is in error; null otherwise. */
54609
54696
  errorLabel: string().nullable(),
54697
+ /** Ms epoch of the last value received from the appliance; 0 = never. */
54610
54698
  lastFetchedAt: number()
54611
54699
  });
54612
- DeviceType.Dishwasher, method(object({ deviceId: number().int().nonnegative() }), _void(), {
54700
+ var DeviceIdSchema = number().int().nonnegative();
54701
+ /** A value a program option or setting can take. */
54702
+ var DishwasherValueSchema = union([
54703
+ boolean(),
54704
+ string(),
54705
+ number()
54706
+ ]);
54707
+ var DishwasherAccessSchema = _enum([
54708
+ "none",
54709
+ "read",
54710
+ "readWrite",
54711
+ "writeOnly",
54712
+ "readStatic"
54713
+ ]);
54714
+ /**
54715
+ * One option or setting the appliance declares, with the constraints its description
54716
+ * gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
54717
+ */
54718
+ var DishwasherOptionDescriptorSchema = object({
54719
+ /** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
54720
+ key: string(),
54721
+ /** Last segment of the key, for display. */
54722
+ name: string(),
54723
+ type: _enum([
54724
+ "boolean",
54725
+ "number",
54726
+ "enum",
54727
+ "string"
54728
+ ]),
54729
+ access: DishwasherAccessSchema,
54730
+ /** The appliance reports this entity as currently available. */
54731
+ available: boolean(),
54732
+ /** Unit the description declares for a number; null when it declares none. */
54733
+ unit: string().nullable(),
54734
+ min: number().nullable(),
54735
+ max: number().nullable(),
54736
+ step: number().nullable(),
54737
+ /** Allowed members of an enum; null for other types. */
54738
+ enumValues: array(string()).nullable(),
54739
+ defaultValue: DishwasherValueSchema.nullable()
54740
+ });
54741
+ var DishwasherProgramSchema = object({
54742
+ /** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
54743
+ key: string(),
54744
+ name: string(),
54745
+ /** The appliance currently offers this program. */
54746
+ available: boolean(),
54747
+ /** The options this program lists, with the program-level access / availability / default. */
54748
+ options: array(DishwasherOptionDescriptorSchema)
54749
+ });
54750
+ var DishwasherOptionsSchema = object({
54751
+ availability: DishwasherAvailabilitySchema,
54752
+ /** What the appliance can be told to do, from the commands its description declares. */
54753
+ supportsStart: boolean(),
54754
+ supportsPause: boolean(),
54755
+ supportsResume: boolean(),
54756
+ supportsStop: boolean(),
54757
+ supportsPower: boolean(),
54758
+ /** Every program the description lists, with its options. */
54759
+ programs: array(DishwasherProgramSchema),
54760
+ /** Every option and setting entity the description lists (programs reference these by key). */
54761
+ options: array(DishwasherOptionDescriptorSchema)
54762
+ });
54763
+ DeviceType.Dishwasher, method(object({
54764
+ deviceId: DeviceIdSchema,
54765
+ program: string().min(1).optional(),
54766
+ options: record(string(), DishwasherValueSchema).optional()
54767
+ }), _void(), {
54613
54768
  kind: "mutation",
54614
54769
  auth: "protected"
54615
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54770
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54616
54771
  kind: "mutation",
54617
54772
  auth: "protected"
54618
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54773
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54774
+ kind: "mutation",
54775
+ auth: "protected"
54776
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54619
54777
  kind: "mutation",
54620
54778
  auth: "protected"
54621
54779
  }), method(object({
54622
- deviceId: number().int().nonnegative(),
54780
+ deviceId: DeviceIdSchema,
54623
54781
  program: string().min(1)
54624
54782
  }), _void(), {
54625
54783
  kind: "mutation",
54626
54784
  auth: "protected"
54627
54785
  }), method(object({
54628
- deviceId: number().int().nonnegative(),
54786
+ deviceId: DeviceIdSchema,
54629
54787
  on: boolean()
54630
54788
  }), _void(), {
54631
54789
  kind: "mutation",
54632
54790
  auth: "protected"
54633
54791
  }), method(object({
54634
- deviceId: number().int().nonnegative(),
54792
+ deviceId: DeviceIdSchema,
54635
54793
  on: boolean()
54636
54794
  }), _void(), {
54637
54795
  kind: "mutation",
54638
54796
  auth: "protected"
54639
54797
  }), method(object({
54640
- deviceId: number().int().nonnegative(),
54798
+ deviceId: DeviceIdSchema,
54641
54799
  on: boolean()
54642
54800
  }), _void(), {
54643
54801
  kind: "mutation",
54644
54802
  auth: "protected"
54645
54803
  }), method(object({
54646
- deviceId: number().int().nonnegative(),
54804
+ deviceId: DeviceIdSchema,
54647
54805
  on: boolean()
54648
54806
  }), _void(), {
54649
54807
  kind: "mutation",
54650
54808
  auth: "protected"
54651
54809
  }), method(object({
54652
- deviceId: number().int().nonnegative(),
54810
+ deviceId: DeviceIdSchema,
54653
54811
  on: boolean()
54654
54812
  }), _void(), {
54655
54813
  kind: "mutation",
54656
54814
  auth: "protected"
54657
54815
  }), method(object({
54658
- deviceId: number().int().nonnegative(),
54816
+ deviceId: DeviceIdSchema,
54659
54817
  on: boolean()
54660
54818
  }), _void(), {
54661
54819
  kind: "mutation",
54662
54820
  auth: "protected"
54663
54821
  }), method(object({
54664
- deviceId: number().int().nonnegative(),
54822
+ deviceId: DeviceIdSchema,
54665
54823
  on: boolean()
54666
54824
  }), _void(), {
54667
54825
  kind: "mutation",
54668
54826
  auth: "protected"
54669
54827
  }), method(object({
54670
- deviceId: number().int().nonnegative(),
54828
+ deviceId: DeviceIdSchema,
54671
54829
  key: string().min(1),
54672
- value: union([
54673
- boolean(),
54674
- string(),
54675
- number()
54676
- ])
54830
+ value: DishwasherValueSchema
54677
54831
  }), _void(), {
54678
54832
  kind: "mutation",
54679
54833
  auth: "protected"
54680
- });
54834
+ }), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
54681
54835
  object({
54682
54836
  /** Ms epoch of the last press. null = never observed since this provider started. */
54683
54837
  lastPressedAt: number().nullable(),
@@ -65115,6 +65269,12 @@ Object.freeze({
65115
65269
  addonId: null,
65116
65270
  access: "view"
65117
65271
  },
65272
+ "dishwasher.getOptions": {
65273
+ capName: "dishwasher",
65274
+ capScope: "device",
65275
+ addonId: null,
65276
+ access: "view"
65277
+ },
65118
65278
  "dishwasher.getStatus": {
65119
65279
  capName: "dishwasher",
65120
65280
  capScope: "device",
@@ -65127,6 +65287,12 @@ Object.freeze({
65127
65287
  addonId: null,
65128
65288
  access: "create"
65129
65289
  },
65290
+ "dishwasher.resume": {
65291
+ capName: "dishwasher",
65292
+ capScope: "device",
65293
+ addonId: null,
65294
+ access: "create"
65295
+ },
65130
65296
  "dishwasher.setChildLock": {
65131
65297
  capName: "dishwasher",
65132
65298
  capScope: "device",
@@ -69627,6 +69793,12 @@ Object.freeze({
69627
69793
  addonId: null,
69628
69794
  access: "view"
69629
69795
  },
69796
+ "storageMigration.moverClearance": {
69797
+ capName: "storage-migration",
69798
+ capScope: "system",
69799
+ addonId: null,
69800
+ access: "view"
69801
+ },
69630
69802
  "storageMigration.movers": {
69631
69803
  capName: "storage-migration",
69632
69804
  capScope: "system",
@@ -71820,6 +71992,11 @@ Object.freeze({
71820
71992
  form: "single",
71821
71993
  optional: false
71822
71994
  }],
71995
+ "dishwasher.getOptions": [{
71996
+ name: "deviceId",
71997
+ form: "single",
71998
+ optional: false
71999
+ }],
71823
72000
  "dishwasher.getStatus": [{
71824
72001
  name: "deviceId",
71825
72002
  form: "single",
@@ -71830,6 +72007,11 @@ Object.freeze({
71830
72007
  form: "single",
71831
72008
  optional: false
71832
72009
  }],
72010
+ "dishwasher.resume": [{
72011
+ name: "deviceId",
72012
+ form: "single",
72013
+ optional: false
72014
+ }],
71833
72015
  "dishwasher.setChildLock": [{
71834
72016
  name: "deviceId",
71835
72017
  form: "single",
@@ -73916,6 +74098,9 @@ new Map(Object.entries({
73916
74098
  "wrapper-update-available": "system",
73917
74099
  "backup-completed": "system",
73918
74100
  "export-completed": "system",
74101
+ "alert-critical": "system",
74102
+ "alert-error": "system",
74103
+ "alert-critical-resolved": "system",
73919
74104
  "storage-location-low": "system",
73920
74105
  "storage-location-critical": "system",
73921
74106
  "storage-location-ok": "system",
@@ -74040,6 +74225,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
74040
74225
  "storage-location-ok"
74041
74226
  ]
74042
74227
  },
74228
+ {
74229
+ id: "alerts",
74230
+ family: "system",
74231
+ label: "Alerts",
74232
+ kinds: [
74233
+ "alert-critical",
74234
+ "alert-error",
74235
+ "alert-critical-resolved"
74236
+ ]
74237
+ },
74043
74238
  {
74044
74239
  id: "alarm",
74045
74240
  family: "alarm",
@@ -74164,6 +74359,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
74164
74359
  return [[descriptor.kind, field]];
74165
74360
  })));
74166
74361
  Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
74362
+ object({
74363
+ phase: _enum(["raised", "resolved"]),
74364
+ episodeId: string().min(1),
74365
+ alertId: string().min(1),
74366
+ severity: AlertSeveritySchema,
74367
+ category: string(),
74368
+ title: string(),
74369
+ message: string(),
74370
+ sourceType: string().optional(),
74371
+ sourceId: string().optional(),
74372
+ nodeId: string().optional(),
74373
+ /** The alert's own action link (where the operator acts on it), when it has one. */
74374
+ actionUrl: string().optional(),
74375
+ at: number()
74376
+ });
74167
74377
  var RULE_BODY_ONLY = ["body"];
74168
74378
  var RULE_TEXT = ["title", "body"];
74169
74379
  var BATTERY = ["device-battery-low", "device-battery-normal"];
@@ -74173,6 +74383,11 @@ var TANK = [
74173
74383
  "device-tank-full",
74174
74384
  "device-tank-normal"
74175
74385
  ];
74386
+ var ALERT_EPISODE = [
74387
+ "alert-critical",
74388
+ "alert-error",
74389
+ "alert-critical-resolved"
74390
+ ];
74176
74391
  var UPDATES = [
74177
74392
  "addon-update-available",
74178
74393
  "server-update-available",
@@ -74365,14 +74580,14 @@ var STATE_SUMMARY_VARS = [
74365
74580
  ([...RULE_TEXT], [...CONSUMABLE]),
74366
74581
  ([...RULE_TEXT], [...TANK]),
74367
74582
  [...RULE_TEXT],
74368
- ([...RULE_TEXT], [...UPDATES]),
74369
- ([...RULE_TEXT], [...UPDATES]),
74370
- [...RULE_TEXT],
74583
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74584
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74371
74585
  [...RULE_TEXT],
74372
74586
  [...RULE_TEXT],
74373
74587
  [...RULE_TEXT],
74374
74588
  [...RULE_TEXT],
74375
74589
  [...RULE_TEXT],
74590
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74376
74591
  [...RULE_TEXT],
74377
74592
  [...RULE_TEXT],
74378
74593
  [...RULE_TEXT],
@@ -74390,7 +74605,11 @@ var STATE_SUMMARY_VARS = [
74390
74605
  [...RULE_TEXT],
74391
74606
  [...RULE_TEXT],
74392
74607
  [...RULE_TEXT],
74393
- [...RULE_TEXT],
74608
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74609
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74610
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74611
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74612
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74394
74613
  [...RULE_TEXT],
74395
74614
  [...RULE_TEXT],
74396
74615
  [...RULE_TEXT],
@@ -76464,6 +76683,15 @@ var CAP_STATE_LEAVES = Object.freeze({
76464
76683
  "valueType": "boolean"
76465
76684
  }],
76466
76685
  "dishwasher": [
76686
+ {
76687
+ "path": "availability",
76688
+ "valueType": "enum",
76689
+ "enumValues": [
76690
+ "available",
76691
+ "offline",
76692
+ "description-missing"
76693
+ ]
76694
+ },
76467
76695
  {
76468
76696
  "path": "state",
76469
76697
  "valueType": "enum",
@@ -76476,12 +76704,35 @@ var CAP_STATE_LEAVES = Object.freeze({
76476
76704
  "unavailable"
76477
76705
  ]
76478
76706
  },
76707
+ {
76708
+ "path": "operationState",
76709
+ "valueType": "enum",
76710
+ "enumValues": [
76711
+ "Inactive",
76712
+ "Ready",
76713
+ "DelayedStart",
76714
+ "Run",
76715
+ "Pause",
76716
+ "ActionRequired",
76717
+ "Finished",
76718
+ "Error",
76719
+ "Aborting"
76720
+ ]
76721
+ },
76479
76722
  {
76480
76723
  "path": "program",
76481
76724
  "valueType": "string"
76482
76725
  },
76483
76726
  {
76484
- "path": "remainingMinutes",
76727
+ "path": "selectedProgram",
76728
+ "valueType": "string"
76729
+ },
76730
+ {
76731
+ "path": "remainingSeconds",
76732
+ "valueType": "number"
76733
+ },
76734
+ {
76735
+ "path": "delayedStartSeconds",
76485
76736
  "valueType": "number"
76486
76737
  },
76487
76738
  {
@@ -76492,14 +76743,30 @@ var CAP_STATE_LEAVES = Object.freeze({
76492
76743
  "path": "doorOpen",
76493
76744
  "valueType": "boolean"
76494
76745
  },
76746
+ {
76747
+ "path": "doorLocked",
76748
+ "valueType": "boolean"
76749
+ },
76495
76750
  {
76496
76751
  "path": "remoteStartAllowed",
76497
76752
  "valueType": "boolean"
76498
76753
  },
76754
+ {
76755
+ "path": "remoteControlActive",
76756
+ "valueType": "boolean"
76757
+ },
76758
+ {
76759
+ "path": "localControlActive",
76760
+ "valueType": "boolean"
76761
+ },
76499
76762
  {
76500
76763
  "path": "powerOn",
76501
76764
  "valueType": "boolean"
76502
76765
  },
76766
+ {
76767
+ "path": "powerState",
76768
+ "valueType": "string"
76769
+ },
76503
76770
  {
76504
76771
  "path": "saltLevel",
76505
76772
  "valueType": "enum",