@camstack/addon-provider-homeassistant 1.2.0 → 1.2.1

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
@@ -13006,7 +13006,21 @@ var NativeCropResultSchema = object({
13006
13006
  /** Packed rgb (24-bit) pixels of the crop. */
13007
13007
  bytes: _instanceof(Uint8Array),
13008
13008
  width: number().int().positive(),
13009
- height: number().int().positive()
13009
+ height: number().int().positive(),
13010
+ /**
13011
+ * Which source served this crop, so a quality-sensitive consumer (the native
13012
+ * `keyFrame`) can reject a degraded fallback:
13013
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
13014
+ * quality path).
13015
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
13016
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
13017
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
13018
+ *
13019
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
13020
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
13021
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
13022
+ */
13023
+ tier: _enum(["native", "ram-fullframe"]).optional()
13010
13024
  });
13011
13025
  /** Parent detection context passed to `runDetailSubtree` — the crop's
13012
13026
  * originating detection, in FRAME-space coordinates. Reuses
@@ -18095,7 +18109,8 @@ var LinkedDeviceSchema = object({
18095
18109
  deviceId: number(),
18096
18110
  name: string(),
18097
18111
  location: string().nullable(),
18098
- features: array(string())
18112
+ features: array(string()),
18113
+ producesTrackedEvents: boolean().optional()
18099
18114
  });
18100
18115
  var SavedDeviceRowSchema = object({
18101
18116
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19739,6 +19754,7 @@ var TrackSchema = object({
19739
19754
  deviceId: number(),
19740
19755
  className: string(),
19741
19756
  label: string().optional(),
19757
+ producingDeviceName: string().optional(),
19742
19758
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19743
19759
  source: TrackSourceSchema.optional(),
19744
19760
  firstSeen: number(),
@@ -19876,7 +19892,8 @@ var MediaFileKindEnum = _enum([
19876
19892
  "fullFrameBoxed",
19877
19893
  "faceCrop",
19878
19894
  "plateCrop",
19879
- "keyFrame"
19895
+ "keyFrame",
19896
+ "keyFrameSmall"
19880
19897
  ]);
19881
19898
  var MediaFileSchema = object({
19882
19899
  key: string(),
package/dist/addon.mjs CHANGED
@@ -13005,7 +13005,21 @@ var NativeCropResultSchema = object({
13005
13005
  /** Packed rgb (24-bit) pixels of the crop. */
13006
13006
  bytes: _instanceof(Uint8Array),
13007
13007
  width: number().int().positive(),
13008
- height: number().int().positive()
13008
+ height: number().int().positive(),
13009
+ /**
13010
+ * Which source served this crop, so a quality-sensitive consumer (the native
13011
+ * `keyFrame`) can reject a degraded fallback:
13012
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
13013
+ * quality path).
13014
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
13015
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
13016
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
13017
+ *
13018
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
13019
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
13020
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
13021
+ */
13022
+ tier: _enum(["native", "ram-fullframe"]).optional()
13009
13023
  });
13010
13024
  /** Parent detection context passed to `runDetailSubtree` — the crop's
13011
13025
  * originating detection, in FRAME-space coordinates. Reuses
@@ -18094,7 +18108,8 @@ var LinkedDeviceSchema = object({
18094
18108
  deviceId: number(),
18095
18109
  name: string(),
18096
18110
  location: string().nullable(),
18097
- features: array(string())
18111
+ features: array(string()),
18112
+ producesTrackedEvents: boolean().optional()
18098
18113
  });
18099
18114
  var SavedDeviceRowSchema = object({
18100
18115
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19738,6 +19753,7 @@ var TrackSchema = object({
19738
19753
  deviceId: number(),
19739
19754
  className: string(),
19740
19755
  label: string().optional(),
19756
+ producingDeviceName: string().optional(),
19741
19757
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19742
19758
  source: TrackSourceSchema.optional(),
19743
19759
  firstSeen: number(),
@@ -19875,7 +19891,8 @@ var MediaFileKindEnum = _enum([
19875
19891
  "fullFrameBoxed",
19876
19892
  "faceCrop",
19877
19893
  "plateCrop",
19878
- "keyFrame"
19894
+ "keyFrame",
19895
+ "keyFrameSmall"
19879
19896
  ]);
19880
19897
  var MediaFileSchema = object({
19881
19898
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homeassistant",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Home Assistant device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",