@camstack/addon-provider-homeassistant 1.2.159 → 1.2.160

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.
package/dist/addon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("./dist-BE_WMCdp.js");
2
+ const require_dist = require("./dist-l71G4EIk.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let node_zlib = require("node:zlib");
5
5
  //#region src/ha-admin-link.ts
@@ -4839,25 +4839,6 @@ var HaWsClient = class {
4839
4839
  }
4840
4840
  }
4841
4841
  };
4842
- /**
4843
- * Resolve auth config from the addon environment + persisted config.
4844
- * Prefers Supervisor token when present (the addon is running inside
4845
- * the HA Supervisor); falls back to the user-provided long-lived token
4846
- * for external deployments.
4847
- */
4848
- function resolveAuthConfig(env, persistedConfig) {
4849
- const supervisorToken = env.SUPERVISOR_TOKEN;
4850
- if (supervisorToken && supervisorToken.length > 0) return {
4851
- kind: "supervisor",
4852
- supervisorToken
4853
- };
4854
- if (persistedConfig?.baseUrl && persistedConfig.accessToken) return {
4855
- kind: "long-lived",
4856
- baseUrl: persistedConfig.baseUrl,
4857
- accessToken: persistedConfig.accessToken
4858
- };
4859
- return { error: "No HA auth configured — set SUPERVISOR_TOKEN env (Supervisor deployment) or supply baseUrl + accessToken in addon config" };
4860
- }
4861
4842
  //#endregion
4862
4843
  //#region src/ha-events.ts
4863
4844
  function processEvent(current, updates) {
@@ -9078,6 +9059,5 @@ exports.HaWsClient = HaWsClient;
9078
9059
  exports.authToSettings = authToSettings;
9079
9060
  exports.buildHaAuth = buildHaAuth;
9080
9061
  exports.processEvent = processEvent;
9081
- exports.resolveAuthConfig = resolveAuthConfig;
9082
9062
  exports.settingsToAuth = settingsToAuth;
9083
9063
  exports.subscribeEntities = subscribeEntities;
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as connectivityCapability, At as record, B as floodCapability, C as buildAddonRouteProvider, Ct as _enum, D as carbonMonoxideCapability, Dt as literal, E as calendarSourceCapability, Et as discriminatedUnion, F as deviceAdoptionCapability, Ft as EventCategory, G as lawnMowerControlCapability, H as humidifierCapability, J as motionCapability, K as lockControlCapability, L as enumSensorCapability, M as controlCapability, Mt as union, N as coverCapability, Nt as unknown, O as climateControlCapability, Ot as number, P as deviceAdminLinkCapability, Pt as url, Q as numericSensorCapability, R as eventEmitterCapability, S as brokerCapability, T as buttonCapability, Tt as boolean, U as humiditySensorCapability, V as gasCapability, W as imageCapability, X as notificationOutputCapability, Y as normalizeUnit, Z as notifierCapability, _ as automationControlCapability, _t as DeviceRole, at as scriptRunnerCapability, b as binaryCapability, ct as tamperCapability, d as TargetSchema, dt as vacuumControlCapability, et as parseAdminBase, f as accessoriesCapability, ft as valveCapability, g as ambientLightSensorCapability, gt as DeviceFeature, h as alarmPanelCapability, ht as weatherCapability, it as pressureSensorCapability, j as contactCapability, jt as string, k as colorCapability, kt as object, lt as temperatureSensorCapability, m as airQualitySensorCapability, mt as waterHeaterCapability, n as BaseDevice, nt as prepareNotification, ot as smokeCapability, p as addonRoutesCapability, pt as vibrationCapability, q as mediaPlayerCapability, r as BaseDeviceProvider, rt as presenceCapability, s as EnumSensorDateTimeFormatSchema, st as switchCapability, tt as powerMeterCapability, ut as updateCapability, v as batteryCapability, vt as DeviceType, w as buildDeviceAdminUrl, wt as array, x as brightnessCapability, xt as createEvent, y as bestLocationMatch, yt as errMsg, z as fanControlCapability } from "./dist-Ck6d87Ov.mjs";
1
+ import { A as connectivityCapability, At as record, B as floodCapability, C as buildAddonRouteProvider, Ct as _enum, D as carbonMonoxideCapability, Dt as literal, E as calendarSourceCapability, Et as discriminatedUnion, F as deviceAdoptionCapability, Ft as EventCategory, G as lawnMowerControlCapability, H as humidifierCapability, J as motionCapability, K as lockControlCapability, L as enumSensorCapability, M as controlCapability, Mt as union, N as coverCapability, Nt as unknown, O as climateControlCapability, Ot as number, P as deviceAdminLinkCapability, Pt as url, Q as numericSensorCapability, R as eventEmitterCapability, S as brokerCapability, T as buttonCapability, Tt as boolean, U as humiditySensorCapability, V as gasCapability, W as imageCapability, X as notificationOutputCapability, Y as normalizeUnit, Z as notifierCapability, _ as automationControlCapability, _t as DeviceRole, at as scriptRunnerCapability, b as binaryCapability, ct as tamperCapability, d as TargetSchema, dt as vacuumControlCapability, et as parseAdminBase, f as accessoriesCapability, ft as valveCapability, g as ambientLightSensorCapability, gt as DeviceFeature, h as alarmPanelCapability, ht as weatherCapability, it as pressureSensorCapability, j as contactCapability, jt as string, k as colorCapability, kt as object, lt as temperatureSensorCapability, m as airQualitySensorCapability, mt as waterHeaterCapability, n as BaseDevice, nt as prepareNotification, ot as smokeCapability, p as addonRoutesCapability, pt as vibrationCapability, q as mediaPlayerCapability, r as BaseDeviceProvider, rt as presenceCapability, s as EnumSensorDateTimeFormatSchema, st as switchCapability, tt as powerMeterCapability, ut as updateCapability, v as batteryCapability, vt as DeviceType, w as buildDeviceAdminUrl, wt as array, x as brightnessCapability, xt as createEvent, y as bestLocationMatch, yt as errMsg, z as fanControlCapability } from "./dist-H458ct4y.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { brotliCompressSync, deflateSync, gzipSync } from "node:zlib";
4
4
  //#region src/ha-admin-link.ts
