@camstack/addon-training 0.1.57 → 0.1.59

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 (21) hide show
  1. package/dist/{MotionZonesSettings-B1MFjLvT.mjs → MotionZonesSettings-D3MA168j.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-BsCT1qXL.mjs → PrivacyMaskSettings-DlILfRb9.mjs} +2 -2
  3. package/dist/{SceneMonitorEditor-DYTrCHNh.mjs → SceneMonitorEditor-DgOpS2v_.mjs} +1 -1
  4. package/dist/_stub.js +4170 -3996
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-Bas5pktv.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BbkzYirO.mjs} +4 -4
  6. package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DlLXF7aF.mjs +26 -0
  7. package/dist/addon-training.css +1 -1
  8. package/dist/{dist-RNhXRDvn.mjs → dist-DM9y4CJe.mjs} +323 -36
  9. package/dist/{dist-CQWU7Lpk.js → dist-DfNFNGnO.js} +323 -36
  10. package/dist/{hostInit-jpGr5jVe.mjs → hostInit-SLlPYdLV.mjs} +3 -3
  11. package/dist/index.js +1 -1
  12. package/dist/orchestrator/training.addon.js +1 -1
  13. package/dist/orchestrator/training.addon.mjs +1 -1
  14. package/dist/{player-overlays-Cdh_GNzb.mjs → player-overlays-pM6iC4GI.mjs} +1 -1
  15. package/dist/providers/modal/training-modal.addon.js +1 -1
  16. package/dist/providers/modal/training-modal.addon.mjs +1 -1
  17. package/dist/remoteEntry.js +1 -1
  18. package/dist/{responsive-DzwIz4dK.mjs → responsive-BAAHnmTT.mjs} +1 -1
  19. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CxB3fjqQ.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-D81A7IJp.mjs} +1 -1
  20. package/package.json +1 -1
  21. package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-o-C5PmDm.mjs +0 -26
@@ -1,5 +1,5 @@
1
1
  import "node:crypto";
2
- //#region ../types/dist/event-category-BvOFi6PY.mjs
2
+ //#region ../types/dist/event-category-DOl51-Ij.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -78,9 +78,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
78
78
  /**
79
79
  * The node's one-shot runner boot check (D877): planned runners against the
80
80
  * process service, `degraded` when any is failed, refused or missing. The
81
- * alert centre turns it into one alert and a direct critical push.
81
+ * alert centre turns it into one critical alert.
82
82
  */
83
83
  EventCategory["SystemRunnerCheck"] = "system.runner-check";
84
+ /**
85
+ * An alert EPISODE opened or closed, emitted by the alert centre for alerts
86
+ * of severity `critical` or `error` (`AlertEpisodePayload`). The alert
87
+ * centre sends no notification of its own: Notification Center turns this
88
+ * into the `alert-critical` / `alert-error` / `alert-critical-resolved`
89
+ * system-event kinds, and reconciles from the alerts store because a bus
90
+ * event may be dropped (D8, D11).
91
+ */
92
+ EventCategory["AlertEpisode"] = "alert.episode";
84
93
  EventCategory["AddonError"] = "addon.error";
85
94
  EventCategory["AddonPageReady"] = "addon.page-ready";
86
95
  EventCategory["AddonWidgetReady"] = "addon.widget-ready";
@@ -5538,7 +5547,7 @@ var ZodIssueCode = {
5538
5547
  var ZodFirstPartyTypeKind;
5539
5548
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5540
5549
  //#endregion
5541
- //#region ../types/dist/sleep-BOjuyoPC.mjs
5550
+ //#region ../types/dist/sleep-BxjU_fJM.mjs
5542
5551
  /**
5543
5552
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5544
5553
  * window to float samples (D455).
@@ -13514,7 +13523,14 @@ var AlertSeveritySchema = _enum([
13514
13523
  ]);
13515
13524
  var AlertActionSchema = object({
13516
13525
  label: string(),
13517
- href: string().optional()
13526
+ href: string().optional(),
13527
+ /**
13528
+ * How `href` is followed. Absent / `app`: an admin-ui route (client-side).
13529
+ * `server`: a route the HUB serves (an addon HTTP route such as an OAuth
13530
+ * start) — the browser must leave the SPA with a full navigation, because
13531
+ * the SPA has no such route and would bounce to the home page.
13532
+ */
13533
+ navigation: _enum(["app", "server"]).optional()
13518
13534
  });
