@ceralive/cerastream 2026.9.8 → 2026.9.10

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.
package/README.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @ceralive/cerastream
2
2
 
3
+ Prepared `2026.9.10` / schema `0.20.0` carries optional
4
+ `active_encode.skip_to_live` alongside encoder health counters. It counts
5
+ age-based RAM backlog discards in the current session, not outages or lost frames.
6
+ Absence is unknown; zero is not loss-free delivery. Reconnect preserves the count,
7
+ and session replacement resets it. Publish before consumer use.
8
+
9
+ Prepared **2026.9.9 / schema 0.19.0** adds `raw_video` and `unknown` capture
10
+ classifications. They do not promise a selectable capture mode. `camlink` remains
11
+ unchanged for identified Elgato hardware. Publish before consumer merge: older
12
+ closed-enum validators can reject the entire device reply. This is not a publish receipt.
13
+
3
14
  Type-safe control-IPC **schema + client** for the cerastream streaming engine.
4
15
  A zero-native-dependency package — the published contract for driving the
5
16
  engine's JSON-RPC 2.0 / NDJSON control plane over a Unix domain socket.
@@ -8,7 +8,7 @@ export declare const PROTOCOL_VERSION: 'cerastream-ipc/1';
8
8
  * additive-only within protocol major `cerastream-ipc/1` (ADR-0002 §4); this value
9
9
  * only moves when the wire schema itself does, in lockstep across both languages.
10
10
  */
11
- export declare const SCHEMA_VERSION: '0.18.0';
11
+ export declare const SCHEMA_VERSION: '0.20.0';
12
12
  /** Runtime dir holding both control + preview sockets. systemd `RuntimeDirectory=cerastream`. */
13
13
  export declare const DEFAULT_IPC_DIR: '/run/cerastream';
14
14
  /** Env override for the IPC dir (tests/dev). Defaults to {@link DEFAULT_IPC_DIR}. */
package/dist/constants.js CHANGED
@@ -11,7 +11,7 @@ export const PROTOCOL_VERSION = 'cerastream-ipc/1';
11
11
  * additive-only within protocol major `cerastream-ipc/1` (ADR-0002 §4); this value
12
12
  * only moves when the wire schema itself does, in lockstep across both languages.
13
13
  */
14
- export const SCHEMA_VERSION = '0.18.0';
14
+ export const SCHEMA_VERSION = '0.20.0';
15
15
  /** Runtime dir holding both control + preview sockets. systemd `RuntimeDirectory=cerastream`. */
16
16
  export const DEFAULT_IPC_DIR = '/run/cerastream';
17
17
  /** Env override for the IPC dir (tests/dev). Defaults to {@link DEFAULT_IPC_DIR}. */
package/dist/events.d.ts CHANGED
@@ -26,6 +26,9 @@ export declare const activeEncodeSchema: z.ZodObject<{
26
26
  gop_probe_ms: z.ZodOptional<z.ZodNumber>;
27
27
  frames_emitted: z.ZodOptional<z.ZodNumber>;
28
28
  pipeline_playing: z.ZodOptional<z.ZodBoolean>;
29
+ encoder_restarts: z.ZodOptional<z.ZodNumber>;
30
+ kernel_faults: z.ZodOptional<z.ZodNumber>;
31
+ skip_to_live: z.ZodOptional<z.ZodNumber>;
29
32
  }, z.core.$strip>;
30
33
  export type ActiveEncode = z.infer<typeof activeEncodeSchema>;
