@camstack/types 1.2.269 → 1.2.270

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.
@@ -176,6 +176,7 @@ export declare const RecordingStorageUsageSchema: z.ZodObject<{
176
176
  unavailable: "unavailable";
177
177
  archive: "archive";
178
178
  }>>;
179
+ complete: z.ZodOptional<z.ZodBoolean>;
179
180
  locations: z.ZodOptional<z.ZodArray<z.ZodObject<{
180
181
  locationId: z.ZodNullable<z.ZodString>;
181
182
  locationIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -473,6 +474,7 @@ export declare const recordingArchiveCapability: {
473
474
  unavailable: "unavailable";
474
475
  archive: "archive";
475
476
  }>>;
477
+ complete: z.ZodOptional<z.ZodBoolean>;
476
478
  locations: z.ZodOptional<z.ZodArray<z.ZodObject<{
477
479
  locationId: z.ZodNullable<z.ZodString>;
478
480
  locationIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
package/dist/index.js CHANGED
@@ -39661,12 +39661,21 @@ var RecordingStorageUsageSchema = zod.z.object({
39661
39661
  */
39662
39662
  devicesRead: zod.z.enum(["archive", "unavailable"]).optional(),
39663
39663
  /**
39664
+ * Is the `archive` answer WHOLE (D674): the hour ledger loaded without
39665
+ * hitting its row cap, and at least one location resolved? Only then may a
39666
+ * camera ABSENT from `devices[]` be read as "no footage" — and only then is a
39667
+ * row's `oldestMs` the archive's oldest rather than the oldest of a fraction.
39668
+ * OPTIONAL: a recorder predating D674 omits it, and a consumer must read the
39669
+ * absence as `false`. A retention floor is a delete; it never guesses.
39670
+ */
39671
+ complete: zod.z.boolean().optional(),
39672
+ /**
39664
39673
  * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
39665
- * of the payload without it: the hub serves this method through a BAKED
39666
- * router, so a hub whose framework train predates a change to this array
39667
- * strips it out of an answer a newer recorder happily produced. A UI that
39668
- * dereferences it unconditionally crashes the whole Storage page over a
39669
- * missing disk bar.
39674
+ * of the payload without it: a recorder that could not build it omits it. A
39675
+ * UI that dereferences it unconditionally crashes the whole Storage page over
39676
+ * a missing disk bar. (The hub's cap routers pass output through unvalidated
39677
+ * since 2026-07-11 — `cap-router-builder.ts` — so a newer recorder's fields
39678
+ * are not stripped by an older hub.)
39670
39679
  */
39671
39680
  locations: zod.z.array(RecordingLocationUsageSchema).optional()
39672
39681
  });
package/dist/index.mjs CHANGED
@@ -39660,12 +39660,21 @@ var RecordingStorageUsageSchema = z.object({
39660
39660
  */
39661
39661
  devicesRead: z.enum(["archive", "unavailable"]).optional(),
39662
39662
  /**
39663
+ * Is the `archive` answer WHOLE (D674): the hour ledger loaded without
39664
+ * hitting its row cap, and at least one location resolved? Only then may a
39665
+ * camera ABSENT from `devices[]` be read as "no footage" — and only then is a
39666
+ * row's `oldestMs` the archive's oldest rather than the oldest of a fraction.
39667
+ * OPTIONAL: a recorder predating D674 omits it, and a consumer must read the
39668
+ * absence as `false`. A retention floor is a delete; it never guesses.
39669
+ */
39670
+ complete: z.boolean().optional(),
39671
+ /**
39663
39672
  * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
39664
- * of the payload without it: the hub serves this method through a BAKED
39665
- * router, so a hub whose framework train predates a change to this array
39666
- * strips it out of an answer a newer recorder happily produced. A UI that
39667
- * dereferences it unconditionally crashes the whole Storage page over a
39668
- * missing disk bar.
39673
+ * of the payload without it: a recorder that could not build it omits it. A
39674
+ * UI that dereferences it unconditionally crashes the whole Storage page over
39675
+ * a missing disk bar. (The hub's cap routers pass output through unvalidated
39676
+ * since 2026-07-11 — `cap-router-builder.ts` — so a newer recorder's fields
39677
+ * are not stripped by an older hub.)
39669
39678
  */
39670
39679
  locations: z.array(RecordingLocationUsageSchema).optional()
39671
39680
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.269",
3
+ "version": "1.2.270",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",