@camstack/types 1.2.49 → 1.2.51

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.
@@ -94,6 +94,31 @@ export declare const RecordingBandSchema: z.ZodObject<{
94
94
  postBufferSec: z.ZodOptional<z.ZodNumber>;
95
95
  }, z.core.$strip>;
96
96
  export type RecordingBand = z.infer<typeof RecordingBandSchema>;
97
+ /**
98
+ * The buffers an `events` band uses when it carries NONE — i.e. what the Basic
99
+ * recording form persists whenever the operator leaves the pre/post inputs
100
+ * blank, which is the overwhelmingly common case.
101
+ *
102
+ * A zero default is NOT a neutral one, and reading the absent field as `0` is
103
+ * what made two cameras record nothing for weeks: `postBufferSec` is the LIVE
104
+ * demand window, so `0` means the window is already shut by the time the
105
+ * trigger is evaluated. There is no instant at which such a band can attach a
106
+ * writer.
107
+ *
108
+ * `postBufferSec` must therefore exceed one segment length plus the attach
109
+ * latency (ffmpeg spawn + RTSP dial), or the window closes before the first
110
+ * segment is ever finalized and the camera records nothing anyway. At the 10 s
111
+ * default segment length, 30 s leaves room for two full segments. `preBufferSec`
112
+ * is retroactive only — it costs nothing at record time, it merely keeps
113
+ * already-written segments — so it is set to one segment length.
114
+ *
115
+ * An EXPLICIT `0` is left alone: that is an operator statement, not an omission.
116
+ */
117
+ export declare const DEFAULT_EVENTS_BAND_BUFFER_SEC: {
118
+ readonly preBufferSec: 10;
119
+ readonly postBufferSec: 30;
120
+ };
121
+ export type DefaultEventsBandBufferSec = typeof DEFAULT_EVENTS_BAND_BUFFER_SEC;
97
122
  /**
98
123
  * Per-device retention overrides. Every field is optional; an unset or `0`
99
124
  * value inherits the node-wide recorder default. Only footage-lifetime limits
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.49",
3
+ "version": "1.2.51",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",