@camstack/addon-provider-dreo 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
@@ -12685,7 +12685,21 @@ var NativeCropResultSchema = object({
12685
12685
  /** Packed rgb (24-bit) pixels of the crop. */
12686
12686
  bytes: _instanceof(Uint8Array),
12687
12687
  width: number().int().positive(),
12688
- height: number().int().positive()
12688
+ height: number().int().positive(),
12689
+ /**
12690
+ * Which source served this crop, so a quality-sensitive consumer (the native
12691
+ * `keyFrame`) can reject a degraded fallback:
12692
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12693
+ * quality path).
12694
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12695
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12696
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12697
+ *
12698
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12699
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12700
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12701
+ */
12702
+ tier: _enum(["native", "ram-fullframe"]).optional()
12689
12703
  });
12690
12704
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12691
12705
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17706,7 +17720,8 @@ var LinkedDeviceSchema = object({
17706
17720
  deviceId: number(),
17707
17721
  name: string(),
17708
17722
  location: string().nullable(),
17709
- features: array(string())
17723
+ features: array(string()),
17724
+ producesTrackedEvents: boolean().optional()
17710
17725
  });
17711
17726
  var SavedDeviceRowSchema = object({
17712
17727
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19336,6 +19351,7 @@ var TrackSchema = object({
19336
19351
  deviceId: number(),
19337
19352
  className: string(),
19338
19353
  label: string().optional(),
19354
+ producingDeviceName: string().optional(),
19339
19355
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19340
19356
  source: TrackSourceSchema.optional(),
19341
19357
  firstSeen: number(),
@@ -19473,7 +19489,8 @@ var MediaFileKindEnum = _enum([
19473
19489
  "fullFrameBoxed",
19474
19490
  "faceCrop",
19475
19491
  "plateCrop",
19476
- "keyFrame"
19492
+ "keyFrame",
19493
+ "keyFrameSmall"
19477
19494
  ]);
19478
19495
  var MediaFileSchema = object({
19479
19496
  key: string(),
package/dist/addon.mjs CHANGED
@@ -12686,7 +12686,21 @@ var NativeCropResultSchema = object({
12686
12686
  /** Packed rgb (24-bit) pixels of the crop. */
12687
12687
  bytes: _instanceof(Uint8Array),
12688
12688
  width: number().int().positive(),
12689
- height: number().int().positive()
12689
+ height: number().int().positive(),
12690
+ /**
12691
+ * Which source served this crop, so a quality-sensitive consumer (the native
12692
+ * `keyFrame`) can reject a degraded fallback:
12693
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12694
+ * quality path).
12695
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12696
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12697
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12698
+ *
12699
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12700
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12701
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12702
+ */
12703
+ tier: _enum(["native", "ram-fullframe"]).optional()
12690
12704
  });
12691
12705
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12692
12706
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17707,7 +17721,8 @@ var LinkedDeviceSchema = object({
17707
17721
  deviceId: number(),
17708
17722
  name: string(),
17709
17723
  location: string().nullable(),
17710
- features: array(string())
17724
+ features: array(string()),
17725
+ producesTrackedEvents: boolean().optional()
17711
17726
  });
17712
17727
  var SavedDeviceRowSchema = object({
17713
17728
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19337,6 +19352,7 @@ var TrackSchema = object({
19337
19352
  deviceId: number(),
19338
19353
  className: string(),
19339
19354
  label: string().optional(),
19355
+ producingDeviceName: string().optional(),
19340
19356
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19341
19357
  source: TrackSourceSchema.optional(),
19342
19358
  firstSeen: number(),
@@ -19474,7 +19490,8 @@ var MediaFileKindEnum = _enum([
19474
19490
  "fullFrameBoxed",
19475
19491
  "faceCrop",
19476
19492
  "plateCrop",
19477
- "keyFrame"
19493
+ "keyFrame",
19494
+ "keyFrameSmall"
19478
19495
  ]);
19479
19496
  var MediaFileSchema = object({
19480
19497
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-dreo",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Dreo smart-device (fan / air-circulator / purifier / heater / humidifier) device-provider addon for CamStack — wraps the @apocaliss92/nodedreo Dreo cloud client (REST + WebSocket)",
5
5
  "keywords": [
6
6
  "camstack",