@camstack/addon-provider-dreame 0.2.0 → 0.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
@@ -12701,7 +12701,21 @@ var NativeCropResultSchema = object({
12701
12701
  /** Packed rgb (24-bit) pixels of the crop. */
12702
12702
  bytes: _instanceof(Uint8Array),
12703
12703
  width: number().int().positive(),
12704
- height: number().int().positive()
12704
+ height: number().int().positive(),
12705
+ /**
12706
+ * Which source served this crop, so a quality-sensitive consumer (the native
12707
+ * `keyFrame`) can reject a degraded fallback:
12708
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12709
+ * quality path).
12710
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12711
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12712
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12713
+ *
12714
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12715
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12716
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12717
+ */
12718
+ tier: _enum(["native", "ram-fullframe"]).optional()
12705
12719
  });
12706
12720
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12707
12721
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17722,7 +17736,8 @@ var LinkedDeviceSchema = object({
17722
17736
  deviceId: number(),
17723
17737
  name: string(),
17724
17738
  location: string().nullable(),
17725
- features: array(string())
17739
+ features: array(string()),
17740
+ producesTrackedEvents: boolean().optional()
17726
17741
  });
17727
17742
  var SavedDeviceRowSchema = object({
17728
17743
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19352,6 +19367,7 @@ var TrackSchema = object({
19352
19367
  deviceId: number(),
19353
19368
  className: string(),
19354
19369
  label: string().optional(),
19370
+ producingDeviceName: string().optional(),
19355
19371
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19356
19372
  source: TrackSourceSchema.optional(),
19357
19373
  firstSeen: number(),
@@ -19489,7 +19505,8 @@ var MediaFileKindEnum = _enum([
19489
19505
  "fullFrameBoxed",
19490
19506
  "faceCrop",
19491
19507
  "plateCrop",
19492
- "keyFrame"
19508
+ "keyFrame",
19509
+ "keyFrameSmall"
19493
19510
  ]);
19494
19511
  var MediaFileSchema = object({
19495
19512
  key: string(),
package/dist/addon.mjs CHANGED
@@ -12701,7 +12701,21 @@ var NativeCropResultSchema = object({
12701
12701
  /** Packed rgb (24-bit) pixels of the crop. */
12702
12702
  bytes: _instanceof(Uint8Array),
12703
12703
  width: number().int().positive(),
12704
- height: number().int().positive()
12704
+ height: number().int().positive(),
12705
+ /**
12706
+ * Which source served this crop, so a quality-sensitive consumer (the native
12707
+ * `keyFrame`) can reject a degraded fallback:
12708
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12709
+ * quality path).
12710
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12711
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12712
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12713
+ *
12714
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12715
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12716
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12717
+ */
12718
+ tier: _enum(["native", "ram-fullframe"]).optional()
12705
12719
  });
12706
12720
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12707
12721
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17722,7 +17736,8 @@ var LinkedDeviceSchema = object({
17722
17736
  deviceId: number(),
17723
17737
  name: string(),
17724
17738
  location: string().nullable(),
17725
- features: array(string())
17739
+ features: array(string()),
17740
+ producesTrackedEvents: boolean().optional()
17726
17741
  });
17727
17742
  var SavedDeviceRowSchema = object({
17728
17743
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19352,6 +19367,7 @@ var TrackSchema = object({
19352
19367
  deviceId: number(),
19353
19368
  className: string(),
19354
19369
  label: string().optional(),
19370
+ producingDeviceName: string().optional(),
19355
19371
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19356
19372
  source: TrackSourceSchema.optional(),
19357
19373
  firstSeen: number(),
@@ -19489,7 +19505,8 @@ var MediaFileKindEnum = _enum([
19489
19505
  "fullFrameBoxed",
19490
19506
  "faceCrop",
19491
19507
  "plateCrop",
19492
- "keyFrame"
19508
+ "keyFrame",
19509
+ "keyFrameSmall"
19493
19510
  ]);
19494
19511
  var MediaFileSchema = object({
19495
19512
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-dreame",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Dreame robot-vacuum / lawn-mower device-provider addon for CamStack — wraps the @apocaliss92/nodedreame Dreamehome cloud client",
5
5
  "keywords": [
6
6
  "camstack",