@camstack/addon-mqtt-broker 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.
@@ -11368,7 +11368,21 @@ var NativeCropResultSchema = object({
11368
11368
  /** Packed rgb (24-bit) pixels of the crop. */
11369
11369
  bytes: _instanceof(Uint8Array),
11370
11370
  width: number().int().positive(),
11371
- height: number().int().positive()
11371
+ height: number().int().positive(),
11372
+ /**
11373
+ * Which source served this crop, so a quality-sensitive consumer (the native
11374
+ * `keyFrame`) can reject a degraded fallback:
11375
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
11376
+ * quality path).
11377
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
11378
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
11379
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
11380
+ *
11381
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
11382
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
11383
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
11384
+ */
11385
+ tier: _enum(["native", "ram-fullframe"]).optional()
11372
11386
  });
11373
11387
  /** Parent detection context passed to `runDetailSubtree` — the crop's
11374
11388
  * originating detection, in FRAME-space coordinates. Reuses
@@ -14748,7 +14762,8 @@ var LinkedDeviceSchema = object({
14748
14762
  deviceId: number(),
14749
14763
  name: string(),
14750
14764
  location: string().nullable(),
14751
- features: array(string())
14765
+ features: array(string()),
14766
+ producesTrackedEvents: boolean().optional()
14752
14767
  });
14753
14768
  var SavedDeviceRowSchema = object({
14754
14769
  /** Numeric id reserved at allocateDeviceId time. */
@@ -16397,6 +16412,7 @@ var TrackSchema = object({
16397
16412
  deviceId: number(),
16398
16413
  className: string(),
16399
16414
  label: string().optional(),
16415
+ producingDeviceName: string().optional(),
16400
16416
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
16401
16417
  source: TrackSourceSchema.optional(),
16402
16418
  firstSeen: number(),
@@ -16534,7 +16550,8 @@ var MediaFileKindEnum = _enum([
16534
16550
  "fullFrameBoxed",
16535
16551
  "faceCrop",
16536
16552
  "plateCrop",
16537
- "keyFrame"
16553
+ "keyFrame",
16554
+ "keyFrameSmall"
16538
16555
  ]);
16539
16556
  var MediaFileSchema = object({
16540
16557
  key: string(),
@@ -11363,7 +11363,21 @@ var NativeCropResultSchema = object({
11363
11363
  /** Packed rgb (24-bit) pixels of the crop. */
11364
11364
  bytes: _instanceof(Uint8Array),
11365
11365
  width: number().int().positive(),
11366
- height: number().int().positive()
11366
+ height: number().int().positive(),
11367
+ /**
11368
+ * Which source served this crop, so a quality-sensitive consumer (the native
11369
+ * `keyFrame`) can reject a degraded fallback:
11370
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
11371
+ * quality path).
11372
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
11373
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
11374
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
11375
+ *
11376
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
11377
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
11378
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
11379
+ */
11380
+ tier: _enum(["native", "ram-fullframe"]).optional()
11367
11381
  });
11368
11382
  /** Parent detection context passed to `runDetailSubtree` — the crop's
11369
11383
  * originating detection, in FRAME-space coordinates. Reuses
@@ -14743,7 +14757,8 @@ var LinkedDeviceSchema = object({
14743
14757
  deviceId: number(),
14744
14758
  name: string(),
14745
14759
  location: string().nullable(),
14746
- features: array(string())
14760
+ features: array(string()),
14761
+ producesTrackedEvents: boolean().optional()
14747
14762
  });
14748
14763
  var SavedDeviceRowSchema = object({
14749
14764
  /** Numeric id reserved at allocateDeviceId time. */
@@ -16392,6 +16407,7 @@ var TrackSchema = object({
16392
16407
  deviceId: number(),
16393
16408
  className: string(),
16394
16409
  label: string().optional(),
16410
+ producingDeviceName: string().optional(),
16395
16411
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
16396
16412
  source: TrackSourceSchema.optional(),
16397
16413
  firstSeen: number(),
@@ -16529,7 +16545,8 @@ var MediaFileKindEnum = _enum([
16529
16545
  "fullFrameBoxed",
16530
16546
  "faceCrop",
16531
16547
  "plateCrop",
16532
- "keyFrame"
16548
+ "keyFrame",
16549
+ "keyFrameSmall"
16533
16550
  ]);
16534
16551
  var MediaFileSchema = object({
16535
16552
  key: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-mqtt-broker",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "MQTT broker registry addon for CamStack — manages external broker entries + an optional embedded aedes broker. Consumers spin up their own `mqtt.js` clients via the `mqtt-broker` cap.",
5
5
  "keywords": [
6
6
  "camstack",