@camstack/addon-post-analysis 1.2.125 → 1.2.126

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.
@@ -7825,24 +7825,6 @@ var RecordingRetentionSchema = object({
7825
7825
  maxSizeGb: number().min(0).optional()
7826
7826
  });
7827
7827
  /**
7828
- * Scrub-thumbnail fidelity preset — the single per-camera selector bundling the
7829
- * sprite tile RESOLUTION + JPEG QUALITY the recorder packs timeline-scrub
7830
- * previews at. Five graduated steps; absent on a config = `standard` (the
7831
- * shipped default, matching `sheet-geometry`/`sheet-composer`).
7832
- *
7833
- * Existing sheets are IMMUTABLE — a changed preset applies to NEW windows only.
7834
- * Each window's index sidecar carries its own tile dims, so a camera whose
7835
- * preset changed over time renders every historical window at the dims it was
7836
- * written with.
7837
- */
7838
- var ScrubThumbnailPresetSchema = _enum([
7839
- "minimal",
7840
- "low",
7841
- "standard",
7842
- "high",
7843
- "max"
7844
- ]);
7845
- /**
7846
7828
  * The full per-camera recording intent — the wire shape of a RecordingTarget.
7847
7829
  *
7848
7830
  * `bands` is the ONLY authored recording intent: what to record, when, and on
@@ -7850,7 +7832,11 @@ var ScrubThumbnailPresetSchema = _enum([
7850
7832
  * other field is a storage knob (profiles, segment length, retention, scrub).
7851
7833
  *
7852
7834
  * STRICT on purpose: the legacy authoring surface (`schedule`/`schedules`/
7853
- * `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30.
7835
+ * `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30,
7836
+ * and `scrubThumbnails` — a five-step fidelity knob for a sprite tier that was
7837
+ * deleted on 2026-07-24 and had ZERO consumers in the recorder — on 2026-08-25
7838
+ * (D62: a switch that writes a store nobody reads is worse than no switch).
7839
+ * Stored rows keep loading: the READ schema is `.strip()` (config-store.ts).
7854
7840
  * A stale caller must fail loudly — silently stripping its legacy intent would
7855
7841
  * persist a band-less config, i.e. silently stop recording the camera.
7856
7842
  */
@@ -7873,14 +7859,7 @@ var RecordingConfigSchema = object({
7873
7859
  * "off" is the absence of a covering band, never a band value.
7874
7860
  */
7875
7861
  bands: array(RecordingBandSchema).default([]),
7876
- retention: RecordingRetentionSchema.optional(),
7877
- /**
7878
- * Per-camera scrub-thumbnail fidelity preset (resolution + JPEG quality for
7879
- * timeline-scrub sprite previews). Absent = `standard`. Applies to NEW
7880
- * windows only — existing sheets are immutable, and each window's index
7881
- * carries its own tile dims so mixed-preset history renders correctly.
7882
- */
7883
- scrubThumbnails: ScrubThumbnailPresetSchema.optional()
7862
+ retention: RecordingRetentionSchema.optional()
7884
7863
  }).strict();