13519
13535
  var AlertStatusSchema = _enum([
13520
13536
  "active",
@@ -17678,7 +17694,11 @@ DeviceType.Hub, DeviceDiscoveryStatusSchema.extend({ lastFetchedAt: number().int
17678
17694
  });
17679
17695
  /**
17680
17696
  * `device-adoption` — generic discovery + adoption surface,
17681
- * system-scoped singleton. The de-HA-ified successor to `ha-discovery`:
17697
+ * system-scoped collection (one provider per integration addon), routed
17698
+ * by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
17699
+ * pin model as `connection-test`. The admin UI keeps using
17700
+ * `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
17701
+ * successor to `ha-discovery`:
17682
17702
  * keyed by `integrationId` (the addon resolves integrationId → broker
17683
17703
  * internally) rather than a connection-specific `brokerId`, and it
17684
17704
  * REUSES the shared `DiscoveredChildDevice` candidate type from
@@ -41886,6 +41906,9 @@ var NcSystemEventKindSchema = _enum([
41886
41906
  "server-updated",
41887
41907
  "export-completed",
41888
41908
  "backup-completed",
41909
+ "alert-critical",
41910
+ "alert-error",
41911
+ "alert-critical-resolved",
41889
41912
  "camera-online",
41890
41913
  "camera-offline",
41891
41914
  "camera-disabled",
@@ -50918,7 +50941,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
50918
50941
  }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
50919
50942
  kind: "mutation",
50920
50943
  auth: "admin"
50921
- }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
50944
+ }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
50945
+ clear: boolean(),
50946
+ repointLocationId: string().optional()
50947
+ }), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
50922
50948
  kind: "mutation",
50923
50949
  auth: "admin"
50924
50950
  }), method(StorageCleanupInputSchema, object({ jobId: string() }), {
@@ -54353,6 +54379,11 @@ object({
54353
54379
  *
54354
54380
  * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
54355
54381
  * provider refreshes the slice on an interval and eagerly after commands.
54382
+ *
54383
+ * UNKNOWN IS NOT OFF. Every field the appliance reports separately is
54384
+ * nullable: `null` means "not known right now" (the appliance has not said,
54385
+ * the link is down, or the description does not carry it) and is never
54386
+ * rendered or exported as `false` / `0`. `availability` says why.
54356
54387
  */
54357
54388
  var DishwasherStateSchema = _enum([
54358
54389
  "idle",
@@ -54362,80 +54393,227 @@ var DishwasherStateSchema = _enum([
54362
54393
  "error",
54363
54394
  "unavailable"
54364
54395
  ]);
54396
+ /**
54397
+ * The appliance's own operation state, uncollapsed. `state` above is the coarse
54398
+ * view for compact surfaces; this is what the appliance said.
54399
+ */
54400
+ var DishwasherOperationStateSchema = _enum([
54401
+ "Inactive",
54402
+ "Ready",
54403
+ "DelayedStart",
54404
+ "Run",
54405
+ "Pause",
54406
+ "ActionRequired",
54407
+ "Finished",
54408
+ "Error",
54409
+ "Aborting"
54410
+ ]);
54411
+ /**
54412
+ * Why fields may be `null`:
54413
+ * - `available` — the link is up and the description is loaded;
54414
+ * - `offline` — the local link is down (values are unknown, not last-known);
54415
+ * - `description-missing` — the link is up but the appliance's description could not
54416
+ * be loaded, so its values cannot be decoded.
54417
+ */
54418
+ var DishwasherAvailabilitySchema = _enum([
54419
+ "available",
54420
+ "offline",
54421
+ "description-missing"
54422
+ ]);
54365
54423
  var DishwasherConsumableLevelSchema = _enum([
54366
54424
  "ok",
54367
54425
  "low",
54368
54426
  "empty"
54369
54427
  ]);
54370
54428
  object({
54429
+ availability: DishwasherAvailabilitySchema,
54430
+ /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
54371
54431
  state: DishwasherStateSchema,
54372
- /** Active program id/name, or null when none selected / unknown. */
54432
+ /** The appliance's operation state as reported; null when not known. */
54433
+ operationState: DishwasherOperationStateSchema.nullable(),
54434
+ /** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
54373
54435
  program: string().nullable(),
54374
- /** Program tokens the hardware accepts — drives the UI selector. */
54436
+ /** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
54437
+ selectedProgram: string().nullable(),
54438
+ /** Feature keys of the programs the appliance currently offers — drives the UI selector. */
54375
54439
  availablePrograms: array(string()),
54376
- /** Minutes remaining on the active cycle, or null when not running. */
54377
- remainingMinutes: number().int().nonnegative().nullable(),
54440
+ /** Seconds remaining on the active cycle, or null when not running / not known. */
54441
+ remainingSeconds: number().int().nonnegative().nullable(),
54442
+ /** Seconds the delayed start is set to (time until the cycle starts), or null. */
54443
+ delayedStartSeconds: number().int().nonnegative().nullable(),
54378
54444
  /** Cycle completion 0..100, or null when not applicable. */
54379
54445
  progressPercent: number().min(0).max(100).nullable(),
54380
- /** True when the door is reported open. */
54381
- doorOpen: boolean(),
54382
- /** True when remote start is allowed (door closed, power on, etc.). */
54383
- remoteStartAllowed: boolean(),
54384
- /** Main power / switched-on state. */
54385
- powerOn: boolean(),
54446
+ /** True when the door is reported open; null when the door state is not known. */
54447
+ doorOpen: boolean().nullable(),
54448
+ /** True when the door is latched (locked) during a cycle; null when not reported. */
54449
+ doorLocked: boolean().nullable(),
54450
+ /** True when remote start is allowed (door closed, power on, etc.); null when not known. */
54451
+ remoteStartAllowed: boolean().nullable(),
54452
+ /** True when the appliance accepts remote control now; null when not known. */
54453
+ remoteControlActive: boolean().nullable(),
54454
+ /** True while somebody operates the appliance at its panel; null when not reported. */
54455
+ localControlActive: boolean().nullable(),
54456
+ /** Main power / switched-on state; null when not known. */
54457
+ powerOn: boolean().nullable(),
54458
+ /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
54459
+ powerState: string().nullable(),
54386
54460
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
54387
54461
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
54388
- halfLoad: boolean(),
54389
- hygienePlus: boolean(),
54462
+ /** Option states: null when the appliance does not expose the option or has not said. */
54463
+ halfLoad: boolean().nullable(),
54464
+ hygienePlus: boolean().nullable(),
54465
+ /** Extra dry option when the appliance exposes it. */
54466
+ extraDry: boolean().nullable(),
54467
+ /** Intensive zone (lower basket) when the appliance exposes it. */
54468
+ intensiveZone: boolean().nullable(),
54469
+ /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
54470
+ varioSpeedPlus: boolean().nullable(),
54471
+ /** Child lock (controls disabled on the appliance); null when not known. */
54472
+ childLock: boolean().nullable(),
54473
+ /** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
54474
+ activeEvents: array(string()),
54475
+ /** Numeric error code when the appliance reports one; null otherwise. */
54390
54476
  errorCode: number().nullable(),
54477
+ /** Name of the raised alert-level event while the appliance is in error; null otherwise. */
54391
54478
  errorLabel: string().nullable(),
54479
+ /** Ms epoch of the last value received from the appliance; 0 = never. */
54392
54480
  lastFetchedAt: number()
54393
54481
  });
54394
- DeviceType.Dishwasher, method(object({ deviceId: number().int().nonnegative() }), _void(), {
54482
+ var DeviceIdSchema = number().int().nonnegative();
54483
+ /** A value a program option or setting can take. */
54484
+ var DishwasherValueSchema = union([
54485
+ boolean(),
54486
+ string(),
54487
+ number()
54488
+ ]);
54489
+ var DishwasherAccessSchema = _enum([
54490
+ "none",
54491
+ "read",
54492
+ "readWrite",
54493
+ "writeOnly",
54494
+ "readStatic"
54495
+ ]);
54496
+ /**
54497
+ * One option or setting the appliance declares, with the constraints its description
54498
+ * gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
54499
+ */
54500
+ var DishwasherOptionDescriptorSchema = object({
54501
+ /** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
54502
+ key: string(),
54503
+ /** Last segment of the key, for display. */
54504
+ name: string(),
54505
+ type: _enum([
54506
+ "boolean",
54507
+ "number",
54508
+ "enum",
54509
+ "string"
54510
+ ]),
54511
+ access: DishwasherAccessSchema,
54512
+ /** The appliance reports this entity as currently available. */
54513
+ available: boolean(),
54514
+ /** Unit the description declares for a number; null when it declares none. */
54515
+ unit: string().nullable(),
54516
+ min: number().nullable(),
54517
+ max: number().nullable(),
54518
+ step: number().nullable(),
54519
+ /** Allowed members of an enum; null for other types. */
54520
+ enumValues: array(string()).nullable(),
54521
+ defaultValue: DishwasherValueSchema.nullable()
54522
+ });
54523
+ var DishwasherProgramSchema = object({
54524
+ /** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
54525
+ key: string(),
54526
+ name: string(),
54527
+ /** The appliance currently offers this program. */
54528
+ available: boolean(),
54529
+ /** The options this program lists, with the program-level access / availability / default. */
54530
+ options: array(DishwasherOptionDescriptorSchema)
54531
+ });
54532
+ var DishwasherOptionsSchema = object({
54533
+ availability: DishwasherAvailabilitySchema,
54534
+ /** What the appliance can be told to do, from the commands its description declares. */
54535
+ supportsStart: boolean(),
54536
+ supportsPause: boolean(),
54537
+ supportsResume: boolean(),
54538
+ supportsStop: boolean(),
54539
+ supportsPower: boolean(),
54540
+ /** Every program the description lists, with its options. */
54541
+ programs: array(DishwasherProgramSchema),
54542
+ /** Every option and setting entity the description lists (programs reference these by key). */
54543
+ options: array(DishwasherOptionDescriptorSchema)
54544
+ });
54545
+ DeviceType.Dishwasher, method(object({
54546
+ deviceId: DeviceIdSchema,
54547
+ program: string().min(1).optional(),
54548
+ options: record(string(), DishwasherValueSchema).optional()
54549
+ }), _void(), {
54395
54550
  kind: "mutation",
54396
54551
  auth: "protected"
54397
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54552
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54398
54553
  kind: "mutation",
54399
54554
  auth: "protected"
54400
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54555
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54556
+ kind: "mutation",
54557
+ auth: "protected"
54558
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54401
54559
  kind: "mutation",
54402
54560
  auth: "protected"
54403
54561
  }), method(object({
54404
- deviceId: number().int().nonnegative(),
54562
+ deviceId: DeviceIdSchema,
54405
54563
  program: string().min(1)
54406
54564
  }), _void(), {
54407
54565
  kind: "mutation",
54408
54566
  auth: "protected"
54409
54567
  }), method(object({
54410
- deviceId: number().int().nonnegative(),
54568
+ deviceId: DeviceIdSchema,
54411
54569
  on: boolean()
54412
54570
  }), _void(), {
54413
54571
  kind: "mutation",
54414
54572
  auth: "protected"
54415
54573
  }), method(object({
54416
- deviceId: number().int().nonnegative(),
54574
+ deviceId: DeviceIdSchema,
54417
54575
  on: boolean()
54418
54576
  }), _void(), {
54419
54577
  kind: "mutation",
54420
54578
  auth: "protected"
54421
54579
  }), method(object({
54422
- deviceId: number().int().nonnegative(),
54580
+ deviceId: DeviceIdSchema,
54423
54581
  on: boolean()
54424
54582
  }), _void(), {
54425
54583
  kind: "mutation",
54426
54584
  auth: "protected"
54427
54585
  }), method(object({
54428
- deviceId: number().int().nonnegative(),
54586
+ deviceId: DeviceIdSchema,
54587
+ on: boolean()
54588
+ }), _void(), {
54589
+ kind: "mutation",
54590
+ auth: "protected"
54591
+ }), method(object({
54592
+ deviceId: DeviceIdSchema,
54593
+ on: boolean()
54594
+ }), _void(), {
54595
+ kind: "mutation",
54596
+ auth: "protected"
54597
+ }), method(object({
54598
+ deviceId: DeviceIdSchema,
54599
+ on: boolean()
54600
+ }), _void(), {
54601
+ kind: "mutation",
54602
+ auth: "protected"
54603
+ }), method(object({
54604
+ deviceId: DeviceIdSchema,
54605
+ on: boolean()
54606
+ }), _void(), {
54607
+ kind: "mutation",
54608
+ auth: "protected"
54609
+ }), method(object({
54610
+ deviceId: DeviceIdSchema,
54429
54611
  key: string().min(1),
54430
- value: union([
54431
- boolean(),
54432
- string(),
54433
- number()
54434
- ])
54612
+ value: DishwasherValueSchema
54435
54613
  }), _void(), {
54436
54614
  kind: "mutation",
54437
54615
  auth: "protected"
54438
- });
54616
+ }), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
54439
54617
  object({
54440
54618
  /** Ms epoch of the last press. null = never observed since this provider started. */
54441
54619
  lastPressedAt: number().nullable(),
@@ -64595,6 +64773,12 @@ Object.freeze({
64595
64773
  addonId: null,
64596
64774
  access: "view"
64597
64775
  },
64776
+ "dishwasher.getOptions": {
64777
+ capName: "dishwasher",
64778
+ capScope: "device",
64779
+ addonId: null,
64780
+ access: "view"
64781
+ },
64598
64782
  "dishwasher.getStatus": {
64599
64783
  capName: "dishwasher",
64600
64784
  capScope: "device",
@@ -64607,6 +64791,24 @@ Object.freeze({
64607
64791
  addonId: null,
64608
64792
  access: "create"
64609
64793
  },
64794
+ "dishwasher.resume": {
64795
+ capName: "dishwasher",
64796
+ capScope: "device",
64797
+ addonId: null,
64798
+ access: "create"
64799
+ },
64800
+ "dishwasher.setChildLock": {
64801
+ capName: "dishwasher",
64802
+ capScope: "device",
64803
+ addonId: null,
64804
+ access: "create"
64805
+ },
64806
+ "dishwasher.setExtraDry": {
64807
+ capName: "dishwasher",
64808
+ capScope: "device",
64809
+ addonId: null,
64810
+ access: "create"
64811
+ },
64610
64812
  "dishwasher.setHalfLoad": {
64611
64813
  capName: "dishwasher",
64612
64814
  capScope: "device",
@@ -64619,6 +64821,12 @@ Object.freeze({
64619
64821
  addonId: null,
64620
64822
  access: "create"
64621
64823
  },
64824
+ "dishwasher.setIntensiveZone": {
64825
+ capName: "dishwasher",
64826
+ capScope: "device",
64827
+ addonId: null,
64828
+ access: "create"
64829
+ },
64622
64830
  "dishwasher.setOption": {
64623
64831
  capName: "dishwasher",
64624
64832
  capScope: "device",
@@ -64637,6 +64845,12 @@ Object.freeze({
64637
64845
  addonId: null,
64638
64846
  access: "create"
64639
64847
  },
64848
+ "dishwasher.setVarioSpeedPlus": {
64849
+ capName: "dishwasher",
64850
+ capScope: "device",
64851
+ addonId: null,
64852
+ access: "create"
64853
+ },
64640
64854
  "dishwasher.start": {
64641
64855
  capName: "dishwasher",
64642
64856
  capScope: "device",
@@ -69083,6 +69297,12 @@ Object.freeze({
69083
69297
  addonId: null,
69084
69298
  access: "view"
69085
69299
  },
69300
+ "storageMigration.moverClearance": {
69301
+ capName: "storage-migration",
69302
+ capScope: "system",
69303
+ addonId: null,
69304
+ access: "view"
69305
+ },
69086
69306
  "storageMigration.movers": {
69087
69307
  capName: "storage-migration",
69088
69308
  capScope: "system",
@@ -71276,6 +71496,11 @@ Object.freeze({
71276
71496
  form: "single",
71277
71497
  optional: false
71278
71498
  }],
71499
+ "dishwasher.getOptions": [{
71500
+ name: "deviceId",
71501
+ form: "single",
71502
+ optional: false
71503
+ }],
71279
71504
  "dishwasher.getStatus": [{
71280
71505
  name: "deviceId",
71281
71506
  form: "single",
@@ -71286,6 +71511,21 @@ Object.freeze({
71286
71511
  form: "single",
71287
71512
  optional: false
71288
71513
  }],
71514
+ "dishwasher.resume": [{
71515
+ name: "deviceId",
71516
+ form: "single",
71517
+ optional: false
71518
+ }],
71519
+ "dishwasher.setChildLock": [{
71520
+ name: "deviceId",
71521
+ form: "single",
71522
+ optional: false
71523
+ }],
71524
+ "dishwasher.setExtraDry": [{
71525
+ name: "deviceId",
71526
+ form: "single",
71527
+ optional: false
71528
+ }],
71289
71529
  "dishwasher.setHalfLoad": [{
71290
71530
  name: "deviceId",
71291
71531
  form: "single",
@@ -71296,6 +71536,11 @@ Object.freeze({
71296
71536
  form: "single",
71297
71537
  optional: false
71298
71538
  }],
71539
+ "dishwasher.setIntensiveZone": [{
71540
+ name: "deviceId",
71541
+ form: "single",
71542
+ optional: false
71543
+ }],
71299
71544
  "dishwasher.setOption": [{
71300
71545
  name: "deviceId",
71301
71546
  form: "single",
@@ -71311,6 +71556,11 @@ Object.freeze({
71311
71556
  form: "single",
71312
71557
  optional: false
71313
71558
  }],
71559
+ "dishwasher.setVarioSpeedPlus": [{
71560
+ name: "deviceId",
71561
+ form: "single",
71562
+ optional: false
71563
+ }],
71314
71564
  "dishwasher.start": [{
71315
71565
  name: "deviceId",
71316
71566
  form: "single",
@@ -73352,6 +73602,9 @@ new Map(Object.entries({
73352
73602
  "wrapper-update-available": "system",
73353
73603
  "backup-completed": "system",
73354
73604
  "export-completed": "system",
73605
+ "alert-critical": "system",
73606
+ "alert-error": "system",
73607
+ "alert-critical-resolved": "system",
73355
73608
  "storage-location-low": "system",
73356
73609
  "storage-location-critical": "system",
73357
73610
  "storage-location-ok": "system",
@@ -73476,6 +73729,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
73476
73729
  "storage-location-ok"
73477
73730
  ]
73478
73731
  },
73732
+ {
73733
+ id: "alerts",
73734
+ family: "system",
73735
+ label: "Alerts",
73736
+ kinds: [
73737
+ "alert-critical",
73738
+ "alert-error",
73739
+ "alert-critical-resolved"
73740
+ ]
73741
+ },
73479
73742
  {
73480
73743
  id: "alarm",
73481
73744
  family: "alarm",
@@ -73520,6 +73783,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
73520
73783
  return [[descriptor.kind, field]];
73521
73784
  })));
73522
73785
  Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
73786
+ object({
73787
+ phase: _enum(["raised", "resolved"]),
73788
+ episodeId: string().min(1),
73789
+ alertId: string().min(1),
73790
+ severity: AlertSeveritySchema,
73791
+ category: string(),
73792
+ title: string(),
73793
+ message: string(),
73794
+ sourceType: string().optional(),
73795
+ sourceId: string().optional(),
73796
+ nodeId: string().optional(),
73797
+ /** The alert's own action link (where the operator acts on it), when it has one. */
73798
+ actionUrl: string().optional(),
73799
+ at: number()
73800
+ });
73523
73801
  var RULE_BODY_ONLY = ["body"];
73524
73802
  var RULE_TEXT = ["title", "body"];
73525
73803
  var BATTERY = ["device-battery-low", "device-battery-normal"];
@@ -73529,6 +73807,11 @@ var TANK = [
73529
73807
  "device-tank-full",
73530
73808
  "device-tank-normal"
73531
73809
  ];
73810
+ var ALERT_EPISODE = [
73811
+ "alert-critical",
73812
+ "alert-error",
73813
+ "alert-critical-resolved"
73814
+ ];
73532
73815
  var UPDATES = [
73533
73816
  "addon-update-available",
73534
73817
  "server-update-available",
@@ -73721,14 +74004,14 @@ var STATE_SUMMARY_VARS = [
73721
74004
  ([...RULE_TEXT], [...CONSUMABLE]),
73722
74005
  ([...RULE_TEXT], [...TANK]),
73723
74006
  [...RULE_TEXT],
73724
- ([...RULE_TEXT], [...UPDATES]),
73725
- ([...RULE_TEXT], [...UPDATES]),
73726
- [...RULE_TEXT],
74007
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74008
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
73727
74009
  [...RULE_TEXT],
73728
74010
  [...RULE_TEXT],
73729
74011
  [...RULE_TEXT],
73730
74012
  [...RULE_TEXT],
73731
74013
  [...RULE_TEXT],
74014
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
73732
74015
  [...RULE_TEXT],
73733
74016
  [...RULE_TEXT],
73734
74017
  [...RULE_TEXT],
@@ -73746,7 +74029,11 @@ var STATE_SUMMARY_VARS = [
73746
74029
  [...RULE_TEXT],
73747
74030
  [...RULE_TEXT],
73748
74031
  [...RULE_TEXT],
73749
- [...RULE_TEXT],
74032
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74033
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74034
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74035
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74036
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
73750
74037
  [...RULE_TEXT],
73751
74038
  [...RULE_TEXT],
73752
74039
  [...RULE_TEXT],