@camstack/addon-cloudflare 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.
@@ -11322,7 +11322,21 @@ var NativeCropResultSchema = object({
11322
11322
  /** Packed rgb (24-bit) pixels of the crop. */
11323
11323
  bytes: _instanceof(Uint8Array),
11324
11324
  width: number().int().positive(),
11325
- height: number().int().positive()
11325
+ height: number().int().positive(),
11326
+ /**
11327
+ * Which source served this crop, so a quality-sensitive consumer (the native
11328
+ * `keyFrame`) can reject a degraded fallback:
11329
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
11330
+ * quality path).
11331
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
11332
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
11333
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
11334
+ *
11335
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
11336
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
11337
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
11338
+ */
11339
+ tier: _enum(["native", "ram-fullframe"]).optional()
11326
11340
  });
11327
11341
  /** Parent detection context passed to `runDetailSubtree` — the crop's
11328
11342
  * originating detection, in FRAME-space coordinates. Reuses
@@ -14674,7 +14688,8 @@ var LinkedDeviceSchema = object({
14674
14688
  deviceId: number(),
14675
14689
  name: string(),
14676
14690
  location: string().nullable(),
14677
- features: array(string())
14691
+ features: array(string()),
14692
+ producesTrackedEvents: boolean().optional()
14678
14693
  });
14679
14694
  var SavedDeviceRowSchema = object({
14680
14695
  /** Numeric id reserved at allocateDeviceId time. */
@@ -16321,6 +16336,7 @@ var TrackSchema = object({
16321
16336
  deviceId: number(),
16322
16337
  className: string(),
16323
16338
  label: string().optional(),
16339
+ producingDeviceName: string().optional(),
16324
16340
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
16325
16341
  source: TrackSourceSchema.optional(),
16326
16342
  firstSeen: number(),
@@ -16458,7 +16474,8 @@ var MediaFileKindEnum = _enum([
16458
16474
  "fullFrameBoxed",
16459
16475
  "faceCrop",
16460
16476
  "plateCrop",
16461
- "keyFrame"
16477
+ "keyFrame",
16478
+ "keyFrameSmall"
16462
16479
  ]);
16463
16480
  var MediaFileSchema = object({
16464
16481
  key: string(),
@@ -11322,7 +11322,21 @@ var NativeCropResultSchema = object({
11322
11322
  /** Packed rgb (24-bit) pixels of the crop. */
11323
11323
  bytes: _instanceof(Uint8Array),
11324
11324
  width: number().int().positive(),
11325
- height: number().int().positive()
11325
+ height: number().int().positive(),
11326
+ /**
11327
+ * Which source served this crop, so a quality-sensitive consumer (the native
11328
+ * `keyFrame`) can reject a degraded fallback:
11329
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
11330
+ * quality path).
11331
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
11332
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
11333
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
11334
+ *
11335
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
11336
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
11337
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
11338
+ */
11339
+ tier: _enum(["native", "ram-fullframe"]).optional()
11326
11340
  });
11327
11341
  /** Parent detection context passed to `runDetailSubtree` — the crop's
11328
11342
  * originating detection, in FRAME-space coordinates. Reuses
@@ -14674,7 +14688,8 @@ var LinkedDeviceSchema = object({
14674
14688
  deviceId: number(),
14675
14689
  name: string(),
14676
14690
  location: string().nullable(),
14677
- features: array(string())
14691
+ features: array(string()),
14692
+ producesTrackedEvents: boolean().optional()
14678
14693
  });
14679
14694
  var SavedDeviceRowSchema = object({
14680
14695
  /** Numeric id reserved at allocateDeviceId time. */
@@ -16321,6 +16336,7 @@ var TrackSchema = object({
16321
16336
  deviceId: number(),
16322
16337
  className: string(),
16323
16338
  label: string().optional(),
16339
+ producingDeviceName: string().optional(),
16324
16340
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
16325
16341
  source: TrackSourceSchema.optional(),
16326
16342
  firstSeen: number(),
@@ -16458,7 +16474,8 @@ var MediaFileKindEnum = _enum([
16458
16474
  "fullFrameBoxed",
16459
16475
  "faceCrop",
16460
16476
  "plateCrop",
16461
- "keyFrame"
16477
+ "keyFrame",
16478
+ "keyFrameSmall"
16462
16479
  ]);
16463
16480
  var MediaFileSchema = object({
16464
16481
  key: string(),
@@ -21,7 +21,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  enumerable: true
22
22
  }) : target, mod));
23
23
  //#endregion
24
- const require_dist = require("../dist-BlG4exZI.js");
24
+ const require_dist = require("../dist-Dj-pqK75.js");
25
25
  let node_path = require("node:path");
26
26
  node_path = __toESM(node_path);
27
27
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { a as BaseAddon, c as boolean, d as number, f as object, m as EventCategory, n as defineCustomActions, o as _enum, p as string, r as networkAccessCapability, s as array, t as customAction, u as literal } from "../dist-DJJB6LQC.mjs";
1
+ import { a as BaseAddon, c as boolean, d as number, f as object, m as EventCategory, n as defineCustomActions, o as _enum, p as string, r as networkAccessCapability, s as array, t as customAction, u as literal } from "../dist-DcLZyoLm.mjs";
2
2
  import * as path from "node:path";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { spawn } from "node:child_process";
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../dist-BlG4exZI.js");
2
+ const require_dist = require("../dist-Dj-pqK75.js");
3
3
  //#region src/turn/cloudflare-turn.ts
4
4
  /**
5
5
  * Cloudflare returns ICE servers in several flavours depending on which
@@ -1,4 +1,4 @@
1
- import { a as BaseAddon, c as boolean, d as number, f as object, i as turnProviderCapability, l as discriminatedUnion, n as defineCustomActions, p as string, t as customAction, u as literal } from "../dist-DJJB6LQC.mjs";
1
+ import { a as BaseAddon, c as boolean, d as number, f as object, i as turnProviderCapability, l as discriminatedUnion, n as defineCustomActions, p as string, t as customAction, u as literal } from "../dist-DcLZyoLm.mjs";
2
2
  //#region src/turn/cloudflare-turn.ts
3
3
  /**
4
4
  * Cloudflare returns ICE servers in several flavours depending on which
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-cloudflare",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Cloudflare bundle — Tunnel (network-access) + TURN relay (turn-provider). Multi-entry npm package shipping 2 addons under a single bundle.",
5
5
  "keywords": [
6
6
  "camstack",