@camstack/types 1.2.381 → 1.2.383

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 (38) hide show
  1. package/dist/addon.js +78 -2
  2. package/dist/addon.mjs +78 -2
  3. package/dist/capabilities/alerts.cap.d.ts +25 -0
  4. package/dist/capabilities/battery.cap.d.ts +1 -1
  5. package/dist/capabilities/caller-stamp.d.ts +4 -3
  6. package/dist/capabilities/dishwasher.cap.d.ts +178 -0
  7. package/dist/capabilities/heating-valve.cap.d.ts +39 -0
  8. package/dist/capabilities/index.d.ts +5 -1
  9. package/dist/client.js +20 -0
  10. package/dist/client.mjs +20 -0
  11. package/dist/{composition-DOwQB_Ua.mjs → composition-CB6PMT9p.mjs} +1 -1
  12. package/dist/{composition-CUAOHZ38.js → composition-eoYYVfOp.js} +1 -1
  13. package/dist/device/base-device-provider.d.ts +4 -2
  14. package/dist/device/device-control-resolution.d.ts +1 -1
  15. package/dist/device/device-type.d.ts +5 -1
  16. package/dist/{err-msg--2RrYiLO.mjs → err-msg-BXKzRBwg.mjs} +4 -0
  17. package/dist/{err-msg-Bb-s4Xuj.js → err-msg-BhVbr0NX.js} +4 -0
  18. package/dist/generated/addon-api.d.ts +315 -230
  19. package/dist/generated/addon-cap-facts.d.ts +1 -1
  20. package/dist/generated/cap-status-types.d.ts +5 -1
  21. package/dist/generated/capability-router-map.d.ts +8 -2
  22. package/dist/generated/device-local-state.d.ts +6 -0
  23. package/dist/generated/device-proxy.d.ts +6 -0
  24. package/dist/generated/device-scoped-caps.d.ts +1 -1
  25. package/dist/generated/history-catalog.d.ts +1 -1
  26. package/dist/generated/method-access-map.d.ts +1 -1
  27. package/dist/generated/method-device-selectors.d.ts +1 -1
  28. package/dist/generated/runtime-state-durability.d.ts +1 -1
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +363 -9
  31. package/dist/index.mjs +357 -10
  32. package/dist/interfaces/config-ui-secrets.d.ts +2 -0
  33. package/dist/interfaces/config-ui.d.ts +10 -0
  34. package/dist/node.js +2 -2
  35. package/dist/node.mjs +2 -2
  36. package/dist/{sleep-D8yJVc4r.js → sleep--L6qY125.js} +53 -4
  37. package/dist/{sleep-bZIhUvjd.mjs → sleep-BOjuyoPC.mjs} +48 -5
  38. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-D8yJVc4r.js");
2
+ const require_sleep = require("./sleep--L6qY125.js");
3
3
  const require_event_category = require("./event-category-Hoe-mqbd.js");
4
- const require_composition = require("./composition-CUAOHZ38.js");
4
+ const require_composition = require("./composition-eoYYVfOp.js");
5
5
  const require_node_color = require("./node-color.js");
6
- const require_err_msg = require("./err-msg-Bb-s4Xuj.js");
6
+ const require_err_msg = require("./err-msg-BhVbr0NX.js");
7
7
  const require_enums = require("./enums.js");
8
8
  let zod = require("zod");
9
9
  //#region src/media/media-owner-key.ts
@@ -8280,8 +8280,13 @@ var AlertSeveritySchema = zod.z.enum([
8280
8280
  "info",
8281
8281
  "success",
8282
8282
  "warning",
8283
- "error"
8283
+ "error",
8284
+ "critical"
8284
8285
  ]);
