@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/client.js CHANGED
@@ -1003,6 +1003,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
1003
1003
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
1004
1004
  * integrations sharing the same food/desiccant/hopper surface. */
1005
1005
  DeviceType["PetFeeder"] = "pet-feeder";
1006
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
1007
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
1008
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
1009
+ DeviceType["Dishwasher"] = "dishwasher";
1006
1010
  return DeviceType;
1007
1011
  }({});
1008
1012
  //#endregion
@@ -26125,6 +26129,17 @@ function createDeviceProxy(api, binding, opts) {
26125
26129
  getRawState: (input) => dispatch("device-ops", "deviceOps", "getRawState", "query", input)
26126
26130
  };
26127
26131
  const deviceStatusInterface = { getStatus: (input) => dispatch("device-status", "deviceStatus", "getStatus", "query", input) };
26132
+ const dishwasherInterface = {
26133
+ start: (input) => dispatch("dishwasher", "dishwasher", "start", "mutation", input),
26134
+ pause: (input) => dispatch("dishwasher", "dishwasher", "pause", "mutation", input),
26135
+ stop: (input) => dispatch("dishwasher", "dishwasher", "stop", "mutation", input),
26136
+ setProgram: (input) => dispatch("dishwasher", "dishwasher", "setProgram", "mutation", input),
26137
+ setPower: (input) => dispatch("dishwasher", "dishwasher", "setPower", "mutation", input),
26138
+ setHalfLoad: (input) => dispatch("dishwasher", "dishwasher", "setHalfLoad", "mutation", input),
26139
+ setHygienePlus: (input) => dispatch("dishwasher", "dishwasher", "setHygienePlus", "mutation", input),
26140
+ setOption: (input) => dispatch("dishwasher", "dishwasher", "setOption", "mutation", input),
26141
+ getStatus: (input) => dispatch("dishwasher", "dishwasher", "getStatus", "query", input)
26142
+ };
26128
26143
  const doorbellInterface = { getStatus: (input) => dispatch("doorbell", "doorbell", "getStatus", "query", input) };
26129
26144
  const enumSensorInterface = { getStatus: (input) => dispatch("enum-sensor", "enumSensor", "getStatus", "query", input) };
26130
26145
  const eventEmitterInterface = { getStatus: (input) => dispatch("event-emitter", "eventEmitter", "getStatus", "query", input) };
