@camstack/addon-provider-wyze 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
@@ -12680,7 +12680,21 @@ var NativeCropResultSchema = object({
12680
12680
  /** Packed rgb (24-bit) pixels of the crop. */
12681
12681
  bytes: _instanceof(Uint8Array),
12682
12682
  width: number().int().positive(),
12683
- height: number().int().positive()
12683
+ height: number().int().positive(),
12684
+ /**
12685
+ * Which source served this crop, so a quality-sensitive consumer (the native
12686
+ * `keyFrame`) can reject a degraded fallback:
12687
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12688
+ * quality path).
12689
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12690
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12691
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12692
+ *
12693
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12694
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12695
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12696
+ */
12697
+ tier: _enum(["native", "ram-fullframe"]).optional()
12684
12698
  });
12685
12699
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12686
12700
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17701,7 +17715,8 @@ var LinkedDeviceSchema = object({
17701
17715
  deviceId: number(),
17702
17716
  name: string(),
17703
17717
  location: string().nullable(),
17704
- features: array(string())
17718
+ features: array(string()),
17719
+ producesTrackedEvents: boolean().optional()
17705
17720
  });
17706
17721
  var SavedDeviceRowSchema = object({
17707
17722
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19331,6 +19346,7 @@ var TrackSchema = object({
19331
19346
  deviceId: number(),
19332
19347
  className: string(),
19333
19348
  label: string().optional(),
19349
+ producingDeviceName: string().optional(),
19334
19350
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19335
19351
  source: TrackSourceSchema.optional(),
19336
19352
  firstSeen: number(),
@@ -19468,7 +19484,8 @@ var MediaFileKindEnum = _enum([
19468
19484
  "fullFrameBoxed",
19469
19485
  "faceCrop",
19470
19486
  "plateCrop",
19471
- "keyFrame"
19487
+ "keyFrame",
19488
+ "keyFrameSmall"
19472
19489
  ]);
19473
19490
  var MediaFileSchema = object({
19474
19491
  key: string(),
package/dist/addon.mjs CHANGED
@@ -12659,7 +12659,21 @@ var NativeCropResultSchema = object({
12659
12659
  /** Packed rgb (24-bit) pixels of the crop. */
12660
12660
  bytes: _instanceof(Uint8Array),
12661
12661
  width: number().int().positive(),
12662
- height: number().int().positive()
12662
+ height: number().int().positive(),
12663
+ /**
12664
+ * Which source served this crop, so a quality-sensitive consumer (the native
12665
+ * `keyFrame`) can reject a degraded fallback:
12666
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12667
+ * quality path).
12668
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12669
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12670
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12671
+ *
12672
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12673
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12674
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12675
+ */
12676
+ tier: _enum(["native", "ram-fullframe"]).optional()
12663
12677
  });
12664
12678
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12665
12679
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17680,7 +17694,8 @@ var LinkedDeviceSchema = object({
17680
17694
  deviceId: number(),
17681
17695
  name: string(),
17682
17696
  location: string().nullable(),
17683
- features: array(string())
17697
+ features: array(string()),
17698
+ producesTrackedEvents: boolean().optional()
17684
17699
  });
17685
17700
  var SavedDeviceRowSchema = object({
17686
17701
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19310,6 +19325,7 @@ var TrackSchema = object({
19310
19325
  deviceId: number(),
19311
19326
  className: string(),
19312
19327
  label: string().optional(),
19328
+ producingDeviceName: string().optional(),
19313
19329
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19314
19330
  source: TrackSourceSchema.optional(),
19315
19331
  firstSeen: number(),
@@ -19447,7 +19463,8 @@ var MediaFileKindEnum = _enum([
19447
19463
  "fullFrameBoxed",
19448
19464
  "faceCrop",
19449
19465
  "plateCrop",
19450
- "keyFrame"
19466
+ "keyFrame",
19467
+ "keyFrameSmall"
19451
19468
  ]);
19452
19469
  var MediaFileSchema = object({
19453
19470
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-wyze",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Wyze camera device-provider addon for CamStack — wraps the @apocaliss92/wyze-bridge-js P2P/DTLS client, feeding the stream-broker via the pull-rfc4571 lazy-publish path (a structural twin of addon-provider-reolink)",
5
5
  "keywords": [
6
6
  "camstack",