@camstack/types 1.2.112 → 1.2.114

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.
@@ -43,10 +43,36 @@ export declare const RecordingStorageModeSchema: z.ZodEnum<{
43
43
  continuous: "continuous";
44
44
  }>;
45
45
  export type RecordingStorageMode = z.infer<typeof RecordingStorageModeSchema>;
46
+ /**
47
+ * Le macro classi che possono aprire una finestra di registrazione — le stesse
48
+ * tre offerte dallo step `object-detection`, da UNA lista
49
+ * ({@link FIRST_LEVEL_MACRO_CLASSES}).
50
+ */
51
+ export declare const RecordingObjectTriggerClassSchema: z.ZodEnum<{
52
+ person: "person";
53
+ vehicle: "vehicle";
54
+ animal: "animal";
55
+ }>;
56
+ export type RecordingObjectTriggerClass = z.infer<typeof RecordingObjectTriggerClassSchema>;
57
+ /**
58
+ * Quanti device sorgente una singola banda può ascoltare.
59
+ *
60
+ * Non è un gusto: ogni sorgente è una CHIAVE nel `TriggerState` del recorder, e
61
+ * il limite per chiave (`MAX_TRIGGER_WINDOWS = 32`) senza un limite sulle
62
+ * chiavi lascerebbe crescere la mappa con l'inventario dell'operatore. 16
63
+ * sensori su UNA camera è già oltre qualunque installazione osservata.
64
+ */
65
+ export declare const MAX_SENSOR_TRIGGER_DEVICES = 16;
46
66
  /** Which detectors trigger an `events`-mode band. */
47
67
  export declare const RecordingTriggersSchema: z.ZodObject<{
48
68
  motion: z.ZodOptional<z.ZodBoolean>;
49
69
  audioThresholdDbfs: z.ZodOptional<z.ZodNumber>;
70
+ objectClasses: z.ZodOptional<z.ZodArray<z.ZodEnum<{
71
+ person: "person";
72
+ vehicle: "vehicle";
73
+ animal: "animal";
74
+ }>>>;
75
+ sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
50
76
  }, z.core.$strip>;
51
77
  export type RecordingTriggers = z.infer<typeof RecordingTriggersSchema>;
52
78
  /**
@@ -69,6 +95,12 @@ export type RecordingBandMode = z.infer<typeof RecordingBandModeSchema>;
69
95
  export declare const RecordingBandTriggersSchema: z.ZodObject<{
70
96
  motion: z.ZodOptional<z.ZodBoolean>;
71
97
  audioThresholdDbfs: z.ZodOptional<z.ZodNumber>;
98
+ objectClasses: z.ZodOptional<z.ZodArray<z.ZodEnum<{
99
+ person: "person";
100
+ vehicle: "vehicle";
101
+ animal: "animal";
102
+ }>>>;
103
+ sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
72
104
  }, z.core.$strip>;
73
105
  export type RecordingBandTriggers = z.infer<typeof RecordingBandTriggersSchema>;
74
106
  /**
@@ -90,6 +122,12 @@ export declare const RecordingBandSchema: z.ZodObject<{
90
122
  triggers: z.ZodOptional<z.ZodObject<{
91
123
  motion: z.ZodOptional<z.ZodBoolean>;
92
124
  audioThresholdDbfs: z.ZodOptional<z.ZodNumber>;
125
+ objectClasses: z.ZodOptional<z.ZodArray<z.ZodEnum<{
126
+ person: "person";
127
+ vehicle: "vehicle";
128
+ animal: "animal";
129
+ }>>>;
130
+ sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
93
131
  }, z.core.$strip>>;
94
132
  preBufferSec: z.ZodOptional<z.ZodNumber>;
95
133
  postBufferSec: z.ZodOptional<z.ZodNumber>;
@@ -201,6 +239,12 @@ export declare const RecordingConfigSchema: z.ZodObject<{
201
239
  triggers: z.ZodOptional<z.ZodObject<{
202
240
  motion: z.ZodOptional<z.ZodBoolean>;
203
241
  audioThresholdDbfs: z.ZodOptional<z.ZodNumber>;
242
+ objectClasses: z.ZodOptional<z.ZodArray<z.ZodEnum<{
243
+ person: "person";
244
+ vehicle: "vehicle";
245
+ animal: "animal";
246
+ }>>>;
247
+ sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
204
248
  }, z.core.$strip>>;
205
249
  preBufferSec: z.ZodOptional<z.ZodNumber>;
206
250
  postBufferSec: z.ZodOptional<z.ZodNumber>;
@@ -49,6 +49,7 @@ export declare const NATIVE_LEASE_BUDGET_KEY = "nativeLeaseBudgetMb";
49
49
  export declare const NATIVE_LEASE_ACTIVITY_KEY = "nativeLeaseActivityMs";
50
50
  export declare const NATIVE_LEASE_ADMISSION_KEY = "nativeLeaseAdmission";
51
51
  export declare const NATIVE_LEASE_TILE_BUDGET_KEY = "nativeTileBudgetMb";
52
+ export declare const NATIVE_LEASE_SCENE_BUDGET_KEY = "nativeSceneBudgetMb";
52
53
  /**
53
54
  * WHICH delivered frames the decode worker retains a native copy of.
54
55
  *
@@ -86,6 +87,7 @@ export declare const NativeLeaseSettingsSchema: z.ZodObject<{
86
87
  inferred: "inferred";
87
88
  }>;
88
89
  tileBudgetMb: z.ZodNumber;
90
+ sceneBudgetMb: z.ZodNumber;
89
91
  }, z.core.$strip>;
90
92
  export type NativeLeaseSettings = z.infer<typeof NativeLeaseSettingsSchema>;
91
93
  /**
@@ -129,6 +131,12 @@ export declare const NATIVE_LEASE_TILE_BUDGET_FIELD: {
129
131
  readonly step: 16;
130
132
  readonly default: number;
131
133
  };
134
+ export declare const NATIVE_LEASE_SCENE_BUDGET_FIELD: {
135
+ readonly min: 0;
136
+ readonly max: 1024;
137
+ readonly step: 16;
138
+ readonly default: number;
139
+ };
132
140
  /** Select options for the admission knob (orchestrator settings UI). */