@@ -26138,6 +26153,7 @@ function createDeviceProxy(api, binding, opts) {
26138
26153
  const featureProbeInterface = { getStatus: (input) => dispatch("feature-probe", "featureProbe", "getStatus", "query", input) };
26139
26154
  const floodInterface = { getStatus: (input) => dispatch("flood", "flood", "getStatus", "query", input) };
26140
26155
  const gasInterface = { getStatus: (input) => dispatch("gas", "gas", "getStatus", "query", input) };
26156
+ const heatingValveInterface = { getStatus: (input) => dispatch("heating-valve", "heatingValve", "getStatus", "query", input) };
26141
26157
  const humidifierInterface = {
26142
26158
  setOn: (input) => dispatch("humidifier", "humidifier", "setOn", "mutation", input),
26143
26159
  setTargetHumidity: (input) => dispatch("humidifier", "humidifier", "setTargetHumidity", "mutation", input),
@@ -26685,6 +26701,7 @@ function createDeviceProxy(api, binding, opts) {
26685
26701
  dayNight: createSliceHandle(stateSource, binding.deviceId, "day-night"),
26686
26702
  deviceDiscovery: createSliceHandle(stateSource, binding.deviceId, "device-discovery"),
26687
26703
  deviceStatus: createSliceHandle(stateSource, binding.deviceId, "device-status"),
26704
+ dishwasher: createSliceHandle(stateSource, binding.deviceId, "dishwasher"),
26688
26705
  doorbell: createSliceHandle(stateSource, binding.deviceId, "doorbell"),
26689
26706
  enumSensor: createSliceHandle(stateSource, binding.deviceId, "enum-sensor"),
26690
26707
  eventEmitter: createSliceHandle(stateSource, binding.deviceId, "event-emitter"),
@@ -26692,6 +26709,7 @@ function createDeviceProxy(api, binding, opts) {
26692
26709
  featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
26693
26710
  flood: createSliceHandle(stateSource, binding.deviceId, "flood"),
26694
26711
  gas: createSliceHandle(stateSource, binding.deviceId, "gas"),
26712
+ heatingValve: createSliceHandle(stateSource, binding.deviceId, "heating-valve"),
26695
26713
  humidifier: createSliceHandle(stateSource, binding.deviceId, "humidifier"),
26696
26714
  humiditySensor: createSliceHandle(stateSource, binding.deviceId, "humidity-sensor"),
26697
26715
  image: createSliceHandle(stateSource, binding.deviceId, "image"),
@@ -26765,6 +26783,7 @@ function createDeviceProxy(api, binding, opts) {
26765
26783
  ...bound("device-extension") ? { deviceExtension: deviceExtensionInterface } : {},
26766
26784
  ...bound("device-ops") ? { deviceOps: deviceOpsInterface } : {},
26767
26785
  ...bound("device-status") ? { deviceStatus: deviceStatusInterface } : {},
26786
+ ...bound("dishwasher") ? { dishwasher: dishwasherInterface } : {},
26768
26787
  ...bound("doorbell") ? { doorbell: doorbellInterface } : {},
26769
26788
  ...bound("enum-sensor") ? { enumSensor: enumSensorInterface } : {},
26770
26789
  ...bound("event-emitter") ? { eventEmitter: eventEmitterInterface } : {},
@@ -26772,6 +26791,7 @@ function createDeviceProxy(api, binding, opts) {
26772
26791
  ...bound("feature-probe") ? { featureProbe: featureProbeInterface } : {},
26773
26792
  ...bound("flood") ? { flood: floodInterface } : {},
26774
26793
  ...bound("gas") ? { gas: gasInterface } : {},
26794
+ ...bound("heating-valve") ? { heatingValve: heatingValveInterface } : {},
26775
26795
  ...bound("humidifier") ? { humidifier: humidifierInterface } : {},
26776
26796
  ...bound("humidity-sensor") ? { humiditySensor: humiditySensorInterface } : {},
26777
26797
  ...bound("image") ? { image: imageInterface } : {},
package/dist/client.mjs CHANGED
@@ -1002,6 +1002,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
1002
1002
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
1003
1003
  * integrations sharing the same food/desiccant/hopper surface. */
1004
1004
  DeviceType["PetFeeder"] = "pet-feeder";
1005
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
1006
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
1007
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
1008
+ DeviceType["Dishwasher"] = "dishwasher";
1005
1009
  return DeviceType;
1006
1010
  }({});
1007
1011
  //#endregion
@@ -26124,6 +26128,17 @@ function createDeviceProxy(api, binding, opts) {
26124
26128
  getRawState: (input) => dispatch("device-ops", "deviceOps", "getRawState", "query", input)
26125
26129
  };
26126
26130
  const deviceStatusInterface = { getStatus: (input) => dispatch("device-status", "deviceStatus", "getStatus", "query", input) };
26131
+ const dishwasherInterface = {
26132
+ start: (input) => dispatch("dishwasher", "dishwasher", "start", "mutation", input),
26133
+ pause: (input) => dispatch("dishwasher", "dishwasher", "pause", "mutation", input),
26134
+ stop: (input) => dispatch("dishwasher", "dishwasher", "stop", "mutation", input),
26135
+ setProgram: (input) => dispatch("dishwasher", "dishwasher", "setProgram", "mutation", input),
26136
+ setPower: (input) => dispatch("dishwasher", "dishwasher", "setPower", "mutation", input),
26137
+ setHalfLoad: (input) => dispatch("dishwasher", "dishwasher", "setHalfLoad", "mutation", input),
26138
+ setHygienePlus: (input) => dispatch("dishwasher", "dishwasher", "setHygienePlus", "mutation", input),
26139
+ setOption: (input) => dispatch("dishwasher", "dishwasher", "setOption", "mutation", input),
26140
+ getStatus: (input) => dispatch("dishwasher", "dishwasher", "getStatus", "query", input)
26141
+ };
26127
26142
  const doorbellInterface = { getStatus: (input) => dispatch("doorbell", "doorbell", "getStatus", "query", input) };
26128
26143
  const enumSensorInterface = { getStatus: (input) => dispatch("enum-sensor", "enumSensor", "getStatus", "query", input) };
26129
26144
  const eventEmitterInterface = { getStatus: (input) => dispatch("event-emitter", "eventEmitter", "getStatus", "query", input) };
@@ -26137,6 +26152,7 @@ function createDeviceProxy(api, binding, opts) {
26137
26152
  const featureProbeInterface = { getStatus: (input) => dispatch("feature-probe", "featureProbe", "getStatus", "query", input) };
26138
26153
  const floodInterface = { getStatus: (input) => dispatch("flood", "flood", "getStatus", "query", input) };
26139
26154
  const gasInterface = { getStatus: (input) => dispatch("gas", "gas", "getStatus", "query", input) };
26155
+ const heatingValveInterface = { getStatus: (input) => dispatch("heating-valve", "heatingValve", "getStatus", "query", input) };
26140
26156
  const humidifierInterface = {
26141
26157
  setOn: (input) => dispatch("humidifier", "humidifier", "setOn", "mutation", input),
26142
26158
  setTargetHumidity: (input) => dispatch("humidifier", "humidifier", "setTargetHumidity", "mutation", input),
@@ -26684,6 +26700,7 @@ function createDeviceProxy(api, binding, opts) {
26684
26700
  dayNight: createSliceHandle(stateSource, binding.deviceId, "day-night"),
26685
26701
  deviceDiscovery: createSliceHandle(stateSource, binding.deviceId, "device-discovery"),
26686
26702
  deviceStatus: createSliceHandle(stateSource, binding.deviceId, "device-status"),
26703
+ dishwasher: createSliceHandle(stateSource, binding.deviceId, "dishwasher"),
26687
26704
  doorbell: createSliceHandle(stateSource, binding.deviceId, "doorbell"),
26688
26705
  enumSensor: createSliceHandle(stateSource, binding.deviceId, "enum-sensor"),
26689
26706
  eventEmitter: createSliceHandle(stateSource, binding.deviceId, "event-emitter"),
@@ -26691,6 +26708,7 @@ function createDeviceProxy(api, binding, opts) {
26691
26708
  featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
26692
26709
  flood: createSliceHandle(stateSource, binding.deviceId, "flood"),
26693
26710
  gas: createSliceHandle(stateSource, binding.deviceId, "gas"),
26711
+ heatingValve: createSliceHandle(stateSource, binding.deviceId, "heating-valve"),
26694
26712
  humidifier: createSliceHandle(stateSource, binding.deviceId, "humidifier"),
26695
26713
  humiditySensor: createSliceHandle(stateSource, binding.deviceId, "humidity-sensor"),
26696
26714
  image: createSliceHandle(stateSource, binding.deviceId, "image"),
@@ -26764,6 +26782,7 @@ function createDeviceProxy(api, binding, opts) {
26764
26782
  ...bound("device-extension") ? { deviceExtension: deviceExtensionInterface } : {},
26765
26783
  ...bound("device-ops") ? { deviceOps: deviceOpsInterface } : {},
26766
26784
  ...bound("device-status") ? { deviceStatus: deviceStatusInterface } : {},
26785
+ ...bound("dishwasher") ? { dishwasher: dishwasherInterface } : {},
26767
26786
  ...bound("doorbell") ? { doorbell: doorbellInterface } : {},
26768
26787
  ...bound("enum-sensor") ? { enumSensor: enumSensorInterface } : {},
26769
26788
  ...bound("event-emitter") ? { eventEmitter: eventEmitterInterface } : {},
@@ -26771,6 +26790,7 @@ function createDeviceProxy(api, binding, opts) {
26771
26790
  ...bound("feature-probe") ? { featureProbe: featureProbeInterface } : {},
26772
26791
  ...bound("flood") ? { flood: floodInterface } : {},
26773
26792
  ...bound("gas") ? { gas: gasInterface } : {},
26793
+ ...bound("heating-valve") ? { heatingValve: heatingValveInterface } : {},
26774
26794
  ...bound("humidifier") ? { humidifier: humidifierInterface } : {},
26775
26795
  ...bound("humidity-sensor") ? { humiditySensor: humiditySensorInterface } : {},
26776
26796
  ...bound("image") ? { image: imageInterface } : {},
@@ -1,4 +1,4 @@
1
- import { a as DeviceType, i as DeviceRole } from "./err-msg--2RrYiLO.mjs";
1
+ import { a as DeviceType, i as DeviceRole } from "./err-msg-BXKzRBwg.mjs";
2
2
  import { z } from "zod";
3
3
  import { createHash } from "node:crypto";
4
4
  //#region src/ffmpeg/invocation.ts
@@ -1,4 +1,4 @@
1
- const require_err_msg = require("./err-msg-Bb-s4Xuj.js");
1
+ const require_err_msg = require("./err-msg-BhVbr0NX.js");
2
2
  let zod = require("zod");
3
3
  let node_crypto = require("node:crypto");
4
4
  //#region src/ffmpeg/invocation.ts
@@ -1,5 +1,5 @@
1
1
  import { BaseAddon } from '../addon/base-addon.js';
2
- import type { ProviderRegistration } from '../interfaces/addon.js';
2
+ import type { AddonInitResult, ProviderRegistration } from '../interfaces/addon.js';
3
3
  import type { ConfigUISchema } from '../interfaces/config-ui.js';
4
4
  import type { IDevice } from './device.js';
5
5
  import type { DeviceConstructor } from './device-context.js';
@@ -107,7 +107,9 @@ export declare abstract class BaseDeviceProvider<TConfig extends object = Record
107
107
  protected abstract readonly addonId: string;
108
108
  /** Human-readable provider name for log messages. */
109
109
  protected abstract readonly providerName: string;
110
- protected onInitialize(): Promise<ProviderRegistration[]>;
110
+ protected onInitialize(): Promise<ProviderRegistration[] | AddonInitResult | void>;
111
+ /** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
112
+ protected providerRegistrationsFromSuper(result: ProviderRegistration[] | AddonInitResult | void): ProviderRegistration[];
111
113
  protected onShutdown(): Promise<void>;
112
114
  start(): Promise<void>;
113
115
  stop(): Promise<void>;
@@ -37,7 +37,7 @@ import { DeviceType } from './device-type.js';
37
37
  * kind can back several device types (`'switch'` ← Switch + Siren, `'sensor'`
38
38
  * ← Sensor + Presence, `'dummy'` ← every placeholder/non-controllable type).
39
39
  */
40
- export type DeviceControlKind = 'cover' | 'valve' | 'humidifier' | 'water-heater' | 'switch' | 'light' | 'fan' | 'sensor' | 'thermostat' | 'climate' | 'button' | 'update' | 'lock' | 'media-player' | 'alarm' | 'control' | 'weather' | 'vacuum' | 'lawn-mower' | 'image' | 'pet-feeder' | 'script' | 'automation' | 'dummy';
40
+ export type DeviceControlKind = 'cover' | 'valve' | 'humidifier' | 'water-heater' | 'switch' | 'light' | 'fan' | 'sensor' | 'thermostat' | 'climate' | 'button' | 'update' | 'lock' | 'media-player' | 'alarm' | 'control' | 'weather' | 'vacuum' | 'lawn-mower' | 'image' | 'pet-feeder' | 'dishwasher' | 'script' | 'automation' | 'dummy';
41
41
  /**
42
42
  * Exhaustive `DeviceType` → `DeviceControlKind` map. Omitting a new enum member
43
43
  * fails the build here (the single place the type→kind decision is encoded).
@@ -88,7 +88,11 @@ export declare enum DeviceType {
88
88
  * dual-hopper models (D4S/D4SH) expose per-hopper portions. Sources:
89
89
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
90
90
  * integrations sharing the same food/desiccant/hopper surface. */
91
- PetFeeder = "pet-feeder"
91
+ PetFeeder = "pet-feeder",
92
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
93
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
94
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
95
+ Dishwasher = "dishwasher"
92
96
  }
93
97
  export declare enum DeviceFeature {
94
98
  BatteryOperated = "battery-operated",
@@ -90,6 +90,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
90
90
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
91
91
  * integrations sharing the same food/desiccant/hopper surface. */
92
92
  DeviceType["PetFeeder"] = "pet-feeder";
93
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
94
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
95
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
96
+ DeviceType["Dishwasher"] = "dishwasher";
93
97
  return DeviceType;
94
98
  }({});
95
99
  var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
@@ -90,6 +90,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
90
90
  * native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
91
91
  * integrations sharing the same food/desiccant/hopper surface. */
92
92
  DeviceType["PetFeeder"] = "pet-feeder";
93
+ /** Built-in dishwasher — program lifecycle, door / remote-start gates,
94
+ * salt and rinse-aid levels. Installed with the `dishwasher` cap.
95
+ * Sources: native Bosch Home Connect, reusable by similar integrations. */
96
+ DeviceType["Dishwasher"] = "dishwasher";
93
97
  return DeviceType;
94
98
  }({});
95
99
  var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {