@camstack/addon-provider-homeassistant 1.2.21 → 1.2.22

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-Bz5ENMVc.js");
2
+ const require_dist = require("./dist-B_S4jFT4.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let node_zlib = require("node:zlib");
5
5
  //#region src/ha-device-source.ts
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as tamperCapability, A as eventEmitterCapability, B as motionCapability, C as connectivityCapability, Ct as url, D as deviceAdoptionCapability, E as coverCapability, F as humiditySensorCapability, H as notificationOutputCapability, I as imageCapability, J as presenceCapability, K as powerMeterCapability, L as lawnMowerControlCapability, M as floodCapability, N as gasCapability, P as humidifierCapability, Q as switchCapability, R as lockControlCapability, S as colorCapability, St as unknown, T as controlCapability, U as notifierCapability, V as normalizeUnit, W as numericSensorCapability, X as scriptRunnerCapability, Y as pressureSensorCapability, Z as smokeCapability, _ as brokerCapability, _t as number, a as EnumSensorDateTimeFormatSchema, at as waterHeaterCapability, b as carbonMonoxideCapability, bt as string, c as addonRoutesCapability, d as ambientLightSensorCapability, dt as DeviceType, et as temperatureSensorCapability, f as automationControlCapability, ft as createEvent, g as brightnessCapability, gt as literal, h as binaryCapability, ht as discriminatedUnion, it as vibrationCapability, j as fanControlCapability, k as enumSensorCapability, l as airQualitySensorCapability, lt as DeviceFeature, m as bestLocationMatch, mt as array, n as BaseDeviceProvider, nt as vacuumControlCapability, o as TargetSchema, ot as weatherCapability, p as batteryCapability, pt as _enum, q as prepareNotification, rt as valveCapability, s as accessoriesCapability, st as errMsg, t as BaseDevice, tt as updateCapability, u as alarmPanelCapability, ut as DeviceRole, v as buildAddonRouteProvider, vt as object, w as contactCapability, wt as EventCategory, x as climateControlCapability, xt as union, y as buttonCapability, yt as record, z as mediaPlayerCapability } from "./dist-BSQpoIVg.mjs";
1
+ import { $ as tamperCapability, A as eventEmitterCapability, B as motionCapability, C as connectivityCapability, Ct as url, D as deviceAdoptionCapability, E as coverCapability, F as humiditySensorCapability, H as notificationOutputCapability, I as imageCapability, J as presenceCapability, K as powerMeterCapability, L as lawnMowerControlCapability, M as floodCapability, N as gasCapability, P as humidifierCapability, Q as switchCapability, R as lockControlCapability, S as colorCapability, St as unknown, T as controlCapability, U as notifierCapability, V as normalizeUnit, W as numericSensorCapability, X as scriptRunnerCapability, Y as pressureSensorCapability, Z as smokeCapability, _ as brokerCapability, _t as number, a as EnumSensorDateTimeFormatSchema, at as waterHeaterCapability, b as carbonMonoxideCapability, bt as string, c as addonRoutesCapability, d as ambientLightSensorCapability, dt as DeviceType, et as temperatureSensorCapability, f as automationControlCapability, ft as createEvent, g as brightnessCapability, gt as literal, h as binaryCapability, ht as discriminatedUnion, it as vibrationCapability, j as fanControlCapability, k as enumSensorCapability, l as airQualitySensorCapability, lt as DeviceFeature, m as bestLocationMatch, mt as array, n as BaseDeviceProvider, nt as vacuumControlCapability, o as TargetSchema, ot as weatherCapability, p as batteryCapability, pt as _enum, q as prepareNotification, rt as valveCapability, s as accessoriesCapability, st as errMsg, t as BaseDevice, tt as updateCapability, u as alarmPanelCapability, ut as DeviceRole, v as buildAddonRouteProvider, vt as object, w as contactCapability, wt as EventCategory, x as climateControlCapability, xt as union, y as buttonCapability, yt as record, z as mediaPlayerCapability } from "./dist-CfOPccIv.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { brotliCompressSync, deflateSync, gzipSync } from "node:zlib";
4
4
  //#region src/ha-device-source.ts
@@ -1,4 +1,4 @@
1
- //#region ../types/dist/event-category-41fKf-q9.mjs
1
+ //#region ../types/dist/event-category-Cv9dO26A.mjs
2
2
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
3
3
  EventCategory["SystemBoot"] = "system.boot";
4
4
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -14,6 +14,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
14
14
  */
15
15
  EventCategory["SystemRestartCompleted"] = "system.restart-completed";
16
16
  /**
17
+ * A newer addon or server-root package version was found by the
18
+ * authoritative registry check. Emitted once per
19
+ * `(target, packageName, currentVersion, latestVersion)` transition; repeated
20
+ * polling of the same result is deduplicated by the checker.
21
+ */
22
+ EventCategory["UpdateAvailable"] = "update.available";
23
+ /**
17
24
  * Readiness transition for a capability provider. Every producer emits
18
25
  * this event on `onInitialize` completion, `onDestroy`, and
19
26
  * `$node.reconnect`; every consumer that needs to gate on a cross-process
@@ -14325,8 +14332,35 @@ var NcDeliverySchema = _enum([
14325
14332
  "immediate",
14326
14333
  "track-end",
14327
14334
  "device-event",
14328
- "package-event"
14335
+ "package-event",
14336
+ "system-event"
14337
+ ]);
14338
+ /**
14339
+ * Stable Notification Center vocabulary over infrastructure/liveness events.
14340
+ * Bus categories are normalized into these intent-level kinds so rules do not
14341
+ * depend on a provider's raw event name or payload shape.
14342
+ */
14343
+ var NcSystemEventKindSchema = _enum([
14344
+ "camera-online",
14345
+ "camera-offline",
14346
+ "stream-online",
14347
+ "stream-offline",
14348
+ "node-online",
14349
+ "node-offline",
14350
+ "addon-update-available",
14351
+ "server-update-available"
14329
14352
  ]);
14353
+ /**
14354
+ * One coherent system-event condition. `kinds` is the required opt-in safety
14355
+ * gate; the remaining lists are optional narrowing filters relevant to the
14356
+ * selected kinds.
14357
+ */
14358
+ var NcSystemEventConditionSchema = object({
14359
+ kinds: array(NcSystemEventKindSchema).min(1),
14360
+ deviceIds: array(number().int()).min(1).optional(),
14361
+ nodeIds: array(string().min(1)).min(1).optional(),
14362
+ packageNames: array(string().min(1)).min(1).optional()
14363
+ });
14330
14364
  /** Weekly schedule — OR of windows; absence on the rule = always active. */
