@camstack/addon-provider-unraid 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
@@ -12663,7 +12663,21 @@ var NativeCropResultSchema = object({
12663
12663
  /** Packed rgb (24-bit) pixels of the crop. */
12664
12664
  bytes: _instanceof(Uint8Array),
12665
12665
  width: number().int().positive(),
12666
- height: number().int().positive()
12666
+ height: number().int().positive(),
12667
+ /**
12668
+ * Which source served this crop, so a quality-sensitive consumer (the native
12669
+ * `keyFrame`) can reject a degraded fallback:
12670
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12671
+ * quality path).
12672
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12673
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12674
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12675
+ *
12676
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12677
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12678
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12679
+ */
12680
+ tier: _enum(["native", "ram-fullframe"]).optional()
12667
12681
  });
12668
12682
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12669
12683
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17667,7 +17681,8 @@ var LinkedDeviceSchema = object({
17667
17681
  deviceId: number(),
17668
17682
  name: string(),
17669
17683
  location: string().nullable(),
17670
- features: array(string())
17684
+ features: array(string()),
17685
+ producesTrackedEvents: boolean().optional()
17671
17686
  });
17672
17687
  var SavedDeviceRowSchema = object({
17673
17688
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19297,6 +19312,7 @@ var TrackSchema = object({
19297
19312
  deviceId: number(),
19298
19313
  className: string(),
19299
19314
  label: string().optional(),
19315
+ producingDeviceName: string().optional(),
19300
19316
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19301
19317
  source: TrackSourceSchema.optional(),
19302
19318
  firstSeen: number(),
@@ -19434,7 +19450,8 @@ var MediaFileKindEnum = _enum([
19434
19450
  "fullFrameBoxed",
19435
19451
  "faceCrop",
19436
19452
  "plateCrop",
19437
- "keyFrame"
19453
+ "keyFrame",
19454
+ "keyFrameSmall"
19438
19455
  ]);
19439
19456
  var MediaFileSchema = object({
19440
19457
  key: string(),
package/dist/addon.mjs CHANGED
@@ -12662,7 +12662,21 @@ var NativeCropResultSchema = object({
12662
12662
  /** Packed rgb (24-bit) pixels of the crop. */
12663
12663
  bytes: _instanceof(Uint8Array),
12664
12664
  width: number().int().positive(),
12665
- height: number().int().positive()
12665
+ height: number().int().positive(),
12666
+ /**
12667
+ * Which source served this crop, so a quality-sensitive consumer (the native
12668
+ * `keyFrame`) can reject a degraded fallback:
12669
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12670
+ * quality path).
12671
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12672
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12673
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12674
+ *
12675
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12676
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12677
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12678
+ */
12679
+ tier: _enum(["native", "ram-fullframe"]).optional()
12666
12680
  });
12667
12681
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12668
12682
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17666,7 +17680,8 @@ var LinkedDeviceSchema = object({
17666
17680
  deviceId: number(),
17667
17681
  name: string(),
17668
17682
  location: string().nullable(),
17669
- features: array(string())
17683
+ features: array(string()),
17684
+ producesTrackedEvents: boolean().optional()
17670
17685
  });
17671
17686
  var SavedDeviceRowSchema = object({
17672
17687
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19296,6 +19311,7 @@ var TrackSchema = object({
19296
19311
  deviceId: number(),
19297
19312
  className: string(),
19298
19313
  label: string().optional(),
19314
+ producingDeviceName: string().optional(),
19299
19315
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19300
19316
  source: TrackSourceSchema.optional(),
19301
19317
  firstSeen: number(),
@@ -19433,7 +19449,8 @@ var MediaFileKindEnum = _enum([
19433
19449
  "fullFrameBoxed",
19434
19450
  "faceCrop",
19435
19451
  "plateCrop",
19436
- "keyFrame"
19452
+ "keyFrame",
19453
+ "keyFrameSmall"
19437
19454
  ]);
19438
19455
  var MediaFileSchema = object({
19439
19456
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-unraid",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Unraid device-provider addon for CamStack — one Container per Unraid instance fanning out array, disk, docker and notification entities",
5
5
  "keywords": [
6
6
  "camstack",