8286
+ var AlertActionSchema = zod.z.object({
8287
+ label: zod.z.string(),
8288
+ href: zod.z.string().optional()
8289
+ });
8285
8290
  var AlertStatusSchema = zod.z.enum([
8286
8291
  "active",
8287
8292
  "in-progress",
@@ -8299,6 +8304,7 @@ var AlertSchema = zod.z.object({
8299
8304
  severity: AlertSeveritySchema,
8300
8305
  title: zod.z.string(),
8301
8306
  message: zod.z.string(),
8307
+ action: AlertActionSchema.optional(),
8302
8308
  status: AlertStatusSchema,
8303
8309
  progress: zod.z.number().optional(),
8304
8310
  read: zod.z.boolean(),
@@ -59452,7 +59458,8 @@ var batteryCapability = {
59452
59458
  require_err_msg.DeviceType.Button,
59453
59459
  require_err_msg.DeviceType.Switch,
59454
59460
  require_err_msg.DeviceType.PetFeeder,
59455
- require_err_msg.DeviceType.Container
59461
+ require_err_msg.DeviceType.Container,
59462
+ require_err_msg.DeviceType.Thermostat
59456
59463
  ],
59457
59464
  methods: {
59458
59465
  /**
@@ -61201,6 +61208,127 @@ onStatusChanged: { data: zod.z.object({
61201
61208
  volatileStateFields: ["lastChangedAt"]
61202
61209
  };
61203
61210
  //#endregion
61211
+ //#region src/capabilities/dishwasher.cap.ts
61212
+ /**
61213
+ * Smart-dishwasher cap — program lifecycle, door / remote-start gates,
61214
+ * consumable levels (salt, rinse aid) and common program options.
61215
+ *
61216
+ * Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
61217
+ * by any integration that exposes the same program / option surface.
61218
+ *
61219
+ * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
61220
+ * provider refreshes the slice on an interval and eagerly after commands.
61221
+ */
61222
+ var DishwasherStateSchema = zod.z.enum([
61223
+ "idle",
61224
+ "running",
61225
+ "paused",
61226
+ "finished",
61227
+ "error",
61228
+ "unavailable"
61229
+ ]);
61230
+ var DishwasherConsumableLevelSchema = zod.z.enum([
61231
+ "ok",
61232
+ "low",
61233
+ "empty"
61234
+ ]);
61235
+ var DishwasherStatusSchema = zod.z.object({
61236
+ state: DishwasherStateSchema,
61237
+ /** Active program id/name, or null when none selected / unknown. */
61238
+ program: zod.z.string().nullable(),
61239
+ /** Program tokens the hardware accepts — drives the UI selector. */
61240
+ availablePrograms: zod.z.array(zod.z.string()),
61241
+ /** Minutes remaining on the active cycle, or null when not running. */
61242
+ remainingMinutes: zod.z.number().int().nonnegative().nullable(),
61243
+ /** Cycle completion 0..100, or null when not applicable. */
61244
+ progressPercent: zod.z.number().min(0).max(100).nullable(),
61245
+ /** True when the door is reported open. */
61246
+ doorOpen: zod.z.boolean(),
61247
+ /** True when remote start is allowed (door closed, power on, etc.). */
61248
+ remoteStartAllowed: zod.z.boolean(),
61249
+ /** Main power / switched-on state. */
61250
+ powerOn: zod.z.boolean(),
61251
+ saltLevel: DishwasherConsumableLevelSchema.nullable(),
61252
+ rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
61253
+ halfLoad: zod.z.boolean(),
61254
+ hygienePlus: zod.z.boolean(),
61255
+ errorCode: zod.z.number().nullable(),
61256
+ errorLabel: zod.z.string().nullable(),
61257
+ lastFetchedAt: zod.z.number()
61258
+ });
61259
+ var dishwasherCapability = {
61260
+ name: "dishwasher",
61261
+ scope: "device",
61262
+ deviceNative: true,
61263
+ mode: "singleton",
61264
+ deviceTypes: [require_err_msg.DeviceType.Dishwasher],
61265
+ methods: {
61266
+ start: require_sleep.method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.void(), {
61267
+ kind: "mutation",
61268
+ auth: "protected"
61269
+ }),
61270
+ pause: require_sleep.method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.void(), {
61271
+ kind: "mutation",
61272
+ auth: "protected"
61273
+ }),
61274
+ stop: require_sleep.method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.void(), {
61275
+ kind: "mutation",
61276
+ auth: "protected"
61277
+ }),
61278
+ setProgram: require_sleep.method(zod.z.object({
61279
+ deviceId: zod.z.number().int().nonnegative(),
61280
+ program: zod.z.string().min(1)
61281
+ }), zod.z.void(), {
61282
+ kind: "mutation",
61283
+ auth: "protected"
61284
+ }),
61285
+ setPower: require_sleep.method(zod.z.object({
61286
+ deviceId: zod.z.number().int().nonnegative(),
61287
+ on: zod.z.boolean()
61288
+ }), zod.z.void(), {
61289
+ kind: "mutation",
61290
+ auth: "protected"
61291
+ }),
61292
+ setHalfLoad: require_sleep.method(zod.z.object({
61293
+ deviceId: zod.z.number().int().nonnegative(),
61294
+ on: zod.z.boolean()
61295
+ }), zod.z.void(), {
61296
+ kind: "mutation",
61297
+ auth: "protected"
61298
+ }),
61299
+ setHygienePlus: require_sleep.method(zod.z.object({
61300
+ deviceId: zod.z.number().int().nonnegative(),
61301
+ on: zod.z.boolean()
61302
+ }), zod.z.void(), {
61303
+ kind: "mutation",
61304
+ auth: "protected"
61305
+ }),
61306
+ setOption: require_sleep.method(zod.z.object({
61307
+ deviceId: zod.z.number().int().nonnegative(),
61308
+ key: zod.z.string().min(1),
61309
+ value: zod.z.union([
61310
+ zod.z.boolean(),
61311
+ zod.z.string(),
61312
+ zod.z.number()
61313
+ ])
61314
+ }), zod.z.void(), {
61315
+ kind: "mutation",
61316
+ auth: "protected"
61317
+ })
61318
+ },
61319
+ status: {
61320
+ schema: DishwasherStatusSchema,
61321
+ kind: "poll"
61322
+ },
61323
+ runtimeState: DishwasherStatusSchema,
61324
+ durability: "session",
61325
+ history: { fields: { progressPercent: {
61326
+ kind: "gauge",
61327
+ unit: "%",
61328
+ deadband: 2
61329
+ } } }
61330
+ };
61331
+ //#endregion
61204
61332
  //#region src/capabilities/doorbell.cap.ts
61205
61333
  var DoorbellStatusSchema = zod.z.object({
61206
61334
  /** Ms epoch of the last press. null = never observed since this provider started. */
@@ -62058,6 +62186,34 @@ var gasCapability = {
62058
62186
  volatileStateFields: ["lastChangedAt"]
62059
62187
  };
62060
62188
  //#endregion
62189
+ //#region src/capabilities/heating-valve.cap.ts
62190
+ var HeatingValveStatusSchema = zod.z.object({
62191
+ /** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
62192
+ position: zod.z.number().min(0).max(100).nullable(),
62193
+ /** Ms epoch when the slice was last updated (push or poll). */
62194
+ lastFetchedAt: zod.z.number()
62195
+ });
62196
+ var heatingValveCapability = {
62197
+ name: "heating-valve",
62198
+ scope: "device",
62199
+ deviceNative: true,
62200
+ mode: "singleton",
62201
+ deviceTypes: [require_err_msg.DeviceType.Thermostat],
62202
+ methods: {},
62203
+ status: {
62204
+ schema: HeatingValveStatusSchema,
62205
+ kind: "push"
62206
+ },
62207
+ runtimeState: HeatingValveStatusSchema,
62208
+ durability: "session",
62209
+ history: { fields: { position: {
62210
+ kind: "gauge",
62211
+ unit: "%",
62212
+ deadband: 1
62213
+ } } },
62214
+ volatileStateFields: ["lastFetchedAt"]
62215
+ };
62216
+ //#endregion
62061
62217
  //#region src/capabilities/humidifier.cap.ts
62062
62218
  /**
62063
62219
  * Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
@@ -75130,6 +75286,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
75130
75286
  dayNight: dayNightCapability,
75131
75287
  deviceDiscovery: deviceDiscoveryCapability,
75132
75288
  deviceStatus: deviceStatusCapability,
75289
+ dishwasher: dishwasherCapability,
75133
75290
  doorbell: doorbellCapability,
75134
75291
  enumSensor: enumSensorCapability,
75135
75292
  eventEmitter: eventEmitterCapability,
@@ -75137,6 +75294,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
75137
75294
  featureProbe: featureProbeCapability,
75138
75295
  flood: floodCapability,
75139
75296
  gas: gasCapability,
75297
+ heatingValve: heatingValveCapability,
75140
75298
  humidifier: humidifierCapability,
75141
75299
  humiditySensor: humiditySensorCapability,
75142
75300
  image: imageCapability,
@@ -75871,6 +76029,12 @@ var BaseDeviceProvider = class extends require_sleep.BaseAddon {
75871
76029
  provider: this
75872
76030
  }];
75873
76031
  }
76032
+ /** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
76033
+ providerRegistrationsFromSuper(result) {
76034
+ if (Array.isArray(result)) return result;
76035
+ if (result !== void 0 && result.providers !== void 0) return [...result.providers];
76036
+ return [];
76037
+ }
75874
76038
  async onShutdown() {
75875
76039
  this._restoreShuttingDown = true;
75876
76040
  this.cancelRestoreRetries();
@@ -77106,7 +77270,8 @@ var DEVICE_TYPE_CONTROL_KIND = {
77106
77270
  [require_err_msg.DeviceType.LawnMower]: "lawn-mower",
77107
77271
  [require_err_msg.DeviceType.Container]: "dummy",
77108
77272
  [require_err_msg.DeviceType.Image]: "image",
77109
- [require_err_msg.DeviceType.PetFeeder]: "pet-feeder"
77273
+ [require_err_msg.DeviceType.PetFeeder]: "pet-feeder",
77274
+ [require_err_msg.DeviceType.Dishwasher]: "dishwasher"
77110
77275
  };
77111
77276
  var DEVICE_TYPE_VALUES = new Set(Object.values(require_err_msg.DeviceType));
77112
77277
  /**
@@ -79632,6 +79797,60 @@ var METHOD_ACCESS_MAP = Object.freeze({
79632
79797
  addonId: null,
79633
79798
  access: "view"
79634
79799
  },
79800
+ "dishwasher.getStatus": {
79801
+ capName: "dishwasher",
79802
+ capScope: "device",
79803
+ addonId: null,
79804
+ access: "view"
79805
+ },
79806
+ "dishwasher.pause": {
79807
+ capName: "dishwasher",
79808
+ capScope: "device",
79809
+ addonId: null,
79810
+ access: "create"
79811
+ },
79812
+ "dishwasher.setHalfLoad": {
79813
+ capName: "dishwasher",
79814
+ capScope: "device",
79815
+ addonId: null,
79816
+ access: "create"
79817
+ },
79818
+ "dishwasher.setHygienePlus": {
79819
+ capName: "dishwasher",
79820
+ capScope: "device",
79821
+ addonId: null,
79822
+ access: "create"
79823
+ },
79824
+ "dishwasher.setOption": {
79825
+ capName: "dishwasher",
79826
+ capScope: "device",
79827
+ addonId: null,
79828
+ access: "create"
79829
+ },
79830
+ "dishwasher.setPower": {
79831
+ capName: "dishwasher",
79832
+ capScope: "device",
79833
+ addonId: null,
79834
+ access: "create"
79835
+ },
79836
+ "dishwasher.setProgram": {
79837
+ capName: "dishwasher",
79838
+ capScope: "device",
79839
+ addonId: null,
79840
+ access: "create"
79841
+ },
79842
+ "dishwasher.start": {
79843
+ capName: "dishwasher",
79844
+ capScope: "device",
79845
+ addonId: null,
79846
+ access: "create"
79847
+ },
79848
+ "dishwasher.stop": {
79849
+ capName: "dishwasher",
79850
+ capScope: "device",
79851
+ addonId: null,
79852
+ access: "create"
79853
+ },
79635
79854
  "doorbell.getStatus": {
79636
79855
  capName: "doorbell",
79637
79856
  capScope: "device",
@@ -79842,6 +80061,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
79842
80061
  addonId: null,
79843
80062
  access: "view"
79844
80063
  },
80064
+ "heatingValve.getStatus": {
80065
+ capName: "heating-valve",
80066
+ capScope: "device",
80067
+ addonId: null,
80068
+ access: "view"
80069
+ },
79845
80070
  "humidifier.getStatus": {
79846
80071
  capName: "humidifier",
79847
80072
  capScope: "device",
@@ -85492,6 +85717,7 @@ var KNOWN_CAP_NAMES = [
85492
85717
  "device-removal-hook",
85493
85718
  "device-state",
85494
85719
  "device-status",
85720
+ "dishwasher",
85495
85721
  "doorbell",
85496
85722
  "embedding-encoder",
85497
85723
  "enum-sensor",
@@ -85503,6 +85729,7 @@ var KNOWN_CAP_NAMES = [
85503
85729
  "filesystem-browse",
85504
85730
  "flood",
85505
85731
  "gas",
85732
+ "heating-valve",
85506
85733
  "humidifier",
85507
85734
  "humidity-sensor",
85508
85735
  "image",
@@ -85641,6 +85868,7 @@ var DEVICE_CAP_NAMES = [
85641
85868
  "device-extension",
85642
85869
  "device-ops",
85643
85870
  "device-status",
85871
+ "dishwasher",
85644
85872
  "doorbell",
85645
85873
  "enum-sensor",
85646
85874
  "event-emitter",
@@ -85648,6 +85876,7 @@ var DEVICE_CAP_NAMES = [
85648
85876
  "feature-probe",
85649
85877
  "flood",
85650
85878
  "gas",
85879
+ "heating-valve",
85651
85880
  "humidifier",
85652
85881
  "humidity-sensor",
85653
85882
  "image",
@@ -86101,6 +86330,41 @@ var DEVICE_DO_ACTIONS = [
86101
86330
  method: "callPet",
86102
86331
  args: {}
86103
86332
  },
86333
+ {
86334
+ id: "dishwasher.start",
86335
+ label: "Start cycle",
86336
+ cap: "dishwasher",
86337
+ method: "start",
86338
+ args: {}
86339
+ },
86340
+ {
86341
+ id: "dishwasher.pause",
86342
+ label: "Pause",
86343
+ cap: "dishwasher",
86344
+ method: "pause",
86345
+ args: {}
86346
+ },
86347
+ {
86348
+ id: "dishwasher.stop",
86349
+ label: "Stop",
86350
+ cap: "dishwasher",
86351
+ method: "stop",
86352
+ args: {}
86353
+ },
86354
+ {
86355
+ id: "dishwasher.powerOn",
86356
+ label: "Power on",
86357
+ cap: "dishwasher",
86358
+ method: "setPower",
86359
+ args: { on: true }
86360
+ },
86361
+ {
86362
+ id: "dishwasher.powerOff",
86363
+ label: "Power off",
86364
+ cap: "dishwasher",
86365
+ method: "setPower",
86366
+ args: { on: false }
86367
+ },
86104
86368
  {
86105
86369
  id: "ptz.goHome",
86106
86370
  label: "PTZ go home",
@@ -86377,7 +86641,8 @@ var DEVICE_TYPE_DO_CAPS = {
86377
86641
  [require_err_msg.DeviceType.LawnMower]: ["lawn-mower-control"],
86378
86642
  [require_err_msg.DeviceType.Container]: [],
86379
86643
  [require_err_msg.DeviceType.Image]: [],
86380
- [require_err_msg.DeviceType.PetFeeder]: ["pet-feeder"]
86644
+ [require_err_msg.DeviceType.PetFeeder]: ["pet-feeder"],
86645
+ [require_err_msg.DeviceType.Dishwasher]: ["dishwasher"]
86381
86646
  };
86382
86647
  /**
86383
86648
  * Whether a device type belongs in a Do / automation action device picker.
@@ -87657,6 +87922,7 @@ var CAP_NAMES_WITH_STATUS = [
87657
87922
  "device-discovery",
87658
87923
  "device-export",
87659
87924
  "device-status",
87925
+ "dishwasher",
87660
87926
  "doorbell",
87661
87927
  "enum-sensor",
87662
87928
  "event-emitter",
@@ -87664,6 +87930,7 @@ var CAP_NAMES_WITH_STATUS = [
87664
87930
  "feature-probe",
87665
87931
  "flood",
87666
87932
  "gas",
87933
+ "heating-valve",
87667
87934
  "humidifier",
87668
87935
  "humidity-sensor",
87669
87936
  "image",
@@ -87771,6 +88038,7 @@ var CAPABILITY_NAMES = {
87771
88038
  deviceRemovalHook: "device-removal-hook",
87772
88039
  deviceState: "device-state",
87773
88040
  deviceStatus: "device-status",
88041
+ dishwasher: "dishwasher",
87774
88042
  doorbell: "doorbell",
87775
88043
  embeddingEncoder: "embedding-encoder",
87776
88044
  enumSensor: "enum-sensor",
@@ -87782,6 +88050,7 @@ var CAPABILITY_NAMES = {
87782
88050
  filesystemBrowse: "filesystem-browse",
87783
88051
  flood: "flood",
87784
88052
  gas: "gas",
88053
+ heatingValve: "heating-valve",
87785
88054
  humidifier: "humidifier",
87786
88055
  humiditySensor: "humidity-sensor",
87787
88056
  image: "image",
@@ -88134,6 +88403,10 @@ var CAPABILITY_ROUTER_KEYS = [
88134
88403
  key: "deviceStatus",
88135
88404
  name: "device-status"
88136
88405
  },
88406
+ {
88407
+ key: "dishwasher",
88408
+ name: "dishwasher"
88409
+ },
88137
88410
  {
88138
88411
  key: "doorbell",
88139
88412
  name: "doorbell"
@@ -88178,6 +88451,10 @@ var CAPABILITY_ROUTER_KEYS = [
88178
88451
  key: "gas",
88179
88452
  name: "gas"
88180
88453
  },
88454
+ {
88455
+ key: "heatingValve",
88456
+ name: "heating-valve"
88457
+ },
88181
88458
  {
88182
88459
  key: "humidifier",
88183
88460
  name: "humidifier"
@@ -88670,6 +88947,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
88670
88947
  deviceRemovalHookCapability,
88671
88948
  deviceStateCapability,
88672
88949
  deviceStatusCapability,
88950
+ dishwasherCapability,
88673
88951
  doorbellCapability,
88674
88952
  embeddingEncoderCapability,
88675
88953
  enumSensorCapability,
@@ -88681,6 +88959,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
88681
88959
  filesystemBrowseCapability,
88682
88960
  floodCapability,
88683
88961
  gasCapability,
88962
+ heatingValveCapability,
88684
88963
  humidifierCapability,
88685
88964
  humiditySensorCapability,
88686
88965
  imageCapability,
@@ -89611,6 +89890,51 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
89611
89890
  form: "single",
89612
89891
  optional: false
89613
89892
  }],
89893
+ "dishwasher.getStatus": [{
89894
+ name: "deviceId",
89895
+ form: "single",
89896
+ optional: false
89897
+ }],
89898
+ "dishwasher.pause": [{
89899
+ name: "deviceId",
89900
+ form: "single",
89901
+ optional: false
89902
+ }],
89903
+ "dishwasher.setHalfLoad": [{
89904
+ name: "deviceId",
89905
+ form: "single",
89906
+ optional: false
89907
+ }],
89908
+ "dishwasher.setHygienePlus": [{
89909
+ name: "deviceId",
89910
+ form: "single",
89911
+ optional: false
89912
+ }],
89913
+ "dishwasher.setOption": [{
89914
+ name: "deviceId",
89915
+ form: "single",
89916
+ optional: false
89917
+ }],
89918
+ "dishwasher.setPower": [{
89919
+ name: "deviceId",
89920
+ form: "single",
89921
+ optional: false
89922
+ }],
89923
+ "dishwasher.setProgram": [{
89924
+ name: "deviceId",
89925
+ form: "single",
89926
+ optional: false
89927
+ }],
89928
+ "dishwasher.start": [{
89929
+ name: "deviceId",
89930
+ form: "single",
89931
+ optional: false
89932
+ }],
89933
+ "dishwasher.stop": [{
89934
+ name: "deviceId",
89935
+ form: "single",
89936
+ optional: false
89937
+ }],
89614
89938
  "doorbell.getStatus": [{
89615
89939
  name: "deviceId",
89616
89940
  form: "single",
@@ -89680,6 +90004,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
89680
90004
  form: "single",
89681
90005
  optional: false
89682
90006
  }],
90007
+ "heatingValve.getStatus": [{
90008
+ name: "deviceId",
90009
+ form: "single",
90010
+ optional: false
90011
+ }],
89683
90012
  "humidifier.getStatus": [{
89684
90013
  name: "deviceId",
89685
90014
  form: "single",
@@ -91712,7 +92041,7 @@ function getCapsByProviderKind(kind) {
91712
92041
  //#region src/generated/runtime-state-durability.ts
91713
92042
  /**
91714
92043
  * Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
91715
- * `runtimeState`. 69 caps: 37 `restored`, 32 `session`.
92044
+ * `runtimeState`. 71 caps: 37 `restored`, 34 `session`.
91716
92045
  *
91717
92046
  * A cap absent from this map has no runtime-state slice at all. A cap PRESENT
91718
92047
  * with `durability: 'session'` has one and has decided not to keep it.
@@ -91798,6 +92127,10 @@ var RUNTIME_STATE_POLICY = {
91798
92127
  durability: "restored",
91799
92128
  volatileFields: ["lastChangedAt"]
91800
92129
  },
92130
+ "dishwasher": {
92131
+ durability: "session",
92132
+ volatileFields: []
92133
+ },
91801
92134
  "doorbell": {
91802
92135
  durability: "restored",
91803
92136
  volatileFields: []
@@ -91826,6 +92159,10 @@ var RUNTIME_STATE_POLICY = {
91826
92159
  durability: "restored",
91827
92160
  volatileFields: ["lastChangedAt"]
91828
92161
  },
92162
+ "heating-valve": {
92163
+ durability: "session",
92164
+ volatileFields: ["lastFetchedAt"]
92165
+ },
91829
92166
  "humidifier": {
91830
92167
  durability: "session",
91831
92168
  volatileFields: []
@@ -92159,7 +92496,7 @@ var BucketAccumulator = class {
92159
92496
  //#region src/generated/history-catalog.ts
92160
92497
  /**
92161
92498
  * Cap history catalog, projected from every `*.cap.ts` `history` block.
92162
- * 32 caps with series (60 series), 37 caps answered `'none'`.
92499
+ * 34 caps with series (62 series), 37 caps answered `'none'`.
92163
92500
  * Field keys are `runtimeState` paths (`a.b` into fixed objects only).
92164
92501
  */
92165
92502
  var HISTORY_CATALOG = {
@@ -92241,6 +92578,11 @@ var HISTORY_CATALOG = {
92241
92578
  minIntervalMs: 0
92242
92579
  } },
92243
92580
  "device-status": { "online": { kind: "boolean" } },
92581
+ "dishwasher": { "progressPercent": {
92582
+ kind: "gauge",
92583
+ unit: "%",
92584
+ deadband: 2
92585
+ } },
92244
92586
  "fan-control": {
92245
92587
  "percentage": {
92246
92588
  kind: "gauge",
@@ -92251,6 +92593,11 @@ var HISTORY_CATALOG = {
92251
92593
  },
92252
92594
  "flood": { "flooded": { kind: "boolean" } },
92253
92595
  "gas": { "detected": { kind: "boolean" } },
92596
+ "heating-valve": { "position": {
92597
+ kind: "gauge",
92598
+ unit: "%",
92599
+ deadband: 1
92600
+ } },
92254
92601
  "humidifier": {
92255
92602
  "currentHumidity": {
92256
92603
  kind: "gauge",
@@ -102528,6 +102875,9 @@ exports.DiscoveredChildDeviceSchema = DiscoveredChildDeviceSchema;
102528
102875
  exports.DiscoveredChildStatusSchema = DiscoveredChildStatusSchema;
102529
102876
  exports.DiscoveredDeviceSchema = DiscoveredDeviceSchema;
102530
102877
  exports.DiscoveredTargetSchema = DiscoveredTargetSchema;
102878
+ exports.DishwasherConsumableLevelSchema = DishwasherConsumableLevelSchema;
102879
+ exports.DishwasherStateSchema = DishwasherStateSchema;
102880
+ exports.DishwasherStatusSchema = DishwasherStatusSchema;
102531
102881
  exports.DiskReconcileJobSchema = DiskReconcileJobSchema;
102532
102882
  exports.DisposerChain = require_sleep.DisposerChain;
102533
102883
  exports.DoorbellPressEventSchema = DoorbellPressEventSchema;
@@ -102693,6 +103043,7 @@ exports.HUB_VIEWER_MOUNT = HUB_VIEWER_MOUNT;
102693
103043
  exports.HWACCEL_OPTIONS = HWACCEL_OPTIONS;
102694
103044
  exports.HardwareClassIdSchema = HardwareClassIdSchema;
102695
103045
  exports.HealthStatusSchema = HealthStatusSchema;
103046
+ exports.HeatingValveStatusSchema = HeatingValveStatusSchema;
102696
103047
  exports.HfModelResolutionSchema = HfModelResolutionSchema;
102697
103048
  exports.HistoryPointSchema = HistoryPointSchema;
102698
103049
  exports.HistoryResolutionEnum = HistoryResolutionEnum;
@@ -104107,6 +104458,7 @@ exports.deviceStateCapability = deviceStateCapability;
104107
104458
  exports.deviceStatusCapability = deviceStatusCapability;
104108
104459
  exports.diffStepSettings = diffStepSettings;
104109
104460
  exports.disarmRoseMemory = require_composition.disarmRoseMemory;
104461
+ exports.dishwasherCapability = dishwasherCapability;
104110
104462
  exports.doActionSelectValue = doActionSelectValue;
104111
104463
  exports.doorbellCapability = doorbellCapability;
104112
104464
  exports.doorbellFeatureSources = doorbellFeatureSources;
@@ -104203,6 +104555,7 @@ exports.globalSecretScope = require_sleep.globalSecretScope;
104203
104555
  exports.hasModelBoundOverrides = hasModelBoundOverrides;
104204
104556
  exports.hasMotionTrigger = hasMotionTrigger;
104205
104557
  exports.hasUrlScheme = hasUrlScheme;
104558
+ exports.heatingValveCapability = heatingValveCapability;
104206
104559
  exports.hfModelUrl = require_sleep.hfModelUrl;
104207
104560
  exports.historyFieldsFor = historyFieldsFor;
104208
104561
  exports.htmlToText = htmlToText;
@@ -104390,6 +104743,7 @@ exports.objectInputDeclaresAddonId = objectInputDeclaresAddonId;
104390
104743
  exports.objectInputDeclaresRequiredDeviceId = objectInputDeclaresRequiredDeviceId;
104391
104744
  exports.occupancyScope = occupancyScope;
104392
104745
  exports.oidcConnectionsCapability = oidcConnectionsCapability;
104746
+ exports.omitTransientConfig = require_sleep.omitTransientConfig;
104393
104747
  exports.optionalAncestors = optionalAncestors;
104394
104748
  exports.optionalMethod = require_sleep.optionalMethod;
104395
104749
  exports.osdCapability = osdCapability;