@camstack/addon-provider-bosch 0.1.39 → 0.1.40

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,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_bosch_instances = require("../bosch-instances-WlrW2PAy.js");
3
- const require_account_integration_offline = require("../account-integration-offline-CG1-xGSm.js");
2
+ const require_bosch_instances = require("../bosch-instances-DEH7DYwo.js");
3
+ const require_account_integration_offline = require("../account-integration-offline-DwgBg38i.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  let node_tls = require("node:tls");
6
6
  let node_zlib = require("node:zlib");
@@ -5386,6 +5386,10 @@ var BoschHomeConnectProviderAddon = class extends require_bosch_instances.BaseDe
5386
5386
  const records = this.ctx.records;
5387
5387
  if (records === void 0) throw new Error("bosch-home-connect: ctx.records is required (hub-only addon)");
5388
5388
  await records.declare(homeConnectRecordKinds);
5389
+ this.declareRegistrySwitch({
5390
+ kind: homeConnectConnectionsEntryKind,
5391
+ initialBody: (name) => ({ name })
5392
+ });
5389
5393
  await this.runMigrations(HOME_CONNECT_MIGRATIONS, (api) => homeConnectRowsPorts({ ...require_bosch_instances.rowsDepsOver(api) }));
5390
5394
  const built = buildHomeConnectInstances(records, {
5391
5395
  onChanged: () => this.reconcileIntegrations(),
@@ -5561,8 +5565,9 @@ var BoschHomeConnectProviderAddon = class extends require_bosch_instances.BaseDe
5561
5565
  if (typeof addonId === "string" && addonId !== this.ctx.id) return;
5562
5566
  this.reconcileIntegrations();
5563
5567
  };
5564
- this.ctx.eventBus.subscribe({ category: require_bosch_instances.EventCategory.IntegrationEnabled }, handler);
5565
- this.ctx.eventBus.subscribe({ category: require_bosch_instances.EventCategory.IntegrationDisabled }, handler);
5568
+ this.requireInstances().instances.onSwitched(() => {
5569
+ this.reconcileIntegrations();
5570
+ });
5566
5571
  this.ctx.eventBus.subscribe({ category: require_bosch_instances.EventCategory.IntegrationDeleted }, handler);
5567
5572
  }
5568
5573
  buildConnectionTestProvider() {
@@ -1,5 +1,5 @@
1
- import { $ as EventCategory, B as _enum, C as integrationInstancesCapability, D as rowsDepsOver, E as quantityFromUnit, F as defineCustomActions, G as object, H as boolean, I as defineEntryKind, J as union, K as record, L as entryBody, N as createEvent, O as runningFromDishwasherOperation, P as customAction, Q as errMsg, R as isSecretMarker, S as ingestReading, T as powerMeterCapability, U as literal, V as array, X as DeviceRole, Y as unknown, Z as DeviceType, _ as deviceAdoptionCapability, a as BaseDevice, b as eventEmitterCapability, c as RUNNING_STATE_COLD, d as VendorLoginProxy, g as consumablesCapability, h as connectionTestCapability, i as testBoschInstance, k as runningStateCapability, l as RecordIntegrationInstances, n as boschRowsPorts, o as BaseDeviceProvider, p as binaryCapability, q as string, r as keepBodyKeys, s as DishwasherOperationStateSchema, t as boschRowsMigration, v as dishwasherCapability, w as numericSensorCapability, y as enumSensorCapability, z as isSecretMarkerLike } from "../bosch-instances-GrNuqDFv.mjs";
2
- import { a as createSignInAttemptStore, i as openSignInProxy, n as cascadeRemoveDevicesForIntegration, o as loginFailureForAttempt, r as createSignInClaims, s as parseOAuthCallback, t as setIntegrationDevicesOnline } from "../account-integration-offline-etjkhGaj.mjs";
1
+ import { $ as EventCategory, B as _enum, C as numericSensorCapability, D as runningStateCapability, E as runningFromDishwasherOperation, F as defineEntryKind, G as object, H as boolean, I as entryBody, J as union, K as record, L as isSecretMarker, M as createEvent, N as customAction, P as defineCustomActions, Q as errMsg, R as isSecretMarkerLike, S as integrationInstancesCapability, T as quantityFromUnit, U as literal, V as array, X as DeviceRole, Y as unknown, Z as DeviceType, _ as dishwasherCapability, a as BaseDevice, c as RUNNING_STATE_COLD, f as binaryCapability, g as deviceAdoptionCapability, h as consumablesCapability, i as testBoschInstance, j as RecordIntegrationInstances, m as connectionTestCapability, n as boschRowsPorts, o as BaseDeviceProvider, q as string, r as keepBodyKeys, s as DishwasherOperationStateSchema, t as boschRowsMigration, u as VendorLoginProxy, v as enumSensorCapability, w as powerMeterCapability, x as ingestReading, y as eventEmitterCapability, z as rowsDepsOver } from "../bosch-instances-Yqi-WAZN.mjs";
2
+ import { a as createSignInAttemptStore, i as openSignInProxy, n as cascadeRemoveDevicesForIntegration, o as loginFailureForAttempt, r as createSignInClaims, s as parseOAuthCallback, t as setIntegrationDevicesOnline } from "../account-integration-offline-DTnyqayb.mjs";
3
3
  import { createHash, randomBytes } from "node:crypto";
4
4
  import { connect } from "node:tls";
5
5
  import { inflateRawSync } from "node:zlib";
@@ -5385,6 +5385,10 @@ var BoschHomeConnectProviderAddon = class extends BaseDeviceProvider {
5385
5385
  const records = this.ctx.records;
5386
5386
  if (records === void 0) throw new Error("bosch-home-connect: ctx.records is required (hub-only addon)");
5387
5387
  await records.declare(homeConnectRecordKinds);
5388
+ this.declareRegistrySwitch({
5389
+ kind: homeConnectConnectionsEntryKind,
5390
+ initialBody: (name) => ({ name })
5391
+ });
5388
5392
  await this.runMigrations(HOME_CONNECT_MIGRATIONS, (api) => homeConnectRowsPorts({ ...rowsDepsOver(api) }));
5389
5393
  const built = buildHomeConnectInstances(records, {
5390
5394
  onChanged: () => this.reconcileIntegrations(),
@@ -5560,8 +5564,9 @@ var BoschHomeConnectProviderAddon = class extends BaseDeviceProvider {
5560
5564
  if (typeof addonId === "string" && addonId !== this.ctx.id) return;
5561
5565
  this.reconcileIntegrations();
5562
5566
  };
5563
- this.ctx.eventBus.subscribe({ category: EventCategory.IntegrationEnabled }, handler);
5564
- this.ctx.eventBus.subscribe({ category: EventCategory.IntegrationDisabled }, handler);
5567
+ this.requireInstances().instances.onSwitched(() => {
5568
+ this.reconcileIntegrations();
5569
+ });
5565
5570
  this.ctx.eventBus.subscribe({ category: EventCategory.IntegrationDeleted }, handler);
5566
5571
  }
5567
5572
  buildConnectionTestProvider() {
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_bosch_instances = require("../bosch-instances-WlrW2PAy.js");
3
- const require_account_integration_offline = require("../account-integration-offline-CG1-xGSm.js");
2
+ const require_bosch_instances = require("../bosch-instances-DEH7DYwo.js");
3
+ const require_account_integration_offline = require("../account-integration-offline-DwgBg38i.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  //#region src/homecom/config.ts
6
6
  var HOMECOM_BRANDS = ["bosch", "buderus"];
@@ -2196,6 +2196,10 @@ var BoschHomeComProviderAddon = class extends require_bosch_instances.BaseDevice
2196
2196
  const records = this.ctx.records;
2197
2197
  if (records === void 0) throw new Error("bosch-homecom: ctx.records is required (hub-only addon)");
2198
2198
  await records.declare(homeComRecordKinds);
2199
+ this.declareRegistrySwitch({
2200
+ kind: homeComConnectionsEntryKind,
2201
+ initialBody: (name) => ({ name })
2202
+ });
2199
2203
  await this.runMigrations(HOMECOM_MIGRATIONS, (api) => homeComRowsPorts({ ...require_bosch_instances.rowsDepsOver(api) }));
2200
2204
  const built = buildHomeComInstances(records, {
2201
2205
  onChanged: () => this.reconcileIntegrations(),
@@ -2345,8 +2349,9 @@ var BoschHomeComProviderAddon = class extends require_bosch_instances.BaseDevice
2345
2349
  if (typeof addonId === "string" && addonId !== this.ctx.id) return;
2346
2350
  this.reconcileIntegrations();
2347
2351
  };
2348
- this.ctx.eventBus.subscribe({ category: require_bosch_instances.EventCategory.IntegrationEnabled }, handler);
2349
- this.ctx.eventBus.subscribe({ category: require_bosch_instances.EventCategory.IntegrationDisabled }, handler);
2352
+ this.requireInstances().instances.onSwitched(() => {
2353
+ this.reconcileIntegrations();
2354
+ });
2350
2355
  this.ctx.eventBus.subscribe({ category: require_bosch_instances.EventCategory.IntegrationDeleted }, handler);
2351
2356
  }
2352
2357
  buildConnectionTestProvider() {
@@ -1,5 +1,5 @@
1
- import { $ as EventCategory, B as _enum, C as integrationInstancesCapability, D as rowsDepsOver, F as defineCustomActions, G as object, H as boolean, I as defineEntryKind, L as entryBody, M as waterHeaterCapability, P as customAction, Q as errMsg, U as literal, V as array, W as number, Z as DeviceType, _ as deviceAdoptionCapability, a as BaseDevice, d as VendorLoginProxy, h as connectionTestCapability, i as testBoschInstance, l as RecordIntegrationInstances, m as climateControlCapability, n as boschRowsPorts, o as BaseDeviceProvider, q as string, r as keepBodyKeys, t as boschRowsMigration } from "../bosch-instances-GrNuqDFv.mjs";
2
- import { a as createSignInAttemptStore, i as openSignInProxy, n as cascadeRemoveDevicesForIntegration, o as loginFailureForAttempt, r as createSignInClaims, s as parseOAuthCallback, t as setIntegrationDevicesOnline } from "../account-integration-offline-etjkhGaj.mjs";
1
+ import { $ as EventCategory, A as waterHeaterCapability, B as _enum, F as defineEntryKind, G as object, H as boolean, I as entryBody, N as customAction, P as defineCustomActions, Q as errMsg, S as integrationInstancesCapability, U as literal, V as array, W as number, Z as DeviceType, a as BaseDevice, g as deviceAdoptionCapability, i as testBoschInstance, j as RecordIntegrationInstances, m as connectionTestCapability, n as boschRowsPorts, o as BaseDeviceProvider, p as climateControlCapability, q as string, r as keepBodyKeys, t as boschRowsMigration, u as VendorLoginProxy, z as rowsDepsOver } from "../bosch-instances-Yqi-WAZN.mjs";
2
+ import { a as createSignInAttemptStore, i as openSignInProxy, n as cascadeRemoveDevicesForIntegration, o as loginFailureForAttempt, r as createSignInClaims, s as parseOAuthCallback, t as setIntegrationDevicesOnline } from "../account-integration-offline-DTnyqayb.mjs";
3
3
  import { createHash, randomBytes } from "node:crypto";
4
4
  //#region src/homecom/config.ts
5
5
  var HOMECOM_BRANDS = ["bosch", "buderus"];
@@ -2195,6 +2195,10 @@ var BoschHomeComProviderAddon = class extends BaseDeviceProvider {
2195
2195
  const records = this.ctx.records;
2196
2196
  if (records === void 0) throw new Error("bosch-homecom: ctx.records is required (hub-only addon)");
2197
2197
  await records.declare(homeComRecordKinds);
2198
+ this.declareRegistrySwitch({
2199
+ kind: homeComConnectionsEntryKind,
2200
+ initialBody: (name) => ({ name })
2201
+ });
2198
2202
  await this.runMigrations(HOMECOM_MIGRATIONS, (api) => homeComRowsPorts({ ...rowsDepsOver(api) }));
2199
2203
  const built = buildHomeComInstances(records, {
2200
2204
  onChanged: () => this.reconcileIntegrations(),
@@ -2344,8 +2348,9 @@ var BoschHomeComProviderAddon = class extends BaseDeviceProvider {
2344
2348
  if (typeof addonId === "string" && addonId !== this.ctx.id) return;
2345
2349
  this.reconcileIntegrations();
2346
2350
  };
2347
- this.ctx.eventBus.subscribe({ category: EventCategory.IntegrationEnabled }, handler);
2348
- this.ctx.eventBus.subscribe({ category: EventCategory.IntegrationDisabled }, handler);
2351
+ this.requireInstances().instances.onSwitched(() => {
2352
+ this.reconcileIntegrations();
2353
+ });
2349
2354
  this.ctx.eventBus.subscribe({ category: EventCategory.IntegrationDeleted }, handler);
2350
2355
  }
2351
2356
  buildConnectionTestProvider() {
package/dist/shc/addon.js CHANGED
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  //#region \0rolldown/runtime.js
3
3
  var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
4
4
  //#endregion
5
- const require_bosch_instances = require("../bosch-instances-WlrW2PAy.js");
5
+ const require_bosch_instances = require("../bosch-instances-DEH7DYwo.js");
6
6
  let node_crypto = require("node:crypto");
7
7
  let node_https = require("node:https");
8
8
  let node_child_process = require("node:child_process");
@@ -23843,6 +23843,10 @@ var BoschShcProviderAddon = class extends require_bosch_instances.BaseDeviceProv
23843
23843
  const records = this.ctx.records;
23844
23844
  if (records === void 0) throw new Error("bosch-shc: ctx.records is required (hub-only addon)");
23845
23845
  await records.declare(shcRecordKinds);
23846
+ this.declareRegistrySwitch({
23847
+ kind: shcConnectionsEntryKind,
23848
+ initialBody: (name) => ({ name })
23849
+ });
23846
23850
  await this.runMigrations(SHC_MIGRATIONS, (api) => shcRowsPorts({ ...require_bosch_instances.rowsDepsOver(api) }));
23847
23851
  const built = buildShcInstances(records, {
23848
23852
  onChanged: () => this.reconcileIntegrations(),
@@ -24010,8 +24014,9 @@ var BoschShcProviderAddon = class extends require_bosch_instances.BaseDeviceProv
24010
24014
  if (typeof addonId === "string" && addonId !== this.ctx.id) return;
24011
24015
  this.reconcileIntegrations();
24012
24016
  };
24013
- this.ctx.eventBus.subscribe({ category: require_bosch_instances.EventCategory.IntegrationEnabled }, handler);
24014
- this.ctx.eventBus.subscribe({ category: require_bosch_instances.EventCategory.IntegrationDisabled }, handler);
24017
+ this.requireInstances().onSwitched(() => {
24018
+ this.reconcileIntegrations();
24019
+ });
24015
24020
  this.ctx.eventBus.subscribe({ category: require_bosch_instances.EventCategory.IntegrationDeleted }, handler);
24016
24021
  }
24017
24022
  async cascadeRemoveDevicesForIntegration(integrationId) {
@@ -1,4 +1,4 @@
1
- import { $ as EventCategory, A as switchCapability, B as _enum, C as integrationInstancesCapability, D as rowsDepsOver, F as defineCustomActions, G as object, I as defineEntryKind, L as entryBody, P as customAction, Q as errMsg, U as literal, V as array, W as number, Z as DeviceType, _ as deviceAdoptionCapability, a as BaseDevice, f as batteryCapability, h as connectionTestCapability, i as testBoschInstance, j as temperatureSensorCapability, l as RecordIntegrationInstances, m as climateControlCapability, n as boschRowsPorts, o as BaseDeviceProvider, q as string, r as keepBodyKeys, t as boschRowsMigration, x as heatingValveCapability } from "../bosch-instances-GrNuqDFv.mjs";
1
+ import { $ as EventCategory, B as _enum, F as defineEntryKind, G as object, I as entryBody, N as customAction, O as switchCapability, P as defineCustomActions, Q as errMsg, S as integrationInstancesCapability, U as literal, V as array, W as number, Z as DeviceType, a as BaseDevice, b as heatingValveCapability, d as batteryCapability, g as deviceAdoptionCapability, i as testBoschInstance, j as RecordIntegrationInstances, k as temperatureSensorCapability, m as connectionTestCapability, n as boschRowsPorts, o as BaseDeviceProvider, p as climateControlCapability, q as string, r as keepBodyKeys, t as boschRowsMigration, z as rowsDepsOver } from "../bosch-instances-Yqi-WAZN.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { request } from "node:https";
@@ -23844,6 +23844,10 @@ var BoschShcProviderAddon = class extends BaseDeviceProvider {
23844
23844
  const records = this.ctx.records;
23845
23845
  if (records === void 0) throw new Error("bosch-shc: ctx.records is required (hub-only addon)");
23846
23846
  await records.declare(shcRecordKinds);
23847
+ this.declareRegistrySwitch({
23848
+ kind: shcConnectionsEntryKind,
23849
+ initialBody: (name) => ({ name })
23850
+ });
23847
23851
  await this.runMigrations(SHC_MIGRATIONS, (api) => shcRowsPorts({ ...rowsDepsOver(api) }));
23848
23852
  const built = buildShcInstances(records, {
23849
23853
  onChanged: () => this.reconcileIntegrations(),
@@ -24011,8 +24015,9 @@ var BoschShcProviderAddon = class extends BaseDeviceProvider {
24011
24015
  if (typeof addonId === "string" && addonId !== this.ctx.id) return;
24012
24016
  this.reconcileIntegrations();
24013
24017
  };
24014
- this.ctx.eventBus.subscribe({ category: EventCategory.IntegrationEnabled }, handler);
24015
- this.ctx.eventBus.subscribe({ category: EventCategory.IntegrationDisabled }, handler);
24018
+ this.requireInstances().onSwitched(() => {
24019
+ this.reconcileIntegrations();
24020
+ });
24016
24021
  this.ctx.eventBus.subscribe({ category: EventCategory.IntegrationDeleted }, handler);
24017
24022
  }
24018
24023
  async cascadeRemoveDevicesForIntegration(integrationId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-bosch",
3
- "version": "0.1.39",
3
+ "version": "0.1.40",
4
4
  "description": "Bosch smart-home device-provider addons for CamStack — SHC, Home Connect, and HomeCom cloud integrations (scaffold)",
5
5
  "keywords": [
6
6
  "camstack",
@@ -141,7 +141,7 @@
141
141
  }
142
142
  ],
143
143
  "requires": {
144
- "server": ">=1.2.780"
144
+ "server": ">=1.2.786"
145
145
  }
146
146
  },
147
147
  "files": [