@camstack/addon-auth 1.2.149 → 1.2.151

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- //#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";
@@ -5537,7 +5546,7 @@ var ZodIssueCode = {
5537
5546
  var ZodFirstPartyTypeKind;
5538
5547
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5539
5548
  //#endregion
5540
- //#region ../types/dist/sleep-bZIhUvjd.mjs
5549
+ //#region ../types/dist/sleep-BxjU_fJM.mjs
5541
5550
  /**
5542
5551
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5543
5552
  * window to float samples (D455).
@@ -8737,7 +8746,7 @@ object({
8737
8746
  params: record(string(), union([string(), number()])).optional()
8738
8747
  });
8739
8748
  //#endregion
8740
- //#region ../types/dist/err-msg--2RrYiLO.mjs
8749
+ //#region ../types/dist/err-msg-BXKzRBwg.mjs
8741
8750
  var DeviceType = /* @__PURE__ */ function(DeviceType) {
8742
8751
  DeviceType["Camera"] = "camera";
8743
8752
  DeviceType["Hub"] = "hub";
@@ -8829,6 +8838,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
8829
8838
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
8830
8839
  * integrations sharing the same food/desiccant/hopper surface. */
8831
8840
  DeviceType["PetFeeder"] = "pet-feeder";
8841
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
8842
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
8843
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
8844
+ DeviceType["Dishwasher"] = "dishwasher";
8832
8845
  return DeviceType;
8833
8846
  }({});
8834
8847
  var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
@@ -9086,7 +9099,7 @@ function errMsg(err) {
9086
9099
  return String(err);
9087
9100
  }
9088
9101
  //#endregion
9089
- //#region ../types/dist/composition-DOwQB_Ua.mjs
9102
+ //#region ../types/dist/composition-CB6PMT9p.mjs
9090
9103
  /**
9091
9104
  * The ffmpeg build every CamStack node downloads, per platform and arch.
9092
9105
  *
@@ -13835,8 +13848,20 @@ var AlertSeveritySchema = _enum([
13835
13848
  "info",
13836
13849
  "success",
13837
13850
  "warning",
13838
- "error"
13851
+ "error",
13852
+ "critical"
13839
13853
  ]);
13854
+ var AlertActionSchema = object({
13855
+ label: string(),
13856
+ href: string().optional(),
13857
+ /**
13858
+ * How `href` is followed. Absent / `app`: an admin-ui route (client-side).
13859
+ * `server`: a route the HUB serves (an addon HTTP route such as an OAuth
13860
+ * start) — the browser must leave the SPA with a full navigation, because
13861
+ * the SPA has no such route and would bounce to the home page.
13862
+ */
13863
+ navigation: _enum(["app", "server"]).optional()
13864
+ });
13840
13865
  var AlertStatusSchema = _enum([
13841
13866
  "active",
13842
13867
  "in-progress",
@@ -13854,6 +13879,7 @@ var AlertSchema = object({
13854
13879
  severity: AlertSeveritySchema,
13855
13880
  title: string(),
13856
13881
  message: string(),
13882
+ action: AlertActionSchema.optional(),
13857
13883
  status: AlertStatusSchema,
13858
13884
  progress: number().optional(),
13859
13885
  read: boolean(),
@@ -18011,7 +18037,11 @@ DeviceType.Hub, DeviceDiscoveryStatusSchema.extend({ lastFetchedAt: number().int
18011
18037
  });
18012
18038
  /**
18013
18039
  * `device-adoption` — generic discovery + adoption surface,
18014
- * system-scoped singleton. The de-HA-ified successor to `ha-discovery`:
18040
+ * system-scoped collection (one provider per integration addon), routed
18041
+ * by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
18042
+ * pin model as `connection-test`. The admin UI keeps using
18043
+ * `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
18044
+ * successor to `ha-discovery`:
18015
18045
  * keyed by `integrationId` (the addon resolves integrationId → broker
18016
18046
  * internally) rather than a connection-specific `brokerId`, and it
18017
18047
  * REUSES the shared `DiscoveredChildDevice` candidate type from
@@ -42245,6 +42275,9 @@ var NcSystemEventKindSchema = _enum([
42245
42275
  "server-updated",
42246
42276
  "export-completed",
42247
42277
  "backup-completed",
42278
+ "alert-critical",
42279
+ "alert-error",
42280
+ "alert-critical-resolved",
42248
42281
  "camera-online",
42249
42282
  "camera-offline",
42250
42283
  "camera-disabled",
@@ -51293,7 +51326,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
51293
51326
  }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
51294
51327
  kind: "mutation",
51295
51328
  auth: "admin"
51296
- }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
51329
+ }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
51330
+ clear: boolean(),
51331
+ repointLocationId: string().optional()
51332
+ }), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
51297
51333
  kind: "mutation",
51298
51334
  auth: "admin"
51299
51335
  }), method(StorageCleanupInputSchema, object({ jobId: string() }), {
@@ -53878,7 +53914,7 @@ var BatteryStatusSchema = object({
53878
53914
  */
53879
53915
  binary: boolean().optional()
53880
53916
  });
53881
- DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, method(object({
53917
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, method(object({
53882
53918
  deviceId: number(),
53883
53919
  /** Bound on the wait. Sensible range 3000–10000ms. */
53884
53920
  timeoutMs: number().int().min(500).max(3e4).default(8e3)
@@ -54754,6 +54790,250 @@ object({
54754
54790
  deviceId: number(),
54755
54791
  status: DeviceStatusSchema
54756
54792
  });
54793
+ /**
54794
+ * Smart-dishwasher cap — program lifecycle, door / remote-start gates,
54795
+ * consumable levels (salt, rinse aid) and common program options.
54796
+ *
54797
+ * Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
54798
+ * by any integration that exposes the same program / option surface.
54799
+ *
54800
+ * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
54801
+ * provider refreshes the slice on an interval and eagerly after commands.
54802
+ *
54803
+ * UNKNOWN IS NOT OFF. Every field the appliance reports separately is
54804
+ * nullable: `null` means "not known right now" (the appliance has not said,
54805
+ * the link is down, or the description does not carry it) and is never
54806
+ * rendered or exported as `false` / `0`. `availability` says why.
54807
+ */
54808
+ var DishwasherStateSchema = _enum([
54809
+ "idle",
54810
+ "running",
54811
+ "paused",
54812
+ "finished",
54813
+ "error",
54814
+ "unavailable"
54815
+ ]);
54816
+ /**
54817
+ * The appliance's own operation state, uncollapsed. `state` above is the coarse
54818
+ * view for compact surfaces; this is what the appliance said.
54819
+ */
54820
+ var DishwasherOperationStateSchema = _enum([
54821
+ "Inactive",
54822
+ "Ready",
54823
+ "DelayedStart",
54824
+ "Run",
54825
+ "Pause",
54826
+ "ActionRequired",
54827
+ "Finished",
54828
+ "Error",
54829
+ "Aborting"
54830
+ ]);
54831
+ /**
54832
+ * Why fields may be `null`:
54833
+ * - `available` — the link is up and the description is loaded;
54834
+ * - `offline` — the local link is down (values are unknown, not last-known);
54835
+ * - `description-missing` — the link is up but the appliance's description could not
54836
+ * be loaded, so its values cannot be decoded.
54837
+ */
54838
+ var DishwasherAvailabilitySchema = _enum([
54839
+ "available",
54840
+ "offline",
54841
+ "description-missing"
54842
+ ]);
54843
+ var DishwasherConsumableLevelSchema = _enum([
54844
+ "ok",
54845
+ "low",
54846
+ "empty"
54847
+ ]);
54848
+ object({
54849
+ availability: DishwasherAvailabilitySchema,
54850
+ /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
54851
+ state: DishwasherStateSchema,
54852
+ /** The appliance's operation state as reported; null when not known. */
54853
+ operationState: DishwasherOperationStateSchema.nullable(),
54854
+ /** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
54855
+ program: string().nullable(),
54856
+ /** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
54857
+ selectedProgram: string().nullable(),
54858
+ /** Feature keys of the programs the appliance currently offers — drives the UI selector. */
54859
+ availablePrograms: array(string()),
54860
+ /** Seconds remaining on the active cycle, or null when not running / not known. */
54861
+ remainingSeconds: number().int().nonnegative().nullable(),
54862
+ /** Seconds the delayed start is set to (time until the cycle starts), or null. */
54863
+ delayedStartSeconds: number().int().nonnegative().nullable(),
54864
+ /** Cycle completion 0..100, or null when not applicable. */
54865
+ progressPercent: number().min(0).max(100).nullable(),
54866
+ /** True when the door is reported open; null when the door state is not known. */
54867
+ doorOpen: boolean().nullable(),
54868
+ /** True when the door is latched (locked) during a cycle; null when not reported. */
54869
+ doorLocked: boolean().nullable(),
54870
+ /** True when remote start is allowed (door closed, power on, etc.); null when not known. */
54871
+ remoteStartAllowed: boolean().nullable(),
54872
+ /** True when the appliance accepts remote control now; null when not known. */
54873
+ remoteControlActive: boolean().nullable(),
54874
+ /** True while somebody operates the appliance at its panel; null when not reported. */
54875
+ localControlActive: boolean().nullable(),
54876
+ /** Main power / switched-on state; null when not known. */
54877
+ powerOn: boolean().nullable(),
54878
+ /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
54879
+ powerState: string().nullable(),
54880
+ saltLevel: DishwasherConsumableLevelSchema.nullable(),
54881
+ rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
54882
+ /** Option states: null when the appliance does not expose the option or has not said. */
54883
+ halfLoad: boolean().nullable(),
54884
+ hygienePlus: boolean().nullable(),
54885
+ /** Extra dry option when the appliance exposes it. */
54886
+ extraDry: boolean().nullable(),
54887
+ /** Intensive zone (lower basket) when the appliance exposes it. */
54888
+ intensiveZone: boolean().nullable(),
54889
+ /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
54890
+ varioSpeedPlus: boolean().nullable(),
54891
+ /** Child lock (controls disabled on the appliance); null when not known. */
54892
+ childLock: boolean().nullable(),
54893
+ /** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
54894
+ activeEvents: array(string()),
54895
+ /** Numeric error code when the appliance reports one; null otherwise. */
54896
+ errorCode: number().nullable(),
54897
+ /** Name of the raised alert-level event while the appliance is in error; null otherwise. */
54898
+ errorLabel: string().nullable(),
54899
+ /** Ms epoch of the last value received from the appliance; 0 = never. */
54900
+ lastFetchedAt: number()
54901
+ });
54902
+ var DeviceIdSchema = number().int().nonnegative();
54903
+ /** A value a program option or setting can take. */
54904
+ var DishwasherValueSchema = union([
54905
+ boolean(),
54906
+ string(),
54907
+ number()
54908
+ ]);
54909
+ var DishwasherAccessSchema = _enum([
54910
+ "none",
54911
+ "read",
54912
+ "readWrite",
54913
+ "writeOnly",
54914
+ "readStatic"
54915
+ ]);
54916
+ /**
54917
+ * One option or setting the appliance declares, with the constraints its description
54918
+ * gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
54919
+ */
54920
+ var DishwasherOptionDescriptorSchema = object({
54921
+ /** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
54922
+ key: string(),
54923
+ /** Last segment of the key, for display. */
54924
+ name: string(),
54925
+ type: _enum([
54926
+ "boolean",
54927
+ "number",
54928
+ "enum",
54929
+ "string"
54930
+ ]),
54931
+ access: DishwasherAccessSchema,
54932
+ /** The appliance reports this entity as currently available. */
54933
+ available: boolean(),
54934
+ /** Unit the description declares for a number; null when it declares none. */
54935
+ unit: string().nullable(),
54936
+ min: number().nullable(),
54937
+ max: number().nullable(),
54938
+ step: number().nullable(),
54939
+ /** Allowed members of an enum; null for other types. */
54940
+ enumValues: array(string()).nullable(),
54941
+ defaultValue: DishwasherValueSchema.nullable()
54942
+ });
54943
+ var DishwasherProgramSchema = object({
54944
+ /** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
54945
+ key: string(),
54946
+ name: string(),
54947
+ /** The appliance currently offers this program. */
54948
+ available: boolean(),
54949
+ /** The options this program lists, with the program-level access / availability / default. */
54950
+ options: array(DishwasherOptionDescriptorSchema)
54951
+ });
54952
+ var DishwasherOptionsSchema = object({
54953
+ availability: DishwasherAvailabilitySchema,
54954
+ /** What the appliance can be told to do, from the commands its description declares. */
54955
+ supportsStart: boolean(),
54956
+ supportsPause: boolean(),
54957
+ supportsResume: boolean(),
54958
+ supportsStop: boolean(),
54959
+ supportsPower: boolean(),
54960
+ /** Every program the description lists, with its options. */
54961
+ programs: array(DishwasherProgramSchema),
54962
+ /** Every option and setting entity the description lists (programs reference these by key). */
54963
+ options: array(DishwasherOptionDescriptorSchema)
54964
+ });
54965
+ DeviceType.Dishwasher, method(object({
54966
+ deviceId: DeviceIdSchema,
54967
+ program: string().min(1).optional(),
54968
+ options: record(string(), DishwasherValueSchema).optional()
54969
+ }), _void(), {
54970
+ kind: "mutation",
54971
+ auth: "protected"
54972
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54973
+ kind: "mutation",
54974
+ auth: "protected"
54975
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54976
+ kind: "mutation",
54977
+ auth: "protected"
54978
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54979
+ kind: "mutation",
54980
+ auth: "protected"
54981
+ }), method(object({
54982
+ deviceId: DeviceIdSchema,
54983
+ program: string().min(1)
54984
+ }), _void(), {
54985
+ kind: "mutation",
54986
+ auth: "protected"
54987
+ }), method(object({
54988
+ deviceId: DeviceIdSchema,
54989
+ on: boolean()
54990
+ }), _void(), {
54991
+ kind: "mutation",
54992
+ auth: "protected"
54993
+ }), method(object({
54994
+ deviceId: DeviceIdSchema,
54995
+ on: boolean()
54996
+ }), _void(), {
54997
+ kind: "mutation",
54998
+ auth: "protected"
54999
+ }), method(object({
55000
+ deviceId: DeviceIdSchema,
55001
+ on: boolean()
55002
+ }), _void(), {
55003
+ kind: "mutation",
55004
+ auth: "protected"
55005
+ }), method(object({
55006
+ deviceId: DeviceIdSchema,
55007
+ on: boolean()
55008
+ }), _void(), {
55009
+ kind: "mutation",
55010
+ auth: "protected"
55011
+ }), method(object({
55012
+ deviceId: DeviceIdSchema,
55013
+ on: boolean()
55014
+ }), _void(), {
55015
+ kind: "mutation",
55016
+ auth: "protected"
55017
+ }), method(object({
55018
+ deviceId: DeviceIdSchema,
55019
+ on: boolean()
55020
+ }), _void(), {
55021
+ kind: "mutation",
55022
+ auth: "protected"
55023
+ }), method(object({
55024
+ deviceId: DeviceIdSchema,
55025
+ on: boolean()
55026
+ }), _void(), {
55027
+ kind: "mutation",
55028
+ auth: "protected"
55029
+ }), method(object({
55030
+ deviceId: DeviceIdSchema,
55031
+ key: string().min(1),
55032
+ value: DishwasherValueSchema
55033
+ }), _void(), {
55034
+ kind: "mutation",
55035
+ auth: "protected"
55036
+ }), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
54757
55037
  object({
54758
55038
  /** Ms epoch of the last press. null = never observed since this provider started. */
54759
55039
  lastPressedAt: number().nullable(),
@@ -55319,6 +55599,13 @@ object({
55319
55599
  lastChangedAt: number()
55320
55600
  });
55321
55601
  DeviceType.Sensor;
55602
+ object({
55603
+ /** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
55604
+ position: number().min(0).max(100).nullable(),
55605
+ /** Ms epoch when the slice was last updated (push or poll). */
55606
+ lastFetchedAt: number()
55607
+ });
55608
+ DeviceType.Thermostat;
55322
55609
  object({
55323
55610
  /** Whether the humidifier is currently on. */
55324
55611
  on: boolean(),
@@ -62385,7 +62672,7 @@ var AccessoryKind = {
62385
62672
  PrivacyMask: DeviceRole.PrivacyMask
62386
62673
  };
62387
62674
  AccessoryKind.Siren, AccessoryKind.Floodlight, AccessoryKind.Spotlight, AccessoryKind.PirSensor, AccessoryKind.Chime, AccessoryKind.Autotrack, AccessoryKind.Nightvision, AccessoryKind.PrivacyMask;
62388
- DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
62675
+ DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
62389
62676
  new Set(Object.values(DeviceType));
62390
62677
  Object.freeze({
62391
62678
  "accessories.getStatus": {
@@ -64806,6 +65093,96 @@ Object.freeze({
64806
65093
  addonId: null,
64807
65094
  access: "view"
64808
65095
  },
65096
+ "dishwasher.getOptions": {
65097
+ capName: "dishwasher",
65098
+ capScope: "device",
65099
+ addonId: null,
65100
+ access: "view"
65101
+ },
65102
+ "dishwasher.getStatus": {
65103
+ capName: "dishwasher",
65104
+ capScope: "device",
65105
+ addonId: null,
65106
+ access: "view"
65107
+ },
65108
+ "dishwasher.pause": {
65109
+ capName: "dishwasher",
65110
+ capScope: "device",
65111
+ addonId: null,
65112
+ access: "create"
65113
+ },
65114
+ "dishwasher.resume": {
65115
+ capName: "dishwasher",
65116
+ capScope: "device",
65117
+ addonId: null,
65118
+ access: "create"
65119
+ },
65120
+ "dishwasher.setChildLock": {
65121
+ capName: "dishwasher",
65122
+ capScope: "device",
65123
+ addonId: null,
65124
+ access: "create"
65125
+ },
65126
+ "dishwasher.setExtraDry": {
65127
+ capName: "dishwasher",
65128
+ capScope: "device",
65129
+ addonId: null,
65130
+ access: "create"
65131
+ },
65132
+ "dishwasher.setHalfLoad": {
65133
+ capName: "dishwasher",
65134
+ capScope: "device",
65135
+ addonId: null,
65136
+ access: "create"
65137
+ },
65138
+ "dishwasher.setHygienePlus": {
65139
+ capName: "dishwasher",
65140
+ capScope: "device",
65141
+ addonId: null,
65142
+ access: "create"
65143
+ },
65144
+ "dishwasher.setIntensiveZone": {
65145
+ capName: "dishwasher",
65146
+ capScope: "device",
65147
+ addonId: null,
65148
+ access: "create"
65149
+ },
65150
+ "dishwasher.setOption": {
65151
+ capName: "dishwasher",
65152
+ capScope: "device",
65153
+ addonId: null,
65154
+ access: "create"
65155
+ },
65156
+ "dishwasher.setPower": {
65157
+ capName: "dishwasher",
65158
+ capScope: "device",
65159
+ addonId: null,
65160
+ access: "create"
65161
+ },
65162
+ "dishwasher.setProgram": {
65163
+ capName: "dishwasher",
65164
+ capScope: "device",
65165
+ addonId: null,
65166
+ access: "create"
65167
+ },
65168
+ "dishwasher.setVarioSpeedPlus": {
65169
+ capName: "dishwasher",
65170
+ capScope: "device",
65171
+ addonId: null,
65172
+ access: "create"
65173
+ },
65174
+ "dishwasher.start": {
65175
+ capName: "dishwasher",
65176
+ capScope: "device",
65177
+ addonId: null,
65178
+ access: "create"
65179
+ },
65180
+ "dishwasher.stop": {
65181
+ capName: "dishwasher",
65182
+ capScope: "device",
65183
+ addonId: null,
65184
+ access: "create"
65185
+ },
64809
65186
  "doorbell.getStatus": {
64810
65187
  capName: "doorbell",
64811
65188
  capScope: "device",
@@ -65016,6 +65393,12 @@ Object.freeze({
65016
65393
  addonId: null,
65017
65394
  access: "view"
65018
65395
  },
65396
+ "heatingValve.getStatus": {
65397
+ capName: "heating-valve",
65398
+ capScope: "device",
65399
+ addonId: null,
65400
+ access: "view"
65401
+ },
65019
65402
  "humidifier.getStatus": {
65020
65403
  capName: "humidifier",
65021
65404
  capScope: "device",
@@ -69234,6 +69617,12 @@ Object.freeze({
69234
69617
  addonId: null,
69235
69618
  access: "view"
69236
69619
  },
69620
+ "storageMigration.moverClearance": {
69621
+ capName: "storage-migration",
69622
+ capScope: "system",
69623
+ addonId: null,
69624
+ access: "view"
69625
+ },
69237
69626
  "storageMigration.movers": {
69238
69627
  capName: "storage-migration",
69239
69628
  capScope: "system",
@@ -70603,7 +70992,7 @@ Object.freeze({
70603
70992
  access: "create"
70604
70993
  }
70605
70994
  });
70606
- DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
70995
+ DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
70607
70996
  DeviceFeature.BatteryOperated;
70608
70997
  Object.freeze({
70609
70998
  "accessories.getStatus": [{
@@ -71427,6 +71816,81 @@ Object.freeze({
71427
71816
  form: "single",
71428
71817
  optional: false
71429
71818
  }],
71819
+ "dishwasher.getOptions": [{
71820
+ name: "deviceId",
71821
+ form: "single",
71822
+ optional: false
71823
+ }],
71824
+ "dishwasher.getStatus": [{
71825
+ name: "deviceId",
71826
+ form: "single",
71827
+ optional: false
71828
+ }],
71829
+ "dishwasher.pause": [{
71830
+ name: "deviceId",
71831
+ form: "single",
71832
+ optional: false
71833
+ }],
71834
+ "dishwasher.resume": [{
71835
+ name: "deviceId",
71836
+ form: "single",
71837
+ optional: false
71838
+ }],
71839
+ "dishwasher.setChildLock": [{
71840
+ name: "deviceId",
71841
+ form: "single",
71842
+ optional: false
71843
+ }],
71844
+ "dishwasher.setExtraDry": [{
71845
+ name: "deviceId",
71846
+ form: "single",
71847
+ optional: false
71848
+ }],
71849
+ "dishwasher.setHalfLoad": [{
71850
+ name: "deviceId",
71851
+ form: "single",
71852
+ optional: false
71853
+ }],
71854
+ "dishwasher.setHygienePlus": [{
71855
+ name: "deviceId",
71856
+ form: "single",
71857
+ optional: false
71858
+ }],
71859
+ "dishwasher.setIntensiveZone": [{
71860
+ name: "deviceId",
71861
+ form: "single",
71862
+ optional: false
71863
+ }],
71864
+ "dishwasher.setOption": [{
71865
+ name: "deviceId",
71866
+ form: "single",
71867
+ optional: false
71868
+ }],
71869
+ "dishwasher.setPower": [{
71870
+ name: "deviceId",
71871
+ form: "single",
71872
+ optional: false
71873
+ }],
71874
+ "dishwasher.setProgram": [{
71875
+ name: "deviceId",
71876
+ form: "single",
71877
+ optional: false
71878
+ }],
71879
+ "dishwasher.setVarioSpeedPlus": [{
71880
+ name: "deviceId",
71881
+ form: "single",
71882
+ optional: false
71883
+ }],
71884
+ "dishwasher.start": [{
71885
+ name: "deviceId",
71886
+ form: "single",
71887
+ optional: false
71888
+ }],
71889
+ "dishwasher.stop": [{
71890
+ name: "deviceId",
71891
+ form: "single",
71892
+ optional: false
71893
+ }],
71430
71894
  "doorbell.getStatus": [{
71431
71895
  name: "deviceId",
71432
71896
  form: "single",
@@ -71496,6 +71960,11 @@ Object.freeze({
71496
71960
  form: "single",
71497
71961
  optional: false
71498
71962
  }],
71963
+ "heatingValve.getStatus": [{
71964
+ name: "deviceId",
71965
+ form: "single",
71966
+ optional: false
71967
+ }],
71499
71968
  "humidifier.getStatus": [{
71500
71969
  name: "deviceId",
71501
71970
  form: "single",
@@ -73453,6 +73922,9 @@ new Map(Object.entries({
73453
73922
  "wrapper-update-available": "system",
73454
73923
  "backup-completed": "system",
73455
73924
  "export-completed": "system",
73925
+ "alert-critical": "system",
73926
+ "alert-error": "system",
73927
+ "alert-critical-resolved": "system",
73456
73928
  "storage-location-low": "system",
73457
73929
  "storage-location-critical": "system",
73458
73930
  "storage-location-ok": "system",
@@ -73577,6 +74049,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
73577
74049
  "storage-location-ok"
73578
74050
  ]
73579
74051
  },
74052
+ {
74053
+ id: "alerts",
74054
+ family: "system",
74055
+ label: "Alerts",
74056
+ kinds: [
74057
+ "alert-critical",
74058
+ "alert-error",
74059
+ "alert-critical-resolved"
74060
+ ]
74061
+ },
73580
74062
  {
73581
74063
  id: "alarm",
73582
74064
  family: "alarm",
@@ -73621,6 +74103,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
73621
74103
  return [[descriptor.kind, field]];
73622
74104
  })));
73623
74105
  Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
74106
+ object({
74107
+ phase: _enum(["raised", "resolved"]),
74108
+ episodeId: string().min(1),
74109
+ alertId: string().min(1),
74110
+ severity: AlertSeveritySchema,
74111
+ category: string(),
74112
+ title: string(),
74113
+ message: string(),
74114
+ sourceType: string().optional(),
74115
+ sourceId: string().optional(),
74116
+ nodeId: string().optional(),
74117
+ /** The alert's own action link (where the operator acts on it), when it has one. */
74118
+ actionUrl: string().optional(),
74119
+ at: number()
74120
+ });
73624
74121
  var RULE_BODY_ONLY = ["body"];
73625
74122
  var RULE_TEXT = ["title", "body"];
73626
74123
  var BATTERY = ["device-battery-low", "device-battery-normal"];
@@ -73630,6 +74127,11 @@ var TANK = [
73630
74127
  "device-tank-full",
73631
74128
  "device-tank-normal"
73632
74129
  ];
74130
+ var ALERT_EPISODE = [
74131
+ "alert-critical",
74132
+ "alert-error",
74133
+ "alert-critical-resolved"
74134
+ ];
73633
74135
  var UPDATES = [
73634
74136
  "addon-update-available",
73635
74137
  "server-update-available",
@@ -73822,14 +74324,14 @@ var STATE_SUMMARY_VARS = [
73822
74324
  ([...RULE_TEXT], [...CONSUMABLE]),
73823
74325
  ([...RULE_TEXT], [...TANK]),
73824
74326
  [...RULE_TEXT],
73825
- ([...RULE_TEXT], [...UPDATES]),
73826
- ([...RULE_TEXT], [...UPDATES]),
73827
- [...RULE_TEXT],
74327
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74328
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
73828
74329
  [...RULE_TEXT],
73829
74330
  [...RULE_TEXT],
73830
74331
  [...RULE_TEXT],
73831
74332
  [...RULE_TEXT],
73832
74333
  [...RULE_TEXT],
74334
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
73833
74335
  [...RULE_TEXT],
73834
74336
  [...RULE_TEXT],
73835
74337
  [...RULE_TEXT],
@@ -73847,7 +74349,11 @@ var STATE_SUMMARY_VARS = [
73847
74349
  [...RULE_TEXT],
73848
74350
  [...RULE_TEXT],
73849
74351
  [...RULE_TEXT],
73850
- [...RULE_TEXT],
74352
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74353
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74354
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74355
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74356
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
73851
74357
  [...RULE_TEXT],
73852
74358
  [...RULE_TEXT],
73853
74359
  [...RULE_TEXT],