@camstack/system 1.2.445 → 1.2.446

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 (81) hide show
  1. package/dist/{agent-https-CiOW0-sj.js → agent-https-5DYAOJMO.js} +2 -2
  2. package/dist/{agent-https-D4Q8iFNd.mjs → agent-https-BWUEf6ev.mjs} +2 -2
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +86 -6
  8. package/dist/builtins/alerts/alerts.addon.mjs +86 -6
  9. package/dist/builtins/alerts/critical-push.d.ts +4 -0
  10. package/dist/builtins/alerts/emit-alert-policy.d.ts +28 -0
  11. package/dist/builtins/autotrack/index.js +1 -1
  12. package/dist/builtins/autotrack/index.mjs +1 -1
  13. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  15. package/dist/builtins/calendars/calendars.addon.js +1 -1
  16. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  17. package/dist/builtins/camera-grid/index.js +1 -1
  18. package/dist/builtins/camera-grid/index.mjs +1 -1
  19. package/dist/builtins/composer/composer.addon.js +2 -2
  20. package/dist/builtins/composer/composer.addon.mjs +2 -2
  21. package/dist/builtins/console-logging/index.js +1 -1
  22. package/dist/builtins/console-logging/index.mjs +1 -1
  23. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  24. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  25. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  26. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  27. package/dist/builtins/hub-forwarder/index.js +1 -1
  28. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  29. package/dist/builtins/keychain/index.js +4 -4
  30. package/dist/builtins/keychain/index.mjs +4 -4
  31. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  32. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  33. package/dist/builtins/local-auth/local-auth.addon.js +3 -3
  34. package/dist/builtins/local-auth/local-auth.addon.mjs +3 -3
  35. package/dist/builtins/local-network/local-network.addon.js +2 -2
  36. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  37. package/dist/builtins/loki-logging/index.js +1 -1
  38. package/dist/builtins/loki-logging/index.mjs +1 -1
  39. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  40. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  41. package/dist/builtins/platform-probe/index.js +1 -1
  42. package/dist/builtins/platform-probe/index.mjs +1 -1
  43. package/dist/builtins/record-entries/index.js +1 -1
  44. package/dist/builtins/record-entries/index.mjs +1 -1
  45. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  46. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  47. package/dist/builtins/snapshot/index.js +1 -1
  48. package/dist/builtins/snapshot/index.mjs +1 -1
  49. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  50. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  51. package/dist/builtins/sqlite-storage/index.js +1 -1
  52. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  53. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
  54. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
  55. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  56. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  57. package/dist/builtins/system-config/system-config.addon.js +3 -3
  58. package/dist/builtins/system-config/system-config.addon.mjs +3 -3
  59. package/dist/builtins/winston-logging/index.js +1 -1
  60. package/dist/builtins/winston-logging/index.mjs +1 -1
  61. package/dist/{composition-sources-BMt5cFYb.mjs → composition-sources-BmC5jAUv.mjs} +1 -1
  62. package/dist/{composition-sources-D3fi9Xns.js → composition-sources-BwIIltnZ.js} +1 -1
  63. package/dist/{constants-BMHCxRzb.mjs → constants-6XHGmEUF.mjs} +1 -1
  64. package/dist/{constants-Br879Axi.js → constants-DA_tjzIk.js} +1 -1
  65. package/dist/{device-ca-T8osSMos.mjs → device-ca-Bh_ClxMO.mjs} +1 -1
  66. package/dist/{device-ca-CnJ_va7i.js → device-ca-CnbrgfmW.js} +1 -1
  67. package/dist/{dist-DgOG8flk.js → dist-BkNfEJKa.js} +292 -11
  68. package/dist/{dist-BNunRyXT.mjs → dist-CkZIrsAP.mjs} +292 -11
  69. package/dist/file-host-worker.js +1 -1
  70. package/dist/file-host-worker.mjs +1 -1
  71. package/dist/{hub-mdns-ciao-D16oRQ9K.mjs → hub-mdns-ciao-CoyIUWHC.mjs} +2 -2
  72. package/dist/{hub-mdns-ciao-BIkTHq-n.js → hub-mdns-ciao-m5LIr4oA.js} +2 -2
  73. package/dist/index.js +9 -8
  74. package/dist/index.mjs +9 -8
  75. package/dist/{phase6-declare-gate-tkKOEitw.mjs → phase6-declare-gate-BDWZuB2n.mjs} +1 -1
  76. package/dist/{phase6-declare-gate-Ci1-8uUn.js → phase6-declare-gate-Bl7KocEs.js} +1 -1
  77. package/dist/{restore-archive-DjJnCgap.js → restore-archive-B57xI5Ue.js} +1 -1
  78. package/dist/{restore-archive-DR9MtO7J.mjs → restore-archive-CMr4V7Fi.mjs} +1 -1
  79. package/dist/{wal-maintenance-CfvgtQ7C.mjs → wal-maintenance-Bqm4zrNA.mjs} +0 -0
  80. package/dist/{wal-maintenance-CODGqhKY.js → wal-maintenance-CuG1DUca.js} +0 -0
  81. package/package.json +1 -1