7885
7864
  /**
7886
7865
  * Derive the {@link RecordingStorageModeSchema} summary from the authoritative
@@ -11346,7 +11325,8 @@ method(object({
11346
11325
  }), _void(), { kind: "mutation" }), method(object({
11347
11326
  namespace: string().optional(),
11348
11327
  collection: string(),
11349
- filter: QueryFilterSchema.optional()
11328
+ filter: QueryFilterSchema.optional(),
11329
+ columns: array(string()).readonly().optional()
11350
11330
  }), array(SettingsRecordSchema).readonly()), method(object({
11351
11331
  namespace: string().optional(),
11352
11332
  collection: string(),
@@ -11421,7 +11401,17 @@ method(_void(), EngineInfoSchema), method(object({
11421
11401
  }), _void(), { kind: "mutation" }), method(object({
11422
11402
  namespace: string().optional(),
11423
11403
  collection: string(),
11424
- filter: QueryFilterSchema.optional()
11404
+ filter: QueryFilterSchema.optional(),
11405
+ /**
11406
+ * SQL-level column projection — MUST mirror `settings-store.query`.
11407
+ *
11408
+ * This is the second schema the same call passes through, and Zod
11409
+ * objects STRIP what they do not declare: a field present on the door
11410
+ * and absent here does not error, it silently disappears one hop before
11411
+ * the engine, and the caller concludes the projection does nothing.
11412
+ * `data-door-schema-parity.spec.ts` is what keeps the two in step.
11413
+ */
11414
+ columns: array(string()).readonly().optional()
11425
11415
  }), array(SettingsRecordSchema).readonly()), method(object({
11426
11416
  namespace: string().optional(),
11427
11417
  collection: string(),
@@ -24231,7 +24221,27 @@ var faceGalleryCapability = {
24231
24221
  scope: "system",
24232
24222
  mode: "singleton",
24233
24223
  methods: {
24234
- listIdentities: method(_void(), array(IdentitySchema).readonly()),
24224
+ listIdentities: method(object({
24225
+ /**
24226
+ * Inline {@link IdentitySchema.coverBase64} on every row.
24227
+ *
24228
+ * Default `false`, the same inversion `listRecentFaces` and
24229
+ * `listPlates` took on 2026-08-25 (see `include-crops-default.ts` for
24230
+ * why the burden belongs on the caller that WANTS the bytes). Measured
24231
+ * on the live hub the same day: four identities cost 40,979 B with the
24232
+ * covers inline, ~10 KB of base64 per row, on a query this UI mounts
24233
+ * four times and the viewer holds at `staleTime: 30_000`.
24234
+ *
24235
+ * Nothing loses its avatar: `coverMediaKey` is already on every row and
24236
+ * the `event-media` plane serves that key `immutable` with an ETag.
24237
+ *
24238
+ * **This is an INPUT field, so it does not reach the addon until the
24239
+ * next train** — the hub router validates cap inputs against its own
24240
+ * compiled Zod and strips a key it does not know. Until then the
24241
+ * provider sees `undefined`, which resolves to `false`: the cheap shape
24242
+ * is what ships, and the opt-in becomes reachable when the train lands.
24243
+ */
24244
+ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly()),
24235
24245
  createIdentity: method(object({ name: string().min(1) }), IdentitySchema, {
24236
24246
  kind: "mutation",
24237
24247
  auth: "admin"
@@ -27229,7 +27239,13 @@ var plateGalleryCapability = {
27229
27239
  kind: "mutation",
27230
27240
  auth: "admin"
27231
27241
  }),
27232
- listVehicles: method(_void(), array(VehicleSchema).readonly()),
27242
+ listVehicles: method(object({
27243
+ /** Inline {@link VehicleSchema.coverBase64} on every row. Default
27244
+ * `false` — the vehicle twin of `faceGallery.listIdentities`'s
27245
+ * option; `coverMediaKey` + the `event-media` plane carry the picture.
27246
+ * INPUT field: stripped by the hub router until the train ships, which
27247
+ * resolves to `false` and is exactly the intended default. */
27248
+ includeCrops: boolean().optional() }).optional(), array(VehicleSchema).readonly()),
27233
27249
  createVehicle: method(object({ name: string().min(1) }), VehicleSchema, {
27234
27250
  kind: "mutation",
27235
27251
  auth: "admin"
@@ -7856,24 +7856,6 @@ var RecordingRetentionSchema = object({
7856
7856
  maxSizeGb: number().min(0).optional()
7857
7857
  });
7858
7858
  /**
7859
- * Scrub-thumbnail fidelity preset — the single per-camera selector bundling the
7860
- * sprite tile RESOLUTION + JPEG QUALITY the recorder packs timeline-scrub
7861
- * previews at. Five graduated steps; absent on a config = `standard` (the
7862
- * shipped default, matching `sheet-geometry`/`sheet-composer`).
7863
- *
7864
- * Existing sheets are IMMUTABLE — a changed preset applies to NEW windows only.
7865
- * Each window's index sidecar carries its own tile dims, so a camera whose
7866
- * preset changed over time renders every historical window at the dims it was
7867
- * written with.
7868
- */
7869
- var ScrubThumbnailPresetSchema = _enum([
7870
- "minimal",
7871
- "low",
7872
- "standard",
7873
- "high",
7874
- "max"
7875
- ]);
7876
- /**
7877
7859
  * The full per-camera recording intent — the wire shape of a RecordingTarget.
7878
7860
  *
7879
7861
  * `bands` is the ONLY authored recording intent: what to record, when, and on
@@ -7881,7 +7863,11 @@ var ScrubThumbnailPresetSchema = _enum([
7881
7863
  * other field is a storage knob (profiles, segment length, retention, scrub).
7882
7864
  *
7883
7865
  * STRICT on purpose: the legacy authoring surface (`schedule`/`schedules`/
7884
- * `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30.
7866
+ * `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30,
7867
+ * and `scrubThumbnails` — a five-step fidelity knob for a sprite tier that was
7868
+ * deleted on 2026-07-24 and had ZERO consumers in the recorder — on 2026-08-25
7869
+ * (D62: a switch that writes a store nobody reads is worse than no switch).
7870
+ * Stored rows keep loading: the READ schema is `.strip()` (config-store.ts).
7885
7871
  * A stale caller must fail loudly — silently stripping its legacy intent would
7886
7872
  * persist a band-less config, i.e. silently stop recording the camera.
7887
7873
  */
@@ -7904,14 +7890,7 @@ var RecordingConfigSchema = object({
7904
7890
  * "off" is the absence of a covering band, never a band value.
7905
7891
  */
7906
7892
  bands: array(RecordingBandSchema).default([]),
7907
- retention: RecordingRetentionSchema.optional(),
7908
- /**
7909
- * Per-camera scrub-thumbnail fidelity preset (resolution + JPEG quality for
7910
- * timeline-scrub sprite previews). Absent = `standard`. Applies to NEW
7911
- * windows only — existing sheets are immutable, and each window's index
7912
- * carries its own tile dims so mixed-preset history renders correctly.
7913
- */
7914
- scrubThumbnails: ScrubThumbnailPresetSchema.optional()
7893
+ retention: RecordingRetentionSchema.optional()
7915
7894
  }).strict();
7916
7895
  /**
7917
7896
  * Derive the {@link RecordingStorageModeSchema} summary from the authoritative
@@ -11377,7 +11356,8 @@ method(object({
11377
11356
  }), _void(), { kind: "mutation" }), method(object({
11378
11357
  namespace: string().optional(),
11379
11358
  collection: string(),
11380
- filter: QueryFilterSchema.optional()
11359
+ filter: QueryFilterSchema.optional(),
11360
+ columns: array(string()).readonly().optional()
11381
11361
  }), array(SettingsRecordSchema).readonly()), method(object({
11382
11362
  namespace: string().optional(),
11383
11363
  collection: string(),
@@ -11452,7 +11432,17 @@ method(_void(), EngineInfoSchema), method(object({
11452
11432
  }), _void(), { kind: "mutation" }), method(object({
11453
11433
  namespace: string().optional(),
11454
11434
  collection: string(),
11455
- filter: QueryFilterSchema.optional()
11435
+ filter: QueryFilterSchema.optional(),
11436
+ /**
11437
+ * SQL-level column projection — MUST mirror `settings-store.query`.
11438
+ *
11439
+ * This is the second schema the same call passes through, and Zod
11440
+ * objects STRIP what they do not declare: a field present on the door
11441
+ * and absent here does not error, it silently disappears one hop before
11442
+ * the engine, and the caller concludes the projection does nothing.
11443
+ * `data-door-schema-parity.spec.ts` is what keeps the two in step.
11444
+ */
11445
+ columns: array(string()).readonly().optional()
11456
11446
  }), array(SettingsRecordSchema).readonly()), method(object({
11457
11447
  namespace: string().optional(),
11458
11448
  collection: string(),
@@ -24262,7 +24252,27 @@ var faceGalleryCapability = {
24262
24252
  scope: "system",
24263
24253
  mode: "singleton",
24264
24254
  methods: {
24265
- listIdentities: method(_void(), array(IdentitySchema).readonly()),
24255
+ listIdentities: method(object({
24256
+ /**
24257
+ * Inline {@link IdentitySchema.coverBase64} on every row.
24258
+ *
24259
+ * Default `false`, the same inversion `listRecentFaces` and
24260
+ * `listPlates` took on 2026-08-25 (see `include-crops-default.ts` for
24261
+ * why the burden belongs on the caller that WANTS the bytes). Measured
24262
+ * on the live hub the same day: four identities cost 40,979 B with the
24263
+ * covers inline, ~10 KB of base64 per row, on a query this UI mounts
24264
+ * four times and the viewer holds at `staleTime: 30_000`.
24265
+ *
24266
+ * Nothing loses its avatar: `coverMediaKey` is already on every row and
24267
+ * the `event-media` plane serves that key `immutable` with an ETag.
24268
+ *
24269
+ * **This is an INPUT field, so it does not reach the addon until the
24270
+ * next train** — the hub router validates cap inputs against its own
24271
+ * compiled Zod and strips a key it does not know. Until then the
24272
+ * provider sees `undefined`, which resolves to `false`: the cheap shape
24273
+ * is what ships, and the opt-in becomes reachable when the train lands.
24274
+ */
24275
+ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly()),
24266
24276
  createIdentity: method(object({ name: string().min(1) }), IdentitySchema, {
24267
24277
  kind: "mutation",
24268
24278
  auth: "admin"
@@ -27260,7 +27270,13 @@ var plateGalleryCapability = {
27260
27270
  kind: "mutation",
27261
27271
  auth: "admin"
27262
27272
  }),
27263
- listVehicles: method(_void(), array(VehicleSchema).readonly()),
27273
+ listVehicles: method(object({
27274
+ /** Inline {@link VehicleSchema.coverBase64} on every row. Default
27275
+ * `false` — the vehicle twin of `faceGallery.listIdentities`'s
27276
+ * option; `coverMediaKey` + the `event-media` plane carry the picture.
27277
+ * INPUT field: stripped by the hub router until the train ships, which
27278
+ * resolves to `false` and is exactly the intended default. */
27279
+ includeCrops: boolean().optional() }).optional(), array(VehicleSchema).readonly()),
27264
27280
  createVehicle: method(object({ name: string().min(1) }), VehicleSchema, {
27265
27281
  kind: "mutation",
27266
27282
  auth: "admin"
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-DaFae0Kv.js");
5
+ const require_dist = require("../dist-BarcMD8R.js");
6
6
  let node_fs = require("node:fs");
7
7
  let node_fs$1 = require_dist.__toESM(node_fs, 1);
8
8
  node_fs = require_dist.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { M as PoolMemoryWatchdog, at as hfModelUrl, gt as resolvePoolMemoryPolicy, nt as embeddingEncoderCapability, ut as parseProcStatus, wt as BaseAddon } from "../dist-Cplsn5Hc.mjs";
1
+ import { M as PoolMemoryWatchdog, at as hfModelUrl, gt as resolvePoolMemoryPolicy, nt as embeddingEncoderCapability, ut as parseProcStatus, wt as BaseAddon } from "../dist-BDy0xpfI.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as fs from "node:fs";
4
4
  import "node:fs";
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.105",
21
+ version: "1.2.106",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_analytics_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.71",
36
+ version: "1.2.72",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.105",
39
+ version: "1.2.106",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.71",
84
+ version: "1.2.72",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,