@camstack/addon-provider-homematic 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
@@ -12672,7 +12672,21 @@ var NativeCropResultSchema = object({
12672
12672
  /** Packed rgb (24-bit) pixels of the crop. */
12673
12673
  bytes: _instanceof(Uint8Array),
12674
12674
  width: number().int().positive(),
12675
- height: number().int().positive()
12675
+ height: number().int().positive(),
12676
+ /**
12677
+ * Which source served this crop, so a quality-sensitive consumer (the native
12678
+ * `keyFrame`) can reject a degraded fallback:
12679
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12680
+ * quality path).
12681
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12682
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12683
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12684
+ *
12685
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12686
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12687
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12688
+ */
12689
+ tier: _enum(["native", "ram-fullframe"]).optional()
12676
12690
  });
12677
12691
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12678
12692
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17742,7 +17756,8 @@ var LinkedDeviceSchema = object({
17742
17756
  deviceId: number(),
17743
17757
  name: string(),
17744
17758
  location: string().nullable(),
17745
- features: array(string())
17759
+ features: array(string()),
17760
+ producesTrackedEvents: boolean().optional()
17746
17761
  });
17747
17762
  var SavedDeviceRowSchema = object({
17748
17763
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19372,6 +19387,7 @@ var TrackSchema = object({
19372
19387
  deviceId: number(),
19373
19388
  className: string(),
19374
19389
  label: string().optional(),
19390
+ producingDeviceName: string().optional(),
19375
19391
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19376
19392
  source: TrackSourceSchema.optional(),
19377
19393
  firstSeen: number(),
@@ -19509,7 +19525,8 @@ var MediaFileKindEnum = _enum([
19509
19525
  "fullFrameBoxed",
19510
19526
  "faceCrop",
19511
19527
  "plateCrop",
19512
- "keyFrame"
19528
+ "keyFrame",
19529
+ "keyFrameSmall"
19513
19530
  ]);
19514
19531
  var MediaFileSchema = object({
19515
19532
  key: string(),
package/dist/addon.mjs CHANGED
@@ -12673,7 +12673,21 @@ var NativeCropResultSchema = object({
12673
12673
  /** Packed rgb (24-bit) pixels of the crop. */
12674
12674
  bytes: _instanceof(Uint8Array),
12675
12675
  width: number().int().positive(),
12676
- height: number().int().positive()
12676
+ height: number().int().positive(),
12677
+ /**
12678
+ * Which source served this crop, so a quality-sensitive consumer (the native
12679
+ * `keyFrame`) can reject a degraded fallback:
12680
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12681
+ * quality path).
12682
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12683
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12684
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12685
+ *
12686
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12687
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12688
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12689
+ */
12690
+ tier: _enum(["native", "ram-fullframe"]).optional()
12677
12691
  });
12678
12692
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12679
12693
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17743,7 +17757,8 @@ var LinkedDeviceSchema = object({
17743
17757
  deviceId: number(),
17744
17758
  name: string(),
17745
17759
  location: string().nullable(),
17746
- features: array(string())
17760
+ features: array(string()),
17761
+ producesTrackedEvents: boolean().optional()
17747
17762
  });
17748
17763
  var SavedDeviceRowSchema = object({
17749
17764
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19373,6 +19388,7 @@ var TrackSchema = object({
19373
19388
  deviceId: number(),
19374
19389
  className: string(),
19375
19390
  label: string().optional(),
19391
+ producingDeviceName: string().optional(),
19376
19392
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19377
19393
  source: TrackSourceSchema.optional(),
19378
19394
  firstSeen: number(),
@@ -19510,7 +19526,8 @@ var MediaFileKindEnum = _enum([
19510
19526
  "fullFrameBoxed",
19511
19527
  "faceCrop",
19512
19528
  "plateCrop",
19513
- "keyFrame"
19529
+ "keyFrame",
19530
+ "keyFrameSmall"
19514
19531
  ]);
19515
19532
  var MediaFileSchema = object({
19516
19533
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homematic",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Homematic / HomematicIP (CCU3 / RaspberryMatic) device-provider addon for CamStack — wraps the nodehomematic library",
5
5
  "keywords": [
6
6
  "camstack",