@@ -736,7 +736,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
736
736
  return EventCategory;
737
737
  }({});
738
738
  //#endregion
739
- //#region ../types/dist/sleep-bZIhUvjd.mjs
739
+ //#region ../types/dist/sleep-BOjuyoPC.mjs
740
740
  /**
741
741
  * The audio chunk plane's byte format, and the ONE expansion from a coded
742
742
  * window to float samples (D455).
@@ -4772,9 +4772,10 @@ function customAction(input, output, options) {
4772
4772
  * owner check, device-history's `not-owner`, records' owner).
4773
4773
  *
4774
4774
  * The stamp is set ONLY by the transport (`stampCallerAddonId`, or stated by a
4775
- * hub in-process caller). The generated HTTP/tRPC mount parses input with
4776
- * `.loose()`, so without this a session could add the key itself and act as
4777
- * another addon. The mount strips it for these caps.
4775
+ * hub in-process caller). HTTP/WS mounts parse input with `.loose()`, so a
4776
+ * session could add the key itself and act as another addon — those procedures
4777
+ * strip it when `ctx.req` is present. Mesh / `$core-caps` calls have no request;
4778
+ * the transport stamp must survive to the provider.
4778
4779
  */
4779
4780
  var CALLER_STAMPED_CAPABILITIES = [
4780
4781
  "keychain",
@@ -5076,7 +5077,7 @@ function sleep(ms) {
5076
5077
  return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
5077
5078
  }
5078
5079
  //#endregion
5079
- //#region ../types/dist/err-msg--2RrYiLO.mjs
5080
+ //#region ../types/dist/err-msg-BXKzRBwg.mjs
5080
5081
  var DeviceType = /* @__PURE__ */ function(DeviceType) {
5081
5082
  DeviceType["Camera"] = "camera";
5082
5083
  DeviceType["Hub"] = "hub";
@@ -5168,6 +5169,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
5168
5169
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
5169
5170
  * integrations sharing the same food/desiccant/hopper surface. */
5170
5171
  DeviceType["PetFeeder"] = "pet-feeder";
5172
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
5173
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
5174
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
5175
+ DeviceType["Dishwasher"] = "dishwasher";
5171
5176
  return DeviceType;
5172
5177
  }({});
5173
5178
  var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
@@ -5425,7 +5430,7 @@ function errMsg(err) {
5425
5430
  return String(err);
5426
5431
  }
5427
5432
  //#endregion
5428
- //#region ../types/dist/composition-DOwQB_Ua.mjs
5433
+ //#region ../types/dist/composition-CB6PMT9p.mjs
5429
5434
  var AUDIO_ENCODER_BY_CODEC = {
5430
5435
  opus: "libopus",
5431
5436
  aac: "aac",
@@ -11255,8 +11260,13 @@ var AlertSeveritySchema = zod.z.enum([
11255
11260
  "info",
11256
11261
  "success",
11257
11262
  "warning",
11258
- "error"
11263
+ "error",
11264
+ "critical"
11259
11265
  ]);
11266
+ var AlertActionSchema = zod.z.object({
11267
+ label: zod.z.string(),
11268
+ href: zod.z.string().optional()
11269
+ });
11260
11270
  var AlertStatusSchema = zod.z.enum([
11261
11271
  "active",
11262
11272
  "in-progress",
@@ -11274,6 +11284,7 @@ var AlertSchema = zod.z.object({
11274
11284
  severity: AlertSeveritySchema,
11275
11285
  title: zod.z.string(),
11276
11286
  message: zod.z.string(),
11287
+ action: AlertActionSchema.optional(),
11277
11288
  status: AlertStatusSchema,
11278
11289
  progress: zod.z.number().optional(),
11279
11290
  read: zod.z.boolean(),
@@ -59452,7 +59463,8 @@ var batteryCapability = {
59452
59463
  DeviceType.Button,
59453
59464
  DeviceType.Switch,
59454
59465
  DeviceType.PetFeeder,
59455
- DeviceType.Container
59466
+ DeviceType.Container,
59467
+ DeviceType.Thermostat
59456
59468
  ],
59457
59469
  methods: {
59458
59470
  /**
@@ -61076,6 +61088,125 @@ onStatusChanged: { data: zod.z.object({
61076
61088
  * whether persisting is worth a SQLite commit. */
61077
61089
  volatileStateFields: ["lastChangedAt"]
61078
61090
  };
61091
+ /**
61092
+ * Smart-dishwasher cap — program lifecycle, door / remote-start gates,
61093
+ * consumable levels (salt, rinse aid) and common program options.
61094
+ *
61095
+ * Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
61096
+ * by any integration that exposes the same program / option surface.
61097
+ *
61098
+ * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
61099
+ * provider refreshes the slice on an interval and eagerly after commands.
61100
+ */
61101
+ var DishwasherStateSchema = zod.z.enum([
61102
+ "idle",
61103
+ "running",
61104
+ "paused",
61105
+ "finished",
61106
+ "error",
61107
+ "unavailable"
61108
+ ]);
61109
+ var DishwasherConsumableLevelSchema = zod.z.enum([
61110
+ "ok",
61111
+ "low",
61112
+ "empty"
61113
+ ]);
61114
+ var DishwasherStatusSchema = zod.z.object({
61115
+ state: DishwasherStateSchema,
61116
+ /** Active program id/name, or null when none selected / unknown. */
61117
+ program: zod.z.string().nullable(),
61118
+ /** Program tokens the hardware accepts — drives the UI selector. */
61119
+ availablePrograms: zod.z.array(zod.z.string()),
61120
+ /** Minutes remaining on the active cycle, or null when not running. */
61121
+ remainingMinutes: zod.z.number().int().nonnegative().nullable(),
61122
+ /** Cycle completion 0..100, or null when not applicable. */
61123
+ progressPercent: zod.z.number().min(0).max(100).nullable(),
61124
+ /** True when the door is reported open. */
61125
+ doorOpen: zod.z.boolean(),
61126
+ /** True when remote start is allowed (door closed, power on, etc.). */
61127
+ remoteStartAllowed: zod.z.boolean(),
61128
+ /** Main power / switched-on state. */
61129
+ powerOn: zod.z.boolean(),
61130
+ saltLevel: DishwasherConsumableLevelSchema.nullable(),
61131
+ rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
61132
+ halfLoad: zod.z.boolean(),
61133
+ hygienePlus: zod.z.boolean(),
61134
+ errorCode: zod.z.number().nullable(),
61135
+ errorLabel: zod.z.string().nullable(),
61136
+ lastFetchedAt: zod.z.number()
61137
+ });
61138
+ var dishwasherCapability = {
61139
+ name: "dishwasher",
61140
+ scope: "device",
61141
+ deviceNative: true,
61142
+ mode: "singleton",
61143
+ deviceTypes: [DeviceType.Dishwasher],
61144
+ methods: {
61145
+ start: method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.void(), {
61146
+ kind: "mutation",
61147
+ auth: "protected"
61148
+ }),
61149
+ pause: method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.void(), {
61150
+ kind: "mutation",
61151
+ auth: "protected"
61152
+ }),
61153
+ stop: method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.void(), {
61154
+ kind: "mutation",
61155
+ auth: "protected"
61156
+ }),
61157
+ setProgram: method(zod.z.object({
61158
+ deviceId: zod.z.number().int().nonnegative(),
61159
+ program: zod.z.string().min(1)
61160
+ }), zod.z.void(), {
61161
+ kind: "mutation",
61162
+ auth: "protected"
61163
+ }),
61164
+ setPower: method(zod.z.object({
61165
+ deviceId: zod.z.number().int().nonnegative(),
61166
+ on: zod.z.boolean()
61167
+ }), zod.z.void(), {
61168
+ kind: "mutation",
61169
+ auth: "protected"
61170
+ }),
61171
+ setHalfLoad: method(zod.z.object({
61172
+ deviceId: zod.z.number().int().nonnegative(),
61173
+ on: zod.z.boolean()
61174
+ }), zod.z.void(), {
61175
+ kind: "mutation",
61176
+ auth: "protected"
61177
+ }),
61178
+ setHygienePlus: method(zod.z.object({
61179
+ deviceId: zod.z.number().int().nonnegative(),
61180
+ on: zod.z.boolean()
61181
+ }), zod.z.void(), {
61182
+ kind: "mutation",
61183
+ auth: "protected"
61184
+ }),
61185
+ setOption: method(zod.z.object({
61186
+ deviceId: zod.z.number().int().nonnegative(),
61187
+ key: zod.z.string().min(1),
61188
+ value: zod.z.union([
61189
+ zod.z.boolean(),
61190
+ zod.z.string(),
61191
+ zod.z.number()
61192
+ ])
61193
+ }), zod.z.void(), {
61194
+ kind: "mutation",
61195
+ auth: "protected"
61196
+ })
61197
+ },
61198
+ status: {
61199
+ schema: DishwasherStatusSchema,
61200
+ kind: "poll"
61201
+ },
61202
+ runtimeState: DishwasherStatusSchema,
61203
+ durability: "session",
61204
+ history: { fields: { progressPercent: {
61205
+ kind: "gauge",
61206
+ unit: "%",
61207
+ deadband: 2
61208
+ } } }
61209
+ };
61079
61210
  var DoorbellStatusSchema = zod.z.object({
61080
61211
  /** Ms epoch of the last press. null = never observed since this provider started. */
61081
61212
  lastPressedAt: zod.z.number().nullable(),
@@ -61917,6 +62048,32 @@ var gasCapability = {
61917
62048
  * whether persisting is worth a SQLite commit. */
61918
62049
  volatileStateFields: ["lastChangedAt"]
61919
62050
  };
62051
+ var HeatingValveStatusSchema = zod.z.object({
62052
+ /** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
62053
+ position: zod.z.number().min(0).max(100).nullable(),
62054
+ /** Ms epoch when the slice was last updated (push or poll). */
62055
+ lastFetchedAt: zod.z.number()
62056
+ });
62057
+ var heatingValveCapability = {
62058
+ name: "heating-valve",
62059
+ scope: "device",
62060
+ deviceNative: true,
62061
+ mode: "singleton",
62062
+ deviceTypes: [DeviceType.Thermostat],
62063
+ methods: {},
62064
+ status: {
62065
+ schema: HeatingValveStatusSchema,
62066
+ kind: "push"
62067
+ },
62068
+ runtimeState: HeatingValveStatusSchema,
62069
+ durability: "session",
62070
+ history: { fields: { position: {
62071
+ kind: "gauge",
62072
+ unit: "%",
62073
+ deadband: 1
62074
+ } } },
62075
+ volatileStateFields: ["lastFetchedAt"]
62076
+ };
61920
62077
  /**
61921
62078
  * Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
61922
62079
  * an on/off actuator with an optional target-humidity setpoint and an
@@ -73428,6 +73585,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
73428
73585
  dayNight: dayNightCapability,
73429
73586
  deviceDiscovery: deviceDiscoveryCapability,
73430
73587
  deviceStatus: deviceStatusCapability,
73588
+ dishwasher: dishwasherCapability,
73431
73589
  doorbell: doorbellCapability,
73432
73590
  enumSensor: enumSensorCapability,
73433
73591
  eventEmitter: eventEmitterCapability,
@@ -73435,6 +73593,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
73435
73593
  featureProbe: featureProbeCapability,
73436
73594
  flood: floodCapability,
73437
73595
  gas: gasCapability,
73596
+ heatingValve: heatingValveCapability,
73438
73597
  humidifier: humidifierCapability,
73439
73598
  humiditySensor: humiditySensorCapability,
73440
73599
  image: imageCapability,
@@ -74469,7 +74628,7 @@ var DeclaredDevices = class {
74469
74628
  return removed;
74470
74629
  }
74471
74630
  };
74472
- 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;
74631
+ 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;
74473
74632
  new Set(Object.values(DeviceType));
74474
74633
  var METHOD_ACCESS_MAP = Object.freeze({
74475
74634
  "accessories.getStatus": {
@@ -76890,6 +77049,60 @@ var METHOD_ACCESS_MAP = Object.freeze({
76890
77049
  addonId: null,
76891
77050
  access: "view"
76892
77051
  },
77052
+ "dishwasher.getStatus": {
77053
+ capName: "dishwasher",
77054
+ capScope: "device",
77055
+ addonId: null,
77056
+ access: "view"
77057
+ },
77058
+ "dishwasher.pause": {
77059
+ capName: "dishwasher",
77060
+ capScope: "device",
77061
+ addonId: null,
77062
+ access: "create"
77063
+ },
77064
+ "dishwasher.setHalfLoad": {
77065
+ capName: "dishwasher",
77066
+ capScope: "device",
77067
+ addonId: null,
77068
+ access: "create"
77069
+ },
77070
+ "dishwasher.setHygienePlus": {
77071
+ capName: "dishwasher",
77072
+ capScope: "device",
77073
+ addonId: null,
77074
+ access: "create"
77075
+ },
77076
+ "dishwasher.setOption": {
77077
+ capName: "dishwasher",
77078
+ capScope: "device",
77079
+ addonId: null,
77080
+ access: "create"
77081
+ },
77082
+ "dishwasher.setPower": {
77083
+ capName: "dishwasher",
77084
+ capScope: "device",
77085
+ addonId: null,
77086
+ access: "create"
77087
+ },
77088
+ "dishwasher.setProgram": {
77089
+ capName: "dishwasher",
77090
+ capScope: "device",
77091
+ addonId: null,
77092
+ access: "create"
77093
+ },
77094
+ "dishwasher.start": {
77095
+ capName: "dishwasher",
77096
+ capScope: "device",
77097
+ addonId: null,
77098
+ access: "create"
77099
+ },
77100
+ "dishwasher.stop": {
77101
+ capName: "dishwasher",
77102
+ capScope: "device",
77103
+ addonId: null,
77104
+ access: "create"
77105
+ },
76893
77106
  "doorbell.getStatus": {
76894
77107
  capName: "doorbell",
76895
77108
  capScope: "device",
@@ -77100,6 +77313,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
77100
77313
  addonId: null,
77101
77314
  access: "view"
77102
77315
  },
77316
+ "heatingValve.getStatus": {
77317
+ capName: "heating-valve",
77318
+ capScope: "device",
77319
+ addonId: null,
77320
+ access: "view"
77321
+ },
77103
77322
  "humidifier.getStatus": {
77104
77323
  capName: "humidifier",
77105
77324
  capScope: "device",
@@ -82687,7 +82906,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
82687
82906
  access: "create"
82688
82907
  }
82689
82908
  });
82690
- 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;
82909
+ 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;
82691
82910
  DeviceFeature.BatteryOperated;
82692
82911
  /**
82693
82912
  * Runtime list of cap names with status. Used by the settings
@@ -82718,6 +82937,7 @@ var CAP_NAMES_WITH_STATUS = [
82718
82937
  "device-discovery",
82719
82938
  "device-export",
82720
82939
  "device-status",
82940
+ "dishwasher",
82721
82941
  "doorbell",
82722
82942
  "enum-sensor",
82723
82943
  "event-emitter",
@@ -82725,6 +82945,7 @@ var CAP_NAMES_WITH_STATUS = [
82725
82945
  "feature-probe",
82726
82946
  "flood",
82727
82947
  "gas",
82948
+ "heating-valve",
82728
82949
  "humidifier",
82729
82950
  "humidity-sensor",
82730
82951
  "image",
@@ -82839,6 +83060,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
82839
83060
  deviceRemovalHookCapability,
82840
83061
  deviceStateCapability,
82841
83062
  deviceStatusCapability,
83063
+ dishwasherCapability,
82842
83064
  doorbellCapability,
82843
83065
  embeddingEncoderCapability,
82844
83066
  enumSensorCapability,
@@ -82850,6 +83072,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
82850
83072
  filesystemBrowseCapability,
82851
83073
  floodCapability,
82852
83074
  gasCapability,
83075
+ heatingValveCapability,
82853
83076
  humidifierCapability,
82854
83077
  humiditySensorCapability,
82855
83078
  imageCapability,
@@ -83778,6 +84001,51 @@ Object.freeze({
83778
84001
  form: "single",
83779
84002
  optional: false
83780
84003
  }],
84004
+ "dishwasher.getStatus": [{
84005
+ name: "deviceId",
84006
+ form: "single",
84007
+ optional: false
84008
+ }],
84009
+ "dishwasher.pause": [{
84010
+ name: "deviceId",
84011
+ form: "single",
84012
+ optional: false
84013
+ }],
84014
+ "dishwasher.setHalfLoad": [{
84015
+ name: "deviceId",
84016
+ form: "single",
84017
+ optional: false
84018
+ }],
84019
+ "dishwasher.setHygienePlus": [{
84020
+ name: "deviceId",
84021
+ form: "single",
84022
+ optional: false
84023
+ }],
84024
+ "dishwasher.setOption": [{
84025
+ name: "deviceId",
84026
+ form: "single",
84027
+ optional: false
84028
+ }],
84029
+ "dishwasher.setPower": [{
84030
+ name: "deviceId",
84031
+ form: "single",
84032
+ optional: false
84033
+ }],
84034
+ "dishwasher.setProgram": [{
84035
+ name: "deviceId",
84036
+ form: "single",
84037
+ optional: false
84038
+ }],
84039
+ "dishwasher.start": [{
84040
+ name: "deviceId",
84041
+ form: "single",
84042
+ optional: false
84043
+ }],
84044
+ "dishwasher.stop": [{
84045
+ name: "deviceId",
84046
+ form: "single",
84047
+ optional: false
84048
+ }],
83781
84049
  "doorbell.getStatus": [{
83782
84050
  name: "deviceId",
83783
84051
  form: "single",
@@ -83847,6 +84115,11 @@ Object.freeze({
83847
84115
  form: "single",
83848
84116
  optional: false
83849
84117
  }],
84118
+ "heatingValve.getStatus": [{
84119
+ name: "deviceId",
84120
+ form: "single",
84121
+ optional: false
84122
+ }],
83850
84123
  "humidifier.getStatus": [{
83851
84124
  name: "deviceId",
83852
84125
  form: "single",
@@ -85672,7 +85945,7 @@ Object.freeze({
85672
85945
  });
85673
85946
  /**
85674
85947
  * Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
85675
- * `runtimeState`. 69 caps: 37 `restored`, 32 `session`.
85948
+ * `runtimeState`. 71 caps: 37 `restored`, 34 `session`.
85676
85949
  *
85677
85950
  * A cap absent from this map has no runtime-state slice at all. A cap PRESENT
85678
85951
  * with `durability: 'session'` has one and has decided not to keep it.
@@ -85758,6 +86031,10 @@ var RUNTIME_STATE_POLICY = {
85758
86031
  durability: "restored",
85759
86032
  volatileFields: ["lastChangedAt"]
85760
86033
  },
86034
+ "dishwasher": {
86035
+ durability: "session",
86036
+ volatileFields: []
86037
+ },
85761
86038
  "doorbell": {
85762
86039
  durability: "restored",
85763
86040
  volatileFields: []
@@ -85786,6 +86063,10 @@ var RUNTIME_STATE_POLICY = {
85786
86063
  durability: "restored",
85787
86064
  volatileFields: ["lastChangedAt"]
85788
86065
  },
86066
+ "heating-valve": {
86067
+ durability: "session",
86068
+ volatileFields: ["lastFetchedAt"]
86069
+ },
85789
86070
  "humidifier": {
85790
86071
  durability: "session",
85791
86072
  volatileFields: []