@@ -4838,25 +4838,6 @@ var HaWsClient = class {
4838
4838
  }
4839
4839
  }
4840
4840
  };
4841
- /**
4842
- * Resolve auth config from the addon environment + persisted config.
4843
- * Prefers Supervisor token when present (the addon is running inside
4844
- * the HA Supervisor); falls back to the user-provided long-lived token
4845
- * for external deployments.
4846
- */
4847
- function resolveAuthConfig(env, persistedConfig) {
4848
- const supervisorToken = env.SUPERVISOR_TOKEN;
4849
- if (supervisorToken && supervisorToken.length > 0) return {
4850
- kind: "supervisor",
4851
- supervisorToken
4852
- };
4853
- if (persistedConfig?.baseUrl && persistedConfig.accessToken) return {
4854
- kind: "long-lived",
4855
- baseUrl: persistedConfig.baseUrl,
4856
- accessToken: persistedConfig.accessToken
4857
- };
4858
- return { error: "No HA auth configured — set SUPERVISOR_TOKEN env (Supervisor deployment) or supply baseUrl + accessToken in addon config" };
4859
- }
4860
4841
  //#endregion
4861
4842
  //#region src/ha-events.ts
4862
4843
  function processEvent(current, updates) {
@@ -9066,4 +9047,4 @@ function coerceHaFilter(filter) {
9066
9047
  return out;
9067
9048
  }
9068
9049
  //#endregion
9069
- export { HaProviderAddon, HaIntegrationManager as a, HaWsClient as c, HaAuthConfigSchema as d, HaDomain as f, settingsToAuth as i, buildHaAuth as l, HaBrokerRegistry as n, processEvent as o, HaEntityStateSchema as p, authToSettings as r, subscribeEntities as s, HaBrokerEntrySchema as t, resolveAuthConfig as u };
9050
+ export { HaProviderAddon, HaIntegrationManager as a, HaWsClient as c, HaDomain as d, HaEntityStateSchema as f, settingsToAuth as i, buildHaAuth as l, HaBrokerRegistry as n, processEvent as o, authToSettings as r, subscribeEntities as s, HaBrokerEntrySchema as t, HaAuthConfigSchema as u };
@@ -10667,6 +10667,57 @@ var ClipSearchStrictnessSchema = _enum([
10667
10667
  "balanced",
10668
10668
  "strict"
10669
10669
  ]);
10670
+ new Set([
10671
+ {
10672
+ id: "person",
10673
+ name: "Person"
10674
+ },
10675
+ {
10676
+ id: "vehicle",
10677
+ name: "Vehicle"
10678
+ },
10679
+ {
10680
+ id: "animal",
10681
+ name: "Animal"
10682
+ },
10683
+ {
10684
+ id: "package",
10685
+ name: "Package"
10686
+ }
10687
+ ].map((l) => l.id));
10688
+ var COCO_TO_MACRO = {
10689
+ mapping: {
10690
+ person: "person",
10691
+ bicycle: "vehicle",
10692
+ car: "vehicle",
10693
+ motorcycle: "vehicle",
10694
+ airplane: "vehicle",
10695
+ bus: "vehicle",
10696
+ train: "vehicle",
10697
+ truck: "vehicle",
10698
+ boat: "vehicle",
10699
+ bird: "animal",
10700
+ cat: "animal",
10701
+ dog: "animal",
10702
+ horse: "animal",
10703
+ sheep: "animal",
10704
+ cow: "animal",
10705
+ elephant: "animal",
10706
+ bear: "animal",
10707
+ zebra: "animal",
10708
+ giraffe: "animal",
10709
+ suitcase: "package",
10710
+ backpack: "package",
10711
+ handbag: "package"
10712
+ },
10713
+ preserveOriginal: false
10714
+ };
10715
+ /** Steps a root detector may declare it fills. */
10716
+ var FILLABLE_STEP_IDS = [
10717
+ "animal-classifier",
10718
+ "vehicle-classifier",
10719
+ "package-detection"
10720
+ ];
10670
10721
  var MODEL_FORMATS = [
10671
10722
  "onnx",
10672
10723
  "coreml",
@@ -10799,6 +10850,12 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
10799
10850
  /** True when the weights or their data forbid commercial use. */
10800
10851
  nonCommercial: boolean().optional()
10801
10852
  }));