31
34
  /**
@@ -107,6 +110,9 @@ export declare const statusEventSchema: z.ZodObject<{
107
110
  gop_probe_ms: z.ZodOptional<z.ZodNumber>;
108
111
  frames_emitted: z.ZodOptional<z.ZodNumber>;
109
112
  pipeline_playing: z.ZodOptional<z.ZodBoolean>;
113
+ encoder_restarts: z.ZodOptional<z.ZodNumber>;
114
+ kernel_faults: z.ZodOptional<z.ZodNumber>;
115
+ skip_to_live: z.ZodOptional<z.ZodNumber>;
110
116
  }, z.core.$strip>>;
111
117
  preview_encoder_realized: z.ZodOptional<z.ZodObject<{
112
118
  selected_element: z.ZodOptional<z.ZodString>;
@@ -174,7 +180,9 @@ export declare const deviceEventSchema: z.ZodObject<{
174
180
  hdmi: "hdmi";
175
181
  mjpeg: "mjpeg";
176
182
  network: "network";
183
+ raw_video: "raw_video";
177
184
  test: "test";
185
+ unknown: "unknown";
178
186
  uvc_h264: "uvc_h264";
179
187
  uvc_h265: "uvc_h265";
180
188
  }>>;
@@ -186,7 +194,9 @@ export declare const deviceEventSchema: z.ZodObject<{
186
194
  hdmi: "hdmi";
187
195
  mjpeg: "mjpeg";
188
196
  network: "network";
197
+ raw_video: "raw_video";
189
198
  test: "test";
199
+ unknown: "unknown";
190
200
  uvc_h264: "uvc_h264";
191
201
  uvc_h265: "uvc_h265";
192
202
  }>;
@@ -373,6 +383,9 @@ export declare const eventParamsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
373
383
  gop_probe_ms: z.ZodOptional<z.ZodNumber>;
374
384
  frames_emitted: z.ZodOptional<z.ZodNumber>;
375
385
  pipeline_playing: z.ZodOptional<z.ZodBoolean>;
386
+ encoder_restarts: z.ZodOptional<z.ZodNumber>;
387
+ kernel_faults: z.ZodOptional<z.ZodNumber>;
388
+ skip_to_live: z.ZodOptional<z.ZodNumber>;
376
389
  }, z.core.$strip>>;
377
390
  preview_encoder_realized: z.ZodOptional<z.ZodObject<{
378
391
  selected_element: z.ZodOptional<z.ZodString>;
@@ -428,7 +441,9 @@ export declare const eventParamsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
428
441
  hdmi: "hdmi";
429
442
  mjpeg: "mjpeg";
430
443
  network: "network";
444
+ raw_video: "raw_video";
431
445
  test: "test";
446
+ unknown: "unknown";
432
447
  uvc_h264: "uvc_h264";
433
448
  uvc_h265: "uvc_h265";
434
449
  }>>;
@@ -440,7 +455,9 @@ export declare const eventParamsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
440
455
  hdmi: "hdmi";
441
456
  mjpeg: "mjpeg";
442
457
  network: "network";
458
+ raw_video: "raw_video";
443
459
  test: "test";
460
+ unknown: "unknown";
444
461
  uvc_h264: "uvc_h264";
445
462
  uvc_h265: "uvc_h265";
446
463
  }>;
@@ -586,6 +603,9 @@ export declare const cerastreamEventSchema: z.ZodObject<{
586
603
  gop_probe_ms: z.ZodOptional<z.ZodNumber>;
587
604
  frames_emitted: z.ZodOptional<z.ZodNumber>;
588
605
  pipeline_playing: z.ZodOptional<z.ZodBoolean>;
606
+ encoder_restarts: z.ZodOptional<z.ZodNumber>;
607
+ kernel_faults: z.ZodOptional<z.ZodNumber>;
608
+ skip_to_live: z.ZodOptional<z.ZodNumber>;
589
609
  }, z.core.$strip>>;
590
610
  preview_encoder_realized: z.ZodOptional<z.ZodObject<{
591
611
  selected_element: z.ZodOptional<z.ZodString>;
@@ -641,7 +661,9 @@ export declare const cerastreamEventSchema: z.ZodObject<{
641
661
  hdmi: "hdmi";
642
662
  mjpeg: "mjpeg";
643
663
  network: "network";
664
+ raw_video: "raw_video";
644
665
  test: "test";
666
+ unknown: "unknown";
645
667
  uvc_h264: "uvc_h264";
646
668
  uvc_h265: "uvc_h265";
647
669
  }>>;
@@ -653,7 +675,9 @@ export declare const cerastreamEventSchema: z.ZodObject<{
653
675
  hdmi: "hdmi";
654
676
  mjpeg: "mjpeg";
655
677
  network: "network";
678
+ raw_video: "raw_video";
656
679
  test: "test";
680
+ unknown: "unknown";
657
681
  uvc_h264: "uvc_h264";
658
682
  uvc_h265: "uvc_h265";
659
683
  }>;
@@ -803,6 +827,9 @@ export declare const eventSchemas: {
803
827
  gop_probe_ms: z.ZodOptional<z.ZodNumber>;
804
828
  frames_emitted: z.ZodOptional<z.ZodNumber>;
805
829
  pipeline_playing: z.ZodOptional<z.ZodBoolean>;
830
+ encoder_restarts: z.ZodOptional<z.ZodNumber>;
831
+ kernel_faults: z.ZodOptional<z.ZodNumber>;
832
+ skip_to_live: z.ZodOptional<z.ZodNumber>;
806
833
  }, z.core.$strip>>;
807
834
  preview_encoder_realized: z.ZodOptional<z.ZodObject<{
808
835
  selected_element: z.ZodOptional<z.ZodString>;
@@ -860,7 +887,9 @@ export declare const eventSchemas: {
860
887
  hdmi: "hdmi";
861
888
  mjpeg: "mjpeg";
862
889
  network: "network";
890
+ raw_video: "raw_video";
863
891
  test: "test";
892
+ unknown: "unknown";
864
893
  uvc_h264: "uvc_h264";
865
894
  uvc_h265: "uvc_h265";
866
895
  }>>;
@@ -872,7 +901,9 @@ export declare const eventSchemas: {
872
901
  hdmi: "hdmi";
873
902
  mjpeg: "mjpeg";
874
903
  network: "network";
904
+ raw_video: "raw_video";
875
905
  test: "test";
906
+ unknown: "unknown";
876
907
  uvc_h264: "uvc_h264";
877
908
  uvc_h265: "uvc_h265";
878
909
  }>;
package/dist/events.js CHANGED
@@ -26,6 +26,9 @@ export const activeEncodeSchema = z.object({
26
26
  gop_probe_ms: z.number().int().nonnegative().optional(), // 0.5.0: GOP preflight duration in ms when a probe ran
27
27
  frames_emitted: z.number().int().nonnegative().optional(), // 0.7.0: monotonic egress-buffer counter; advances across status heartbeats while frames flow
28
28
  pipeline_playing: z.boolean().optional(), // 0.7.0: pipeline is in GStreamer PLAYING (false during an in-process reconnect)
29
+ encoder_restarts: z.number().int().nonnegative().optional(), // 0.20.0: bounded MPP context restarts this session (any cause); ABSENT = not asked, Some(0) = asked and clean
30
+ kernel_faults: z.number().int().nonnegative().optional(), // 0.20.0: the kernel-attributed subset; 0 is weak evidence — the plugin fault bridge is opt-in and ships off
31
+ skip_to_live: z.number().int().nonnegative().optional(),
29
32
  });
30
33
  /**
31
34
  * What this session's PREVIEW branch is actually encoding with (additive),
@@ -53,7 +53,9 @@ export declare const startParamsSchema: z.ZodObject<{
53
53
  hdmi: "hdmi";
54
54
  mjpeg: "mjpeg";
55
55
  network: "network";
56
+ raw_video: "raw_video";
56
57
  test: "test";
58
+ unknown: "unknown";
57
59
  uvc_h264: "uvc_h264";
58
60
  uvc_h265: "uvc_h265";
59
61
  }>>;
@@ -232,7 +234,9 @@ export declare const setEdidProfileResultSchema: z.ZodObject<{
232
234
  hdmi: "hdmi";
233
235
  mjpeg: "mjpeg";
234
236
  network: "network";
237
+ raw_video: "raw_video";
235
238
  test: "test";
239
+ unknown: "unknown";
236
240
  uvc_h264: "uvc_h264";
237
241
  uvc_h265: "uvc_h265";
238
242
  }>>;
@@ -244,7 +248,9 @@ export declare const setEdidProfileResultSchema: z.ZodObject<{
244
248
  hdmi: "hdmi";
245
249
  mjpeg: "mjpeg";
246
250
  network: "network";
251
+ raw_video: "raw_video";
247
252
  test: "test";
253
+ unknown: "unknown";
248
254
  uvc_h264: "uvc_h264";
249
255
  uvc_h265: "uvc_h265";
250
256
  }>;
@@ -330,7 +336,9 @@ export declare const listDevicesResultSchema: z.ZodObject<{
330
336
  hdmi: "hdmi";
331
337
  mjpeg: "mjpeg";
332
338
  network: "network";
339
+ raw_video: "raw_video";
333
340
  test: "test";
341
+ unknown: "unknown";
334
342
  uvc_h264: "uvc_h264";
335
343
  uvc_h265: "uvc_h265";
336
344
  }>>;
@@ -342,7 +350,9 @@ export declare const listDevicesResultSchema: z.ZodObject<{
342
350
  hdmi: "hdmi";
343
351
  mjpeg: "mjpeg";
344
352
  network: "network";
353
+ raw_video: "raw_video";
345
354
  test: "test";
355
+ unknown: "unknown";
346
356
  uvc_h264: "uvc_h264";
347
357
  uvc_h265: "uvc_h265";
348
358
  }>;
@@ -621,7 +631,9 @@ export declare const changeConfigParamsSchema: z.ZodObject<{
621
631
  hdmi: "hdmi";
622
632
  mjpeg: "mjpeg";
623
633
  network: "network";
634
+ raw_video: "raw_video";
624
635
  test: "test";
636
+ unknown: "unknown";
625
637
  uvc_h264: "uvc_h264";
626
638
  uvc_h265: "uvc_h265";
627
639
  }>>;
@@ -739,7 +751,9 @@ export declare const requestSchemas: {
739
751
  hdmi: "hdmi";
740
752
  mjpeg: "mjpeg";
741
753
  network: "network";
754
+ raw_video: "raw_video";
742
755
  test: "test";
756
+ unknown: "unknown";
743
757
  uvc_h264: "uvc_h264";
744
758
  uvc_h265: "uvc_h265";
745
759
  }>>;
@@ -902,7 +916,9 @@ export declare const requestSchemas: {
902
916
  hdmi: "hdmi";
903
917
  mjpeg: "mjpeg";
904
918
  network: "network";
919
+ raw_video: "raw_video";
905
920
  test: "test";
921
+ unknown: "unknown";
906
922
  uvc_h264: "uvc_h264";
907
923
  uvc_h265: "uvc_h265";
908
924
  }>>;
@@ -914,7 +930,9 @@ export declare const requestSchemas: {
914
930
  hdmi: "hdmi";
915
931
  mjpeg: "mjpeg";
916
932
  network: "network";
933
+ raw_video: "raw_video";
917
934
  test: "test";
935
+ unknown: "unknown";
918
936
  uvc_h264: "uvc_h264";
919
937
  uvc_h265: "uvc_h265";
920
938
  }>;
package/dist/types.d.ts CHANGED
@@ -86,7 +86,9 @@ export declare const captureDeviceKindSchema: z.ZodEnum<{
86
86
  hdmi: "hdmi";
87
87
  mjpeg: "mjpeg";
88
88
  network: "network";
89
+ raw_video: "raw_video";
89
90
  test: "test";
91
+ unknown: "unknown";
90
92
  uvc_h264: "uvc_h264";
91
93
  uvc_h265: "uvc_h265";
92
94
  }>;
@@ -221,7 +223,9 @@ export declare const cerastreamConfigSchema: z.ZodObject<{
221
223
  hdmi: "hdmi";
222
224
  mjpeg: "mjpeg";
223
225
  network: "network";
226
+ raw_video: "raw_video";
224
227
  test: "test";
228
+ unknown: "unknown";
225
229
  uvc_h264: "uvc_h264";
226
230
  uvc_h265: "uvc_h265";
227
231
  }>>;
@@ -261,7 +265,9 @@ export declare const captureModeSchema: z.ZodObject<{
261
265
  hdmi: "hdmi";
262
266
  mjpeg: "mjpeg";
263
267
  network: "network";
268
+ raw_video: "raw_video";
264
269
  test: "test";
270
+ unknown: "unknown";
265
271
  uvc_h264: "uvc_h264";
266
272
  uvc_h265: "uvc_h265";
267
273
  }>;
@@ -293,7 +299,9 @@ export declare const captureDeviceSchema: z.ZodObject<{
293
299
  hdmi: "hdmi";
294
300
  mjpeg: "mjpeg";
295
301
  network: "network";
302
+ raw_video: "raw_video";
296
303
  test: "test";
304
+ unknown: "unknown";
297
305
  uvc_h264: "uvc_h264";
298
306
  uvc_h265: "uvc_h265";
299
307
  }>>;
@@ -305,7 +313,9 @@ export declare const captureDeviceSchema: z.ZodObject<{
305
313
  hdmi: "hdmi";
306
314
  mjpeg: "mjpeg";
307
315
  network: "network";
316
+ raw_video: "raw_video";
308
317
  test: "test";
318
+ unknown: "unknown";
309
319
  uvc_h264: "uvc_h264";
310
320
  uvc_h265: "uvc_h265";
311
321
  }>;
package/dist/types.js CHANGED
@@ -63,6 +63,8 @@ export const captureDeviceKindSchema = z.enum([
63
63
  'uvc_h265',
64
64
  'mjpeg',
65
65
  'camlink',
66
+ 'raw_video',
67
+ 'unknown',
66
68
  'audio',
67
69
  'test',
68
70
  'network',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ceralive/cerastream",
3
- "version": "2026.9.8",
3
+ "version": "2026.9.10",
4
4
  "description": "Type-safe TypeScript schema + IPC client for the cerastream streaming engine (JSON-RPC 2.0 / NDJSON over a Unix domain socket).",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",