@camstack/types 1.2.104 → 1.2.105

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.
@@ -55,6 +55,7 @@ export declare const plateGalleryCapability: {
55
55
  readonly listPlates: import("./capability-definition.js").CapabilityMethodSchema<z.ZodOptional<z.ZodObject<{
56
56
  deviceId: z.ZodOptional<z.ZodNumber>;
57
57
  limit: z.ZodOptional<z.ZodNumber>;
58
+ includeCrops: z.ZodOptional<z.ZodBoolean>;
58
59
  }, z.core.$strip>>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
59
60
  plateId: z.ZodString;
60
61
  deviceId: z.ZodNumber;
@@ -114,6 +115,7 @@ export declare const plateGalleryCapability: {
114
115
  text: z.ZodString;
115
116
  maxDistance: z.ZodOptional<z.ZodNumber>;
116
117
  limit: z.ZodOptional<z.ZodNumber>;
118
+ includeCrops: z.ZodOptional<z.ZodBoolean>;
117
119
  }, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
118
120
  plateId: z.ZodString;
119
121
  deviceId: z.ZodNumber;
package/dist/index.js CHANGED
@@ -26961,8 +26961,10 @@ var PlateInfoSchema = zod.z.object({
26961
26961
  keyFrameMediaKey: zod.z.string().optional(),
26962
26962
  base64: zod.z.string().optional(),
26963
26963
  /**
26964
- * Same crop as a data-plane URL. `getPlateByTrack` returns this and
26965
- * never inlines JPEG; `listPlates` still inlines for the admin-ui.
26964
+ * Same crop as a data-plane URL, always present when the plate has a stored
26965
+ * crop. `getPlateByTrack` returns this and never inlines JPEG; `listPlates`
26966
+ * and `searchPlates` inline the crop only when their `includeCrops` input is
26967
+ * left at its `true` default.
26966
26968
  */
26967
26969
  cropUrl: zod.z.string().optional()
26968
26970
  });
@@ -26995,7 +26997,25 @@ var plateGalleryCapability = {
26995
26997
  methods: {
26996
26998
  listPlates: require_sleep.method(zod.z.object({
26997
26999
  deviceId: zod.z.number().int().optional(),
26998
- limit: zod.z.number().int().positive().optional()
27000
+ limit: zod.z.number().int().positive().optional(),
27001
+ /**
27002
+ * Inline the base64 crop on every row. Default `true` — the existing
27003
+ * behaviour, kept so no caller breaks.
27004
+ *
27005
+ * Set `false` once the caller renders {@link PlateInfo.cropUrl}.
27006
+ * Measured on the live hub at the 500 rows the Plates view asks for:
27007
+ * 879,403 B and 27.7 s with the crops inline, against a few KiB of
27008
+ * metadata without them — and the browser then caches the images.
27009
+ *
27010
+ * This is the plate twin of `faceGallery.listRecentFaces`'s option;
27011
+ * plates were the one gallery list left without it.
27012
+ *
27013
+ * **This is an INPUT field, so it does not reach the addon until the
27014
+ * next train.** The hub router validates cap inputs against its own
27015
+ * compiled Zod and strips a key it does not know. Until the train
27016
+ * ships, sending `false` is harmless and keeps the crops inline.
27017
+ */
27018
+ includeCrops: zod.z.boolean().optional()
26999
27019
  }).optional(), zod.z.array(PlateInfoSchema).readonly()),
27000
27020
  getPlateByTrack: require_sleep.method(zod.z.object({
27001
27021
  deviceId: zod.z.number().int(),
@@ -27006,7 +27026,9 @@ var plateGalleryCapability = {
27006
27026
  searchPlates: require_sleep.method(zod.z.object({
27007
27027
  text: zod.z.string().min(1),
27008
27028
  maxDistance: zod.z.number().int().min(0).optional(),
27009
- limit: zod.z.number().int().positive().optional()
27029
+ limit: zod.z.number().int().positive().optional(),
27030
+ /** See `listPlates.includeCrops`. Default `true`. */
27031
+ includeCrops: zod.z.boolean().optional()
27010
27032
  }), zod.z.array(PlateInfoSchema).readonly()),
27011
27033
  /** Suggest groups of near-identical reads (same physical plate) for review/merge. */
27012
27034
  suggestPlateClusters: require_sleep.method(zod.z.object({
package/dist/index.mjs CHANGED
@@ -26960,8 +26960,10 @@ var PlateInfoSchema = z.object({
26960
26960
  keyFrameMediaKey: z.string().optional(),
26961
26961
  base64: z.string().optional(),
26962
26962
  /**
26963
- * Same crop as a data-plane URL. `getPlateByTrack` returns this and
26964
- * never inlines JPEG; `listPlates` still inlines for the admin-ui.
26963
+ * Same crop as a data-plane URL, always present when the plate has a stored
26964
+ * crop. `getPlateByTrack` returns this and never inlines JPEG; `listPlates`
26965
+ * and `searchPlates` inline the crop only when their `includeCrops` input is
26966
+ * left at its `true` default.
26965
26967
  */
26966
26968
  cropUrl: z.string().optional()
26967
26969
  });
@@ -26994,7 +26996,25 @@ var plateGalleryCapability = {
26994
26996
  methods: {
26995
26997
  listPlates: method(z.object({
26996
26998
  deviceId: z.number().int().optional(),
26997
- limit: z.number().int().positive().optional()
26999
+ limit: z.number().int().positive().optional(),
27000
+ /**
27001
+ * Inline the base64 crop on every row. Default `true` — the existing
27002
+ * behaviour, kept so no caller breaks.
27003
+ *
27004
+ * Set `false` once the caller renders {@link PlateInfo.cropUrl}.
27005
+ * Measured on the live hub at the 500 rows the Plates view asks for:
27006
+ * 879,403 B and 27.7 s with the crops inline, against a few KiB of
27007
+ * metadata without them — and the browser then caches the images.
27008
+ *
27009
+ * This is the plate twin of `faceGallery.listRecentFaces`'s option;
27010
+ * plates were the one gallery list left without it.
27011
+ *
27012
+ * **This is an INPUT field, so it does not reach the addon until the
27013
+ * next train.** The hub router validates cap inputs against its own
27014
+ * compiled Zod and strips a key it does not know. Until the train
27015
+ * ships, sending `false` is harmless and keeps the crops inline.
27016
+ */
27017
+ includeCrops: z.boolean().optional()
26998
27018
  }).optional(), z.array(PlateInfoSchema).readonly()),
26999
27019
  getPlateByTrack: method(z.object({
27000
27020
  deviceId: z.number().int(),
@@ -27005,7 +27025,9 @@ var plateGalleryCapability = {
27005
27025
  searchPlates: method(z.object({
27006
27026
  text: z.string().min(1),
27007
27027
  maxDistance: z.number().int().min(0).optional(),
27008
- limit: z.number().int().positive().optional()
27028
+ limit: z.number().int().positive().optional(),
27029
+ /** See `listPlates.includeCrops`. Default `true`. */
27030
+ includeCrops: z.boolean().optional()
27009
27031
  }), z.array(PlateInfoSchema).readonly()),
27010
27032
  /** Suggest groups of near-identical reads (same physical plate) for review/merge. */
27011
27033
  suggestPlateClusters: method(z.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.104",
3
+ "version": "1.2.105",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",