@camstack/types 1.2.286 → 1.2.288

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,8 +55,8 @@ export declare const RecordingStorageModeSchema: z.ZodEnum<{
55
55
  }>;
56
56
  export type RecordingStorageMode = z.infer<typeof RecordingStorageModeSchema>;
57
57
  /**
58
- * Le macro classi che possono aprire una finestra di registrazione — le stesse
59
- * tre offerte dallo step `object-detection`, da UNA lista
58
+ * The macro classes that can open a recording window — the same
59
+ * three offered by the `object-detection` step, from ONE list
60
60
  * ({@link FIRST_LEVEL_MACRO_CLASSES}).
61
61
  */
62
62
  export declare const RecordingObjectTriggerClassSchema: z.ZodEnum<{
@@ -66,12 +66,12 @@ export declare const RecordingObjectTriggerClassSchema: z.ZodEnum<{
66
66
  }>;
67
67
  export type RecordingObjectTriggerClass = z.infer<typeof RecordingObjectTriggerClassSchema>;
68
68
  /**
69
- * Quanti device sorgente una singola banda può ascoltare.
69
+ * How many source devices a single band can listen to.
70
70
  *
71
- * Non è un gusto: ogni sorgente è una CHIAVE nel `TriggerState` del recorder, e
72
- * il limite per chiave (`MAX_TRIGGER_WINDOWS = 32`) senza un limite sulle
73
- * chiavi lascerebbe crescere la mappa con l'inventario dell'operatore. 16
74
- * sensori su UNA camera è già oltre qualunque installazione osservata.
71
+ * It is not a whim: every source is a KEY in the recorder's `TriggerState`, and
72
+ * the per-key limit (`MAX_TRIGGER_WINDOWS = 32`) without a limit on the
73
+ * keys would let the map grow with the operator's inventory. 16
74
+ * sensors on ONE camera is already beyond any installation observed.
75
75
  */
76
76
  export declare const MAX_SENSOR_TRIGGER_DEVICES = 16;
77
77
  /**
@@ -12,7 +12,7 @@
12
12
  * - **VALUE** — at which level, for which scope, until when. That stays ONE
13
13
  * thing: the logging settings document on the `system` cap. Two authorities
14
14
  * over the values is the exact defect
15
- * `docs/design/plans/2026-08-26-logging-per-componente.md` was written to
15
+ * `docs/design/plans/2026-08-26-per-component-logging.md` was written to
16
16
  * remove; re-introducing it from the cure side would be grotesque.
17
17
  *
18
18
  * Nothing in this file reads a clock, an env var or a store. The registry is
package/dist/node.js CHANGED
@@ -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_composition = require("./composition-w3gBWMer.js");
24
+ const require_composition = require("./composition-DexM_etk.js");
25
25
  const require_err_msg = require("./err-msg-Dx2Kor0g.js");
26
26
  let node_crypto = require("node:crypto");
27
27
  let node_fs = require("node:fs");
package/dist/node.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { Ct as chooseFfmpegBinary, Dt as getFfmpegDownloadUrl, Et as getFfmpegArtifact, Lt as isSoftwareDecode, Nt as buildFfmpegArgs, Ot as canonicalHash, P as compositionSourceKey, St as FFMPEG_PATH_ENV, Tt as FFMPEG_RELEASE, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, kt as Fmp4BoxSplitter, wt as ffmpegBinaryName } from "./composition-43aqsZQj.mjs";
1
+ import { Ct as chooseFfmpegBinary, Dt as getFfmpegDownloadUrl, Et as getFfmpegArtifact, Lt as isSoftwareDecode, Nt as buildFfmpegArgs, Ot as canonicalHash, P as compositionSourceKey, St as FFMPEG_PATH_ENV, Tt as FFMPEG_RELEASE, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, kt as Fmp4BoxSplitter, wt as ffmpegBinaryName } from "./composition-D7ULvLdD.mjs";
2
2
  import { t as errMsg } from "./err-msg-DX6i_MY4.mjs";
3
3
  import { createHash, createHmac, randomUUID, timingSafeEqual } from "node:crypto";
4
4
  import * as fs from "node:fs";
@@ -11,7 +11,7 @@
11
11
  * The divergence it caused is on the record: the viewer filtered conditions on
12
12
  * the served `appliesTo` alone, so a viewer-authored occupancy rule was still
13
13
  * offered `sensorKinds`, `eventTypeTokens` and `source` — the exact "in
14
- * occupancy alcuni campi non hanno senso" failure the admin UI fixed on
14
+ * occupancy alcuni campi non hanno senso" [in occupancy some fields make no sense] failure the admin UI fixed on
15
15
  * 2026-08-14 and the viewer never got. Beside it, the viewer's rule list had no
16
16
  * sections and no seeded creates, so the two features that have no delivery of
17
17
  * their own (sound, occupancy) were unauthorable from the phone.
@@ -318,7 +318,7 @@ export declare function droppedConditionsForKind(conditions: NcAuthoredCondition
318
318
  * The sections a rule LIST is split into.
319
319
  *
320
320
  * Operator request, 2026-08-13: "vorrei che le system rules fossero in una
321
- * sezione a parte, più facile da utilizzare, affianco alle detection rules". A
321
+ * sezione a parte, più facile da utilizzare, affianco alle detection rules" [I would like the system rules to be in a separate section, easier to use, next to the detection rules]. A
322
322
  * system rule and a detection rule share a store and nothing else — different
323
323
  * triggers, different conditions, no media, a different question ("is my
324
324
  * installation healthy?" vs "what did the camera see?").
@@ -420,7 +420,7 @@ export declare const NC_AUDIO_SEED: NcAudioCondition;
420
420
  * so the preset seeds it — otherwise the operator lands on a form identical to
421
421
  * a detection rule's and has to know that the feature lives behind an expander
422
422
  * on a trigger they must pick first. That is exactly the gap reported on
423
- * 2026-08-13 ("non vedo un modo per creare le nuove rules audio e occupancy")
423
+ * 2026-08-13 ("non vedo un modo per creare le nuove rules audio e occupancy" [I do not see a way to create the new audio and occupancy rules])
424
424
  * for two features whose engines had already shipped.
425
425
  *
426
426
  * A system seed carries its event kinds for the same reason: the kind is derived
@@ -39,7 +39,7 @@ export declare const TIMELAPSE_DENSE_FLOOR_SEC = 0.1;
39
39
  * Whether the notification's preview is a STILL or a short animation.
40
40
  *
41
41
  * The operator's ask, verbatim: *"inviato come gif o video (come per le altre
42
- * rule)"* — the other rules already offer an animated preview, and a ten-hour
42
+ * rule)"* [sent as a gif or video (as for the other rules)] — the other rules already offer an animated preview, and a ten-hour
43
43
  * night reads better as three seconds of motion than as one frame of it. Both
44
44
  * modes get the SAME treatment (blurred frame, large centred title); `'gif'`
45
45
  * simply applies it to a dozen frames sampled across the render and assembles
@@ -117,11 +117,11 @@ export type DetectionKind = 'first-level' | 'detail' | 'audio';
117
117
  /**
118
118
  * First-level macro classes produced by object detectors.
119
119
  *
120
- * Alias di {@link FirstLevelMacroClass} — LA lista sta in `labels.ts`
121
- * (`FIRST_LEVEL_MACRO_CLASSES`), che è anche l'offerta dello step
122
- * `object-detection` e il dominio di `RecordingTriggers.objectClasses`. Non
123
- * riscrivere l'union qui: erano due copie a mano, ed è così che una macro
124
- * aggiunta in un posto solo passa inosservata.
120
+ * Alias of {@link FirstLevelMacroClass} — THE list lives in `labels.ts`
121
+ * (`FIRST_LEVEL_MACRO_CLASSES`), which is also the offer of the
122
+ * `object-detection` step and the domain of `RecordingTriggers.objectClasses`. Do not
123
+ * rewrite the union here: there were two hand-kept copies, and that is how a macro
124
+ * added in one place only goes unnoticed.
125
125
  */
126
126
  export type FirstLevelMacro = FirstLevelMacroClass;
127
127
  /** Detail macro classes produced by crop+recognize steps. */
@@ -250,10 +250,10 @@ export interface DetectionBase {
250
250
  readonly score: number;
251
251
  /**
252
252
  * Enrichment labels — each with its own score. Ordered:
253
- * (1) catena di enricher diretti sulla detection,
254
- * (2) labels ereditate dai children details (in ordine di apparizione).
255
- * Lo score preserva il valore prodotto dall'enricher originale anche
256
- * quando la label è ereditata.
253
+ * (1) chain of direct enrichers on the detection,
254
+ * (2) labels inherited from the children details (in order of appearance).
255
+ * The score preserves the value produced by the original enricher even
256
+ * when the label is inherited.
257
257
  */
258
258
  readonly labels: readonly ScoredLabel[];
259
259
  readonly track?: TrackInfo;
@@ -23,28 +23,28 @@ export interface ClassMapDefinition {
23
23
  /** Detection-macro targets a catalog `classMap` may resolve to. */
24
24
  export declare const CLASS_MAP_MACRO_TARGETS: readonly ["person", "vehicle", "animal", "package"];
25
25
  /**
26
- * Le macro classi di PRIMO LIVELLO: quelle che un object detector emette e che
27
- * un operatore può selezionare.
26
+ * The FIRST-LEVEL macro classes: those an object detector emits and that
27
+ * an operator can select.
28
28
  *
29
- * Sono le tre offerte dallo step `object-detection`
29
+ * They are the three offered by the `object-detection` step
30
30
  * (`addon-pipeline/src/detection-pipeline/registry/step-definitions.ts`,
31
- * `enabledMacroClasses`). `package` sta in {@link CLASS_MAP_MACRO_TARGETS} e in
32
- * `MACRO_LABELS` — è una macro vera — ma NON qui: appartiene allo step
33
- * `package-detection`, la cui abilitazione è guidata dalle zone, e offrire la
34
- * stessa parola due volte ha già fatto accendere a un operatore il proxy COCO
31
+ * `enabledMacroClasses`). `package` is in {@link CLASS_MAP_MACRO_TARGETS} and in
32
+ * `MACRO_LABELS` — it is a true macro — but NOT here: it belongs to the step
33
+ * `package-detection`, whose enablement is driven by zones, and offering the
34
+ * same word twice has already made an operator turn on the COCO proxy
35
35
  * (suitcase/backpack/handbag) lasciando spento il detector dedicato.
36
36
  *
37
- * UNA lista. Prima di oggi le stesse tre erano scritte a mano nell'offerta
38
- * dello step e una seconda volta come union `FirstLevelMacro`
39
- * (`types/detection.ts`); una terza copia per il trigger di registrazione
40
- * (`RecordingTriggers.objectClasses`) avrebbe reso invisibile la divergenza
41
- * successiva.
37
+ * ONE list. Before today the same three were hand-written in the step's offer
38
+ * and a second time as the union `FirstLevelMacro`
39
+ * (`types/detection.ts`); a third copy for the recording trigger
40
+ * (`RecordingTriggers.objectClasses`) would have made the later divergence
41
+ * invisible.
42
42
  */
43
43
  export declare const FIRST_LEVEL_MACRO_CLASSES: readonly ["person", "vehicle", "animal"];
44
44
  export type FirstLevelMacroClass = (typeof FIRST_LEVEL_MACRO_CLASSES)[number];
45
45
  /**
46
- * True quando `value` è una macro di primo livello. Type guard, non cast: un
47
- * `className` che arriva dal bus è una stringa qualunque finché non passa di
46
+ * True when `value` is a first-level macro. Type guard, not cast: a
47
+ * `className` coming from the bus is any string until it passes through
48
48
  * qui.
49
49
  */
50
50
  export declare function isFirstLevelMacroClass(value: string): value is FirstLevelMacroClass;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.286",
3
+ "version": "1.2.288",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",