14331
14365
  var NcScheduleSchema = object({
14332
14366
  windows: array(object({
@@ -14631,6 +14665,8 @@ var NcConditionsSchema = object({
14631
14665
  "picked-up",
14632
14666
  "both"
14633
14667
  ]).optional(),
14668
+ /** Infrastructure/liveness/update event matcher (`system-event` delivery). */
14669
+ systemEvent: NcSystemEventConditionSchema.optional(),
14634
14670
  /**
14635
14671
  * PERSONAL-RULE custom zones (viewer-drawn). Inline normalized polygons
14636
14672
  * (MaskShape vocabulary). A record passes when its bbox overlaps ANY
@@ -14850,7 +14886,8 @@ var NcTestResultSchema = object({
14850
14886
  "object-event",
14851
14887
  "track",
14852
14888
  "device-event",
14853
- "package-event"
14889
+ "package-event",
14890
+ "system-event"
14854
14891
  ]),
14855
14892
  deviceId: number(),
14856
14893
  timestamp: number(),
@@ -14872,7 +14909,8 @@ var NcConditionDescriptorSchema = object({
14872
14909
  "schedule",
14873
14910
  "device",
14874
14911
  "package",
14875
- "occupancy"
14912
+ "occupancy",
14913
+ "system"
14876
14914
  ]),
14877
14915
  label: string(),
14878
14916
  /** Editor widget the UI renders — never hardcode per-condition forms. */
@@ -14890,7 +14928,8 @@ var NcConditionDescriptorSchema = object({
14890
14928
  "crossingSelect",
14891
14929
  "polygonDraw",
14892
14930
  "occupancy",
14893
- "deviceState"
14931
+ "deviceState",
14932
+ "systemEvent"
14894
14933
  ]),
14895
14934
  operator: _enum([
14896
14935
  "in",
@@ -14949,7 +14988,8 @@ var NcHistoryRecordKindSchema = _enum([
14949
14988
  "object-event",
14950
14989
  "track-end",
14951
14990
  "device-event",
14952
- "package-event"
14991
+ "package-event",
14992
+ "system-event"
14953
14993
  ]);
14954
14994
  /** Subject summary frozen on the row at fire time (survives rule/record edits). */
14955
14995
  var NcHistorySubjectSchema = object({
@@ -14957,7 +14997,14 @@ var NcHistorySubjectSchema = object({
14957
14997
  label: string().optional(),
14958
14998
  confidence: number().optional(),
14959
14999
  zones: array(string()),
14960
- timestamp: number()
15000
+ timestamp: number(),
15001
+ systemEvent: object({
15002
+ kind: NcSystemEventKindSchema,
15003
+ subject: string(),
15004
+ title: string(),
15005
+ body: string(),
15006
+ data: record(string(), unknown())
15007
+ }).optional()
14961
15008
  });
14962
15009
  /**
14963
15010
  * One delivery-history row. This is a read-only VIEW over the durable
@@ -1,4 +1,4 @@
1
- //#region ../types/dist/event-category-41fKf-q9.mjs
1
+ //#region ../types/dist/event-category-Cv9dO26A.mjs
2
2
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
3
3
  EventCategory["SystemBoot"] = "system.boot";
4
4
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -14,6 +14,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
14
14
  */
15
15
  EventCategory["SystemRestartCompleted"] = "system.restart-completed";
16
16
  /**
17
+ * A newer addon or server-root package version was found by the
18
+ * authoritative registry check. Emitted once per
19
+ * `(target, packageName, currentVersion, latestVersion)` transition; repeated
20
+ * polling of the same result is deduplicated by the checker.
21
+ */
22
+ EventCategory["UpdateAvailable"] = "update.available";
23
+ /**
17
24
  * Readiness transition for a capability provider. Every producer emits
18
25
  * this event on `onInitialize` completion, `onDestroy`, and
19
26
  * `$node.reconnect`; every consumer that needs to gate on a cross-process
@@ -14325,8 +14332,35 @@ var NcDeliverySchema = _enum([
14325
14332
  "immediate",
14326
14333
  "track-end",
14327
14334
  "device-event",
14328
- "package-event"
14335
+ "package-event",
14336
+ "system-event"
14337
+ ]);
14338
+ /**
14339
+ * Stable Notification Center vocabulary over infrastructure/liveness events.
14340
+ * Bus categories are normalized into these intent-level kinds so rules do not
14341
+ * depend on a provider's raw event name or payload shape.
14342
+ */
14343
+ var NcSystemEventKindSchema = _enum([
14344
+ "camera-online",
14345
+ "camera-offline",
14346
+ "stream-online",
14347
+ "stream-offline",
14348
+ "node-online",
14349
+ "node-offline",
14350
+ "addon-update-available",
14351
+ "server-update-available"
14329
14352
  ]);
14353
+ /**
14354
+ * One coherent system-event condition. `kinds` is the required opt-in safety
14355
+ * gate; the remaining lists are optional narrowing filters relevant to the
14356
+ * selected kinds.
14357
+ */
14358
+ var NcSystemEventConditionSchema = object({
14359
+ kinds: array(NcSystemEventKindSchema).min(1),
14360
+ deviceIds: array(number().int()).min(1).optional(),
14361
+ nodeIds: array(string().min(1)).min(1).optional(),
14362
+ packageNames: array(string().min(1)).min(1).optional()
14363
+ });
14330
14364
  /** Weekly schedule — OR of windows; absence on the rule = always active. */
14331
14365
  var NcScheduleSchema = object({
14332
14366
  windows: array(object({
@@ -14631,6 +14665,8 @@ var NcConditionsSchema = object({
14631
14665
  "picked-up",
14632
14666
  "both"
14633
14667
  ]).optional(),
14668
+ /** Infrastructure/liveness/update event matcher (`system-event` delivery). */
14669
+ systemEvent: NcSystemEventConditionSchema.optional(),
14634
14670
  /**
14635
14671
  * PERSONAL-RULE custom zones (viewer-drawn). Inline normalized polygons
14636
14672
  * (MaskShape vocabulary). A record passes when its bbox overlaps ANY
@@ -14850,7 +14886,8 @@ var NcTestResultSchema = object({
14850
14886
  "object-event",
14851
14887
  "track",
14852
14888
  "device-event",
14853
- "package-event"
14889
+ "package-event",
14890
+ "system-event"
14854
14891
  ]),
14855
14892
  deviceId: number(),
14856
14893
  timestamp: number(),
@@ -14872,7 +14909,8 @@ var NcConditionDescriptorSchema = object({
14872
14909
  "schedule",
14873
14910
  "device",
14874
14911
  "package",
14875
- "occupancy"
14912
+ "occupancy",
14913
+ "system"
14876
14914
  ]),
14877
14915
  label: string(),
14878
14916
  /** Editor widget the UI renders — never hardcode per-condition forms. */
@@ -14890,7 +14928,8 @@ var NcConditionDescriptorSchema = object({
14890
14928
  "crossingSelect",
14891
14929
  "polygonDraw",
14892
14930
  "occupancy",
14893
- "deviceState"
14931
+ "deviceState",
14932
+ "systemEvent"
14894
14933
  ]),
14895
14934
  operator: _enum([
14896
14935
  "in",
@@ -14949,7 +14988,8 @@ var NcHistoryRecordKindSchema = _enum([
14949
14988
  "object-event",
14950
14989
  "track-end",
14951
14990
  "device-event",
14952
- "package-event"
14991
+ "package-event",
14992
+ "system-event"
14953
14993
  ]);
14954
14994
  /** Subject summary frozen on the row at fire time (survives rule/record edits). */
14955
14995
  var NcHistorySubjectSchema = object({
@@ -14957,7 +14997,14 @@ var NcHistorySubjectSchema = object({
14957
14997
  label: string().optional(),
14958
14998
  confidence: number().optional(),
14959
14999
  zones: array(string()),
14960
- timestamp: number()
15000
+ timestamp: number(),
15001
+ systemEvent: object({
15002
+ kind: NcSystemEventKindSchema,
15003
+ subject: string(),
15004
+ title: string(),
15005
+ body: string(),
15006
+ data: record(string(), unknown())
15007
+ }).optional()
14961
15008
  });
14962
15009
  /**
14963
15010
  * One delivery-history row. This is a read-only VIEW over the durable
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  //#endregion
6
- const require_dist = require("../dist-Bz5ENMVc.js");
6
+ const require_dist = require("../dist-B_S4jFT4.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 { G as oauthIntegrationCapability, O as deviceExportCapability, bt as string, c as addonRoutesCapability, ct as BaseAddon, i as CameraSwitchIdSchema, r as COCO_TO_MACRO, v as buildAddonRouteProvider, wt as EventCategory } from "../dist-BSQpoIVg.mjs";
1
+ import { G as oauthIntegrationCapability, O as deviceExportCapability, bt as string, c as addonRoutesCapability, ct as BaseAddon, i as CameraSwitchIdSchema, r as COCO_TO_MACRO, v as buildAddonRouteProvider, wt as EventCategory } from "../dist-CfOPccIv.mjs";
2
2
  import { createHmac, timingSafeEqual } from "node:crypto";
3
3
  //#region src/ha-export/topics.ts
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homeassistant",
3
- "version": "1.2.21",
3
+ "version": "1.2.22",
4
4
  "description": "Home Assistant device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",