133
141
  export declare const NATIVE_LEASE_ADMISSION_FIELD: {
134
142
  readonly options: readonly [{
@@ -143,7 +151,7 @@ export declare const NATIVE_LEASE_ADMISSION_FIELD: {
143
151
  /** Every knob, as a key union. */
144
152
  export type NativeLeaseKnob = keyof NativeLeaseSettings;
145
153
  /** The knobs whose value is a bounded integer (everything but `admission`). */
146
- export type NativeLeaseNumberKnob = 'holdFrames' | 'budgetMb' | 'activityMs' | 'tileBudgetMb';
154
+ export type NativeLeaseNumberKnob = 'holdFrames' | 'budgetMb' | 'activityMs' | 'tileBudgetMb' | 'sceneBudgetMb';
147
155
  /**
148
156
  * Narrow a FLAT settings record to the knobs the operator set.
149
157
  *
@@ -1,3 +1,4 @@
1
+ import type { FirstLevelMacroClass } from './labels.js';
1
2
  import type { BoundingBox as EngineBoundingBox, FrameInput, Landmark } from './io.js';
2
3
  export interface SpatialDetection {
3
4
  readonly class: string;
@@ -91,8 +92,16 @@ export interface ScoredLabel {
91
92
  }
92
93
  /** What kind of entry a detection is at the root of `detections[]`. */
93
94
  export type DetectionKind = 'first-level' | 'detail' | 'audio';
94
- /** First-level macro classes produced by object detectors. */
95
- export type FirstLevelMacro = 'person' | 'vehicle' | 'animal';
95
+ /**
96
+ * First-level macro classes produced by object detectors.
97
+ *
98
+ * Alias di {@link FirstLevelMacroClass} — LA lista sta in `labels.ts`
99
+ * (`FIRST_LEVEL_MACRO_CLASSES`), che è anche l'offerta dello step
100
+ * `object-detection` e il dominio di `RecordingTriggers.objectClasses`. Non
101
+ * riscrivere l'union qui: erano due copie a mano, ed è così che una macro
102
+ * aggiunta in un posto solo passa inosservata.
103
+ */
104
+ export type FirstLevelMacro = FirstLevelMacroClass;
96
105
  /** Detail macro classes produced by crop+recognize steps. */
97
106
  export type DetailMacro = 'face' | 'plate';
98
107
  /**
@@ -22,6 +22,32 @@ export interface ClassMapDefinition {
22
22
  }
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
+ /**
26
+ * Le macro classi di PRIMO LIVELLO: quelle che un object detector emette e che
27
+ * un operatore può selezionare.
28
+ *
29
+ * Sono le tre offerte dallo step `object-detection`
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
35
+ * (suitcase/backpack/handbag) lasciando spento il detector dedicato.
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.
42
+ */
43
+ export declare const FIRST_LEVEL_MACRO_CLASSES: readonly ["person", "vehicle", "animal"];
44
+ export type FirstLevelMacroClass = (typeof FIRST_LEVEL_MACRO_CLASSES)[number];
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
48
+ * qui.
49
+ */
50
+ export declare function isFirstLevelMacroClass(value: string): value is FirstLevelMacroClass;
25
51
  /**
26
52
  * Wire schema for a per-model CATALOG classMap override
27
53
  * (`ModelCatalogEntry.classMap` / `ModelConvertMetadata.classMap`) —
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.112",
3
+ "version": "1.2.114",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",