10853
+ /** One `fillsClassifierEffects` entry — see `ModelCatalogEntry.fillsClassifierEffects`. */
10854
+ var FillsClassifierEffectSchema = object({
10855
+ stepId: _enum(FILLABLE_STEP_IDS),
10856
+ labelToEffect: record(string(), string()),
10857
+ uncovered: array(string()).readonly()
10858
+ });
10802
10859
  var ModelCatalogEntrySchema = object({
10803
10860
  id: string(),
10804
10861
  name: string(),
@@ -10925,6 +10982,16 @@ var ModelCatalogEntrySchema = object({
10925
10982
  */
10926
10983
  classMap: DetectionCatalogClassMapSchema.optional(),
10927
10984
  /**
10985
+ * The pipeline steps this ROOT detector already does the work of (D715):
10986
+ * its labels name the effect the step exists to produce (`deer` for
10987
+ * `animal-classifier`, `package` for `package-detection`). Derived from the
10988
+ * labelmap by `deriveClassifierFills`, never hand-written; a COCO model
10989
+ * declares none. Whether a declaration is honoured is the step's own
10990
+ * `labelLink` policy (`resolveLabelLink`). `labelToEffect` values are in
10991
+ * `FILLABLE_STEP_VOCABULARIES` (guard `check-label-link-vocabulary`).
10992
+ */
10993
+ fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional(),
10994
+ /**
10928
10995
  * The model's CLIP feature-space contract (text encoder, dimension, vector
10929
10996
  * index, token window, search floor) — see `clip-model.ts`. Present ONLY on a
10930
10997
  * CLIP image encoder; its absence is what "not a CLIP model" means to the
@@ -18459,51 +18526,6 @@ var notificationOutputCapability = {
18459
18526
  })
18460
18527
  }
18461
18528
  };
18462
- new Set([
18463
- {
18464
- id: "person",
18465
- name: "Person"
18466
- },
18467
- {
18468
- id: "vehicle",
18469
- name: "Vehicle"
18470
- },
18471
- {
18472
- id: "animal",
18473
- name: "Animal"
18474
- },
18475
- {
18476
- id: "package",
18477
- name: "Package"
18478
- }
18479
- ].map((l) => l.id));
18480
- var COCO_TO_MACRO = {
18481
- mapping: {
18482
- person: "person",
18483
- bicycle: "vehicle",
18484
- car: "vehicle",
18485
- motorcycle: "vehicle",
18486
- airplane: "vehicle",
18487
- bus: "vehicle",
18488
- train: "vehicle",
18489
- truck: "vehicle",
18490
- boat: "vehicle",
18491
- bird: "animal",
18492
- cat: "animal",
18493
- dog: "animal",
18494
- horse: "animal",
18495
- sheep: "animal",
18496
- cow: "animal",
18497
- elephant: "animal",
18498
- bear: "animal",
18499
- zebra: "animal",
18500
- giraffe: "animal",
18501
- suitcase: "package",
18502
- backpack: "package",
18503
- handbag: "package"
18504
- },
18505
- preserveOriginal: false
18506
- };
18507
18529
  var AUDIO_MACRO_LABELS = [
18508
18530
  {
18509
18531
  id: "speech",
@@ -23961,7 +23983,8 @@ var PipelineModelOptionSchema = object({
23961
23983
  group: ModelVariantGroupSchema.optional(),
23962
23984
  legacy: boolean().optional(),
23963
23985
  provider: ModelProviderIdSchema.optional(),
23964
- defaultConfidence: number().optional()
23986
+ defaultConfidence: number().optional(),
23987
+ fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional()
23965
23988
  });
23966
23989
  var ConfigFieldBridge = custom();
23967
23990
  var PipelineAddonSchemaSchema = object({
@@ -10668,6 +10668,57 @@ var ClipSearchStrictnessSchema = _enum([
10668
10668
  "balanced",
10669
10669
  "strict"
10670
10670
  ]);
10671
+ new Set([
10672
+ {
10673
+ id: "person",
10674
+ name: "Person"
10675
+ },
10676
+ {
10677
+ id: "vehicle",
10678
+ name: "Vehicle"
10679
+ },
10680
+ {
10681
+ id: "animal",
10682
+ name: "Animal"
10683
+ },
10684
+ {
10685
+ id: "package",
10686
+ name: "Package"
10687
+ }
10688
+ ].map((l) => l.id));
10689
+ var COCO_TO_MACRO = {
10690
+ mapping: {
10691
+ person: "person",
10692
+ bicycle: "vehicle",
10693
+ car: "vehicle",
10694
+ motorcycle: "vehicle",
10695
+ airplane: "vehicle",
10696
+ bus: "vehicle",
10697
+ train: "vehicle",
10698
+ truck: "vehicle",
10699
+ boat: "vehicle",
10700
+ bird: "animal",
10701
+ cat: "animal",
10702
+ dog: "animal",
10703
+ horse: "animal",
10704
+ sheep: "animal",
10705
+ cow: "animal",
10706
+ elephant: "animal",
10707
+ bear: "animal",
10708
+ zebra: "animal",
10709
+ giraffe: "animal",
10710
+ suitcase: "package",
10711
+ backpack: "package",
10712
+ handbag: "package"
10713
+ },
10714
+ preserveOriginal: false
10715
+ };
10716
+ /** Steps a root detector may declare it fills. */
10717
+ var FILLABLE_STEP_IDS = [
10718
+ "animal-classifier",
10719
+ "vehicle-classifier",
10720
+ "package-detection"
10721
+ ];
10671
10722
  var MODEL_FORMATS = [
10672
10723
  "onnx",
10673
10724
  "coreml",
@@ -10800,6 +10851,12 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
10800
10851
  /** True when the weights or their data forbid commercial use. */
10801
10852
  nonCommercial: boolean().optional()
10802
10853
  }));
10854
+ /** One `fillsClassifierEffects` entry — see `ModelCatalogEntry.fillsClassifierEffects`. */
10855
+ var FillsClassifierEffectSchema = object({
10856
+ stepId: _enum(FILLABLE_STEP_IDS),
10857
+ labelToEffect: record(string(), string()),
10858
+ uncovered: array(string()).readonly()
10859
+ });
10803
10860
  var ModelCatalogEntrySchema = object({
10804
10861
  id: string(),
10805
10862
  name: string(),
@@ -10926,6 +10983,16 @@ var ModelCatalogEntrySchema = object({
10926
10983
  */
10927
10984
  classMap: DetectionCatalogClassMapSchema.optional(),
10928
10985
  /**
10986
+ * The pipeline steps this ROOT detector already does the work of (D715):
10987
+ * its labels name the effect the step exists to produce (`deer` for
10988
+ * `animal-classifier`, `package` for `package-detection`). Derived from the
10989
+ * labelmap by `deriveClassifierFills`, never hand-written; a COCO model
10990
+ * declares none. Whether a declaration is honoured is the step's own
10991
+ * `labelLink` policy (`resolveLabelLink`). `labelToEffect` values are in
10992
+ * `FILLABLE_STEP_VOCABULARIES` (guard `check-label-link-vocabulary`).
10993
+ */
10994
+ fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional(),
10995
+ /**
10929
10996
  * The model's CLIP feature-space contract (text encoder, dimension, vector
10930
10997
  * index, token window, search floor) — see `clip-model.ts`. Present ONLY on a
10931
10998
  * CLIP image encoder; its absence is what "not a CLIP model" means to the
@@ -18460,51 +18527,6 @@ var notificationOutputCapability = {
18460
18527
  })
18461
18528
  }
18462
18529
  };
18463
- new Set([
18464
- {
18465
- id: "person",
18466
- name: "Person"
18467
- },
18468
- {
18469
- id: "vehicle",
18470
- name: "Vehicle"
18471
- },
18472
- {
18473
- id: "animal",
18474
- name: "Animal"
18475
- },
18476
- {
18477
- id: "package",
18478
- name: "Package"
18479
- }
18480
- ].map((l) => l.id));
18481
- var COCO_TO_MACRO = {
18482
- mapping: {
18483
- person: "person",
18484
- bicycle: "vehicle",
18485
- car: "vehicle",
18486
- motorcycle: "vehicle",
18487
- airplane: "vehicle",
18488
- bus: "vehicle",
18489
- train: "vehicle",
18490
- truck: "vehicle",
18491
- boat: "vehicle",
18492
- bird: "animal",
18493
- cat: "animal",
18494
- dog: "animal",
18495
- horse: "animal",
18496
- sheep: "animal",
18497
- cow: "animal",
18498
- elephant: "animal",
18499
- bear: "animal",
18500
- zebra: "animal",
18501
- giraffe: "animal",
18502
- suitcase: "package",
18503
- backpack: "package",
18504
- handbag: "package"
18505
- },
18506
- preserveOriginal: false
18507
- };
18508
18530
  var AUDIO_MACRO_LABELS = [
18509
18531
  {
18510
18532
  id: "speech",
@@ -23962,7 +23984,8 @@ var PipelineModelOptionSchema = object({
23962
23984
  group: ModelVariantGroupSchema.optional(),
23963
23985
  legacy: boolean().optional(),
23964
23986
  provider: ModelProviderIdSchema.optional(),
23965
- defaultConfidence: number().optional()
23987
+ defaultConfidence: number().optional(),
23988
+ fillsClassifierEffects: array(FillsClassifierEffectSchema).readonly().optional()
23966
23989
  });
23967
23990
  var ConfigFieldBridge = custom();
23968
23991
  var PipelineAddonSchemaSchema = object({
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  //#endregion
6
- const require_dist = require("../dist-BE_WMCdp.js");
6
+ const require_dist = require("../dist-l71G4EIk.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  //#region src/ha-export/topics.ts
9
9
  /**
@@ -1,4 +1,4 @@
1
- import { $ as oauthIntegrationCapability, C as buildAddonRouteProvider, Ft as EventCategory, I as deviceExportCapability, St as nodePin, a as COCO_TO_MACRO, bt as BaseAddon, c as FanDirectionSchema, i as CAMERA_SWITCH_ORDER, jt as string, l as HvacModeSchema, o as CameraSwitchIdSchema, p as addonRoutesCapability, t as AlarmArmModeSchema, u as MediaPlayerRepeatSchema } from "../dist-Ck6d87Ov.mjs";
1
+ import { $ as oauthIntegrationCapability, C as buildAddonRouteProvider, Ft as EventCategory, I as deviceExportCapability, St as nodePin, a as COCO_TO_MACRO, bt as BaseAddon, c as FanDirectionSchema, i as CAMERA_SWITCH_ORDER, jt as string, l as HvacModeSchema, o as CameraSwitchIdSchema, p as addonRoutesCapability, t as AlarmArmModeSchema, u as MediaPlayerRepeatSchema } from "../dist-H458ct4y.mjs";
2
2
  import { createHmac, timingSafeEqual } from "node:crypto";
3
3
  //#region src/ha-export/topics.ts
4
4
  /**
package/dist/index.js CHANGED
@@ -13,6 +13,5 @@ exports.HaWsClient = require_addon.HaWsClient;
13
13
  exports.authToSettings = require_addon.authToSettings;
14
14
  exports.buildHaAuth = require_addon.buildHaAuth;
15
15
  exports.processEvent = require_addon.processEvent;
16
- exports.resolveAuthConfig = require_addon.resolveAuthConfig;
17
16
  exports.settingsToAuth = require_addon.settingsToAuth;
18
17
  exports.subscribeEntities = require_addon.subscribeEntities;
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { HaProviderAddon, a as HaIntegrationManager, c as HaWsClient, d as HaAuthConfigSchema, f as HaDomain, i as settingsToAuth, l as buildHaAuth, n as HaBrokerRegistry, o as processEvent, p as HaEntityStateSchema, r as authToSettings, s as subscribeEntities, t as HaBrokerEntrySchema, u as resolveAuthConfig } from "./addon.mjs";
1
+ import { HaProviderAddon, a as HaIntegrationManager, c as HaWsClient, d as HaDomain, f as HaEntityStateSchema, i as settingsToAuth, l as buildHaAuth, n as HaBrokerRegistry, o as processEvent, r as authToSettings, s as subscribeEntities, t as HaBrokerEntrySchema, u as HaAuthConfigSchema } from "./addon.mjs";
2
2
  import { HaExportAddon } from "./ha-export/ha-export.addon.mjs";
3
- export { HaAuthConfigSchema, HaBrokerEntrySchema, HaBrokerRegistry, HaDomain, HaEntityStateSchema, HaExportAddon, HaIntegrationManager, HaProviderAddon, HaWsClient, authToSettings, buildHaAuth, processEvent, resolveAuthConfig, settingsToAuth, subscribeEntities };
3
+ export { HaAuthConfigSchema, HaBrokerEntrySchema, HaBrokerRegistry, HaDomain, HaEntityStateSchema, HaExportAddon, HaIntegrationManager, HaProviderAddon, HaWsClient, authToSettings, buildHaAuth, processEvent, settingsToAuth, subscribeEntities };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homeassistant",
3
- "version": "1.2.159",
3
+ "version": "1.2.160",
4
4
  "description": "Home Assistant device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",