@camstack/addon-provider-amcrest 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
@@ -12732,7 +12732,21 @@ var NativeCropResultSchema = object({
12732
12732
  /** Packed rgb (24-bit) pixels of the crop. */
12733
12733
  bytes: _instanceof(Uint8Array),
12734
12734
  width: number().int().positive(),
12735
- height: number().int().positive()
12735
+ height: number().int().positive(),
12736
+ /**
12737
+ * Which source served this crop, so a quality-sensitive consumer (the native
12738
+ * `keyFrame`) can reject a degraded fallback:
12739
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12740
+ * quality path).
12741
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12742
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12743
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12744
+ *
12745
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12746
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12747
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12748
+ */
12749
+ tier: _enum(["native", "ram-fullframe"]).optional()
12736
12750
  });
12737
12751
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12738
12752
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17736,7 +17750,8 @@ var LinkedDeviceSchema = object({
17736
17750
  deviceId: number(),
17737
17751
  name: string(),
17738
17752
  location: string().nullable(),
17739
- features: array(string())
17753
+ features: array(string()),
17754
+ producesTrackedEvents: boolean().optional()
17740
17755
  });
17741
17756
  var SavedDeviceRowSchema = object({
17742
17757
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19366,6 +19381,7 @@ var TrackSchema = object({
19366
19381
  deviceId: number(),
19367
19382
  className: string(),
19368
19383
  label: string().optional(),
19384
+ producingDeviceName: string().optional(),
19369
19385
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19370
19386
  source: TrackSourceSchema.optional(),
19371
19387
  firstSeen: number(),
@@ -19503,7 +19519,8 @@ var MediaFileKindEnum = _enum([
19503
19519
  "fullFrameBoxed",
19504
19520
  "faceCrop",
19505
19521
  "plateCrop",
19506
- "keyFrame"
19522
+ "keyFrame",
19523
+ "keyFrameSmall"
19507
19524
  ]);
19508
19525
  var MediaFileSchema = object({
19509
19526
  key: string(),
package/dist/addon.mjs CHANGED
@@ -12733,7 +12733,21 @@ var NativeCropResultSchema = object({
12733
12733
  /** Packed rgb (24-bit) pixels of the crop. */
12734
12734
  bytes: _instanceof(Uint8Array),
12735
12735
  width: number().int().positive(),
12736
- height: number().int().positive()
12736
+ height: number().int().positive(),
12737
+ /**
12738
+ * Which source served this crop, so a quality-sensitive consumer (the native
12739
+ * `keyFrame`) can reject a degraded fallback:
12740
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12741
+ * quality path).
12742
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12743
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12744
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12745
+ *
12746
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12747
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12748
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12749
+ */
12750
+ tier: _enum(["native", "ram-fullframe"]).optional()
12737
12751
  });
12738
12752
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12739
12753
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17737,7 +17751,8 @@ var LinkedDeviceSchema = object({
17737
17751
  deviceId: number(),
17738
17752
  name: string(),
17739
17753
  location: string().nullable(),
17740
- features: array(string())
17754
+ features: array(string()),
17755
+ producesTrackedEvents: boolean().optional()
17741
17756
  });
17742
17757
  var SavedDeviceRowSchema = object({
17743
17758
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19367,6 +19382,7 @@ var TrackSchema = object({
19367
19382
  deviceId: number(),
19368
19383
  className: string(),
19369
19384
  label: string().optional(),
19385
+ producingDeviceName: string().optional(),
19370
19386
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19371
19387
  source: TrackSourceSchema.optional(),
19372
19388
  firstSeen: number(),
@@ -19504,7 +19520,8 @@ var MediaFileKindEnum = _enum([
19504
19520
  "fullFrameBoxed",
19505
19521
  "faceCrop",
19506
19522
  "plateCrop",
19507
- "keyFrame"
19523
+ "keyFrame",
19524
+ "keyFrameSmall"
19508
19525
  ]);
19509
19526
  var MediaFileSchema = object({
19510
19527
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-amcrest",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Amcrest/Dahua camera device provider addon for CamStack — Dahua CGI over HTTP(S) with digest auth (snapshot, RTSP catalog, PTZ, image/day-night config)",
5
5
  "keywords": [
6
6
  "camstack",