@camstack/addon-provider-hikvision 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/addon.js CHANGED
@@ -12924,7 +12924,21 @@ var NativeCropResultSchema = object({
12924
12924
  /** Packed rgb (24-bit) pixels of the crop. */
12925
12925
  bytes: _instanceof(Uint8Array),
12926
12926
  width: number().int().positive(),
12927
- height: number().int().positive()
12927
+ height: number().int().positive(),
12928
+ /**
12929
+ * Which source served this crop, so a quality-sensitive consumer (the native
12930
+ * `keyFrame`) can reject a degraded fallback:
12931
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12932
+ * quality path).
12933
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12934
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12935
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12936
+ *
12937
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12938
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12939
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12940
+ */
12941
+ tier: _enum(["native", "ram-fullframe"]).optional()
12928
12942
  });
12929
12943
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12930
12944
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17940,7 +17954,8 @@ var LinkedDeviceSchema = object({
17940
17954
  deviceId: number(),
17941
17955
  name: string(),
17942
17956
  location: string().nullable(),
17943
- features: array(string())
17957
+ features: array(string()),
17958
+ producesTrackedEvents: boolean().optional()
17944
17959
  });
17945
17960
  var SavedDeviceRowSchema = object({
17946
17961
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19570,6 +19585,7 @@ var TrackSchema = object({
19570
19585
  deviceId: number(),
19571
19586
  className: string(),
19572
19587
  label: string().optional(),
19588
+ producingDeviceName: string().optional(),
19573
19589
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19574
19590
  source: TrackSourceSchema.optional(),
19575
19591
  firstSeen: number(),
@@ -19707,7 +19723,8 @@ var MediaFileKindEnum = _enum([
19707
19723
  "fullFrameBoxed",
19708
19724
  "faceCrop",
19709
19725
  "plateCrop",
19710
- "keyFrame"
19726
+ "keyFrame",
19727
+ "keyFrameSmall"
19711
19728
  ]);
19712
19729
  var MediaFileSchema = object({
19713
19730
  key: string(),
package/dist/addon.mjs CHANGED
@@ -12925,7 +12925,21 @@ var NativeCropResultSchema = object({
12925
12925
  /** Packed rgb (24-bit) pixels of the crop. */
12926
12926
  bytes: _instanceof(Uint8Array),
12927
12927
  width: number().int().positive(),
12928
- height: number().int().positive()
12928
+ height: number().int().positive(),
12929
+ /**
12930
+ * Which source served this crop, so a quality-sensitive consumer (the native
12931
+ * `keyFrame`) can reject a degraded fallback:
12932
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
12933
+ * quality path).
12934
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
12935
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
12936
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
12937
+ *
12938
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
12939
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
12940
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
12941
+ */
12942
+ tier: _enum(["native", "ram-fullframe"]).optional()
12929
12943
  });
12930
12944
  /** Parent detection context passed to `runDetailSubtree` — the crop's
12931
12945
  * originating detection, in FRAME-space coordinates. Reuses
@@ -17941,7 +17955,8 @@ var LinkedDeviceSchema = object({
17941
17955
  deviceId: number(),
17942
17956
  name: string(),
17943
17957
  location: string().nullable(),
17944
- features: array(string())
17958
+ features: array(string()),
17959
+ producesTrackedEvents: boolean().optional()
17945
17960
  });
17946
17961
  var SavedDeviceRowSchema = object({
17947
17962
  /** Numeric id reserved at allocateDeviceId time. */
@@ -19571,6 +19586,7 @@ var TrackSchema = object({
19571
19586
  deviceId: number(),
19572
19587
  className: string(),
19573
19588
  label: string().optional(),
19589
+ producingDeviceName: string().optional(),
19574
19590
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
19575
19591
  source: TrackSourceSchema.optional(),
19576
19592
  firstSeen: number(),
@@ -19708,7 +19724,8 @@ var MediaFileKindEnum = _enum([
19708
19724
  "fullFrameBoxed",
19709
19725
  "faceCrop",
19710
19726
  "plateCrop",
19711
- "keyFrame"
19727
+ "keyFrame",
19728
+ "keyFrameSmall"
19712
19729
  ]);
19713
19730
  var MediaFileSchema = object({
19714
19731
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-hikvision",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Hikvision camera device provider addon for CamStack — ISAPI over HTTP(S) with digest auth (snapshot, alarm stream, RTSP discovery)",
5
5
  "keywords": [
6
6
  "camstack",