@camstack/addon-decoder-nodeav 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/index.js CHANGED
@@ -11339,7 +11339,21 @@ var NativeCropResultSchema = object({
11339
11339
  /** Packed rgb (24-bit) pixels of the crop. */
11340
11340
  bytes: _instanceof(Uint8Array),
11341
11341
  width: number().int().positive(),
11342
- height: number().int().positive()
11342
+ height: number().int().positive(),
11343
+ /**
11344
+ * Which source served this crop, so a quality-sensitive consumer (the native
11345
+ * `keyFrame`) can reject a degraded fallback:
11346
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
11347
+ * quality path).
11348
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
11349
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
11350
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
11351
+ *
11352
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
11353
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
11354
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
11355
+ */
11356
+ tier: _enum(["native", "ram-fullframe"]).optional()
11343
11357
  });
11344
11358
  /** Parent detection context passed to `runDetailSubtree` — the crop's
11345
11359
  * originating detection, in FRAME-space coordinates. Reuses
@@ -14800,7 +14814,8 @@ var LinkedDeviceSchema = object({
14800
14814
  deviceId: number(),
14801
14815
  name: string(),
14802
14816
  location: string().nullable(),
14803
- features: array(string())
14817
+ features: array(string()),
14818
+ producesTrackedEvents: boolean().optional()
14804
14819
  });
14805
14820
  var SavedDeviceRowSchema = object({
14806
14821
  /** Numeric id reserved at allocateDeviceId time. */
@@ -16430,6 +16445,7 @@ var TrackSchema = object({
16430
16445
  deviceId: number(),
16431
16446
  className: string(),
16432
16447
  label: string().optional(),
16448
+ producingDeviceName: string().optional(),
16433
16449
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
16434
16450
  source: TrackSourceSchema.optional(),
16435
16451
  firstSeen: number(),
@@ -16567,7 +16583,8 @@ var MediaFileKindEnum = _enum([
16567
16583
  "fullFrameBoxed",
16568
16584
  "faceCrop",
16569
16585
  "plateCrop",
16570
- "keyFrame"
16586
+ "keyFrame",
16587
+ "keyFrameSmall"
16571
16588
  ]);
16572
16589
  var MediaFileSchema = object({
16573
16590
  key: string(),
package/dist/index.mjs CHANGED
@@ -11335,7 +11335,21 @@ var NativeCropResultSchema = object({
11335
11335
  /** Packed rgb (24-bit) pixels of the crop. */
11336
11336
  bytes: _instanceof(Uint8Array),
11337
11337
  width: number().int().positive(),
11338
- height: number().int().positive()
11338
+ height: number().int().positive(),
11339
+ /**
11340
+ * Which source served this crop, so a quality-sensitive consumer (the native
11341
+ * `keyFrame`) can reject a degraded fallback:
11342
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
11343
+ * quality path).
11344
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
11345
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
11346
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
11347
+ *
11348
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
11349
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
11350
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
11351
+ */
11352
+ tier: _enum(["native", "ram-fullframe"]).optional()
11339
11353
  });
11340
11354
  /** Parent detection context passed to `runDetailSubtree` — the crop's
11341
11355
  * originating detection, in FRAME-space coordinates. Reuses
@@ -14796,7 +14810,8 @@ var LinkedDeviceSchema = object({
14796
14810
  deviceId: number(),
14797
14811
  name: string(),
14798
14812
  location: string().nullable(),
14799
- features: array(string())
14813
+ features: array(string()),
14814
+ producesTrackedEvents: boolean().optional()
14800
14815
  });
14801
14816
  var SavedDeviceRowSchema = object({
14802
14817
  /** Numeric id reserved at allocateDeviceId time. */
@@ -16426,6 +16441,7 @@ var TrackSchema = object({
16426
16441
  deviceId: number(),
16427
16442
  className: string(),
16428
16443
  label: string().optional(),
16444
+ producingDeviceName: string().optional(),
16429
16445
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
16430
16446
  source: TrackSourceSchema.optional(),
16431
16447
  firstSeen: number(),
@@ -16563,7 +16579,8 @@ var MediaFileKindEnum = _enum([
16563
16579
  "fullFrameBoxed",
16564
16580
  "faceCrop",
16565
16581
  "plateCrop",
16566
- "keyFrame"
16582
+ "keyFrame",
16583
+ "keyFrameSmall"
16567
16584
  ]);
16568
16585
  var MediaFileSchema = object({
16569
16586
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-decoder-nodeav",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Standalone in-process node-av decoder addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",