@ceralive/cerastream 2026.8.0 → 2026.8.1
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/dist/constants.d.ts +14 -1
- package/dist/constants.js +19 -1
- package/dist/events.d.ts +4 -0
- package/dist/messages.d.ts +2 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js +1 -0
- package/package.json +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -56,14 +56,27 @@ export declare const SUPPORTED_PROFILES: readonly ['balanced', 'low-latency', 'r
|
|
|
56
56
|
* set or any preset's meaning changes. Mirrors the Rust `PROFILE_CATALOG_VERSION`.
|
|
57
57
|
*/
|
|
58
58
|
export declare const PROFILE_CATALOG_VERSION: '1.0.0';
|
|
59
|
+
/**
|
|
60
|
+
* PipeWire-backed audio capture: the engine addresses capture nodes by
|
|
61
|
+
* `node.name`/`object.serial`, so a source with no ALSA card — a Bluetooth
|
|
62
|
+
* microphone is the first one — is selectable as an ordinary node. Unlike the
|
|
63
|
+
* other tokens this one describes the engine's RUNNING configuration, so an
|
|
64
|
+
* engine configured for ALSA omits it even though this catalog lists it. Mirrors
|
|
65
|
+
* the Rust `PIPEWIRE_CAPTURE_FEATURE`.
|
|
66
|
+
*/
|
|
67
|
+
export declare const PIPEWIRE_CAPTURE_FEATURE: 'pipewire-capture';
|
|
59
68
|
/**
|
|
60
69
|
* Named engine features `get-capabilities` advertises in `features`. This is the
|
|
61
70
|
* fail-closed negotiation contract: CeraUI sends a new out-of-schema field ONLY
|
|
62
71
|
* when its feature is listed, so an engine that predates a feature (and silently
|
|
63
72
|
* ignores the field) never applies a semantic the caller assumed. Mirrors the
|
|
64
73
|
* Rust `ENGINE_FEATURES`.
|
|
74
|
+
*
|
|
75
|
+
* This is the full CATALOG. Gate on the token in the engine's own `features`
|
|
76
|
+
* array, never on membership here — a configuration-dependent token is filtered
|
|
77
|
+
* out of the response the engine actually sends.
|
|
65
78
|
*/
|
|
66
|
-
export declare const ENGINE_FEATURES: readonly ['video-passthrough', 'input-mode', 'audio-pcm-spec'];
|
|
79
|
+
export declare const ENGINE_FEATURES: readonly ['video-passthrough', 'input-mode', 'audio-pcm-spec', "pipewire-capture"];
|
|
67
80
|
/** Engine binary name (systemd-owned; CeraUI never spawns it — ADR-0005). */
|
|
68
81
|
export declare const CERASTREAM_BIN: 'cerastream';
|
|
69
82
|
export declare const DEFAULT_MIN_BITRATE = 300;
|
package/dist/constants.js
CHANGED
|
@@ -65,14 +65,32 @@ export const SUPPORTED_PROFILES = [
|
|
|
65
65
|
* set or any preset's meaning changes. Mirrors the Rust `PROFILE_CATALOG_VERSION`.
|
|
66
66
|
*/
|
|
67
67
|
export const PROFILE_CATALOG_VERSION = '1.0.0';
|
|
68
|
+
/**
|
|
69
|
+
* PipeWire-backed audio capture: the engine addresses capture nodes by
|
|
70
|
+
* `node.name`/`object.serial`, so a source with no ALSA card — a Bluetooth
|
|
71
|
+
* microphone is the first one — is selectable as an ordinary node. Unlike the
|
|
72
|
+
* other tokens this one describes the engine's RUNNING configuration, so an
|
|
73
|
+
* engine configured for ALSA omits it even though this catalog lists it. Mirrors
|
|
74
|
+
* the Rust `PIPEWIRE_CAPTURE_FEATURE`.
|
|
75
|
+
*/
|
|
76
|
+
export const PIPEWIRE_CAPTURE_FEATURE = 'pipewire-capture';
|
|
68
77
|
/**
|
|
69
78
|
* Named engine features `get-capabilities` advertises in `features`. This is the
|
|
70
79
|
* fail-closed negotiation contract: CeraUI sends a new out-of-schema field ONLY
|
|
71
80
|
* when its feature is listed, so an engine that predates a feature (and silently
|
|
72
81
|
* ignores the field) never applies a semantic the caller assumed. Mirrors the
|
|
73
82
|
* Rust `ENGINE_FEATURES`.
|
|
83
|
+
*
|
|
84
|
+
* This is the full CATALOG. Gate on the token in the engine's own `features`
|
|
85
|
+
* array, never on membership here — a configuration-dependent token is filtered
|
|
86
|
+
* out of the response the engine actually sends.
|
|
74
87
|
*/
|
|
75
|
-
export const ENGINE_FEATURES = [
|
|
88
|
+
export const ENGINE_FEATURES = [
|
|
89
|
+
'video-passthrough',
|
|
90
|
+
'input-mode',
|
|
91
|
+
'audio-pcm-spec',
|
|
92
|
+
PIPEWIRE_CAPTURE_FEATURE,
|
|
93
|
+
];
|
|
76
94
|
/** Engine binary name (systemd-owned; CeraUI never spawns it — ADR-0005). */
|
|
77
95
|
export const CERASTREAM_BIN = 'cerastream';
|
|
78
96
|
// ---- config defaults (mirror ceracoder, the engine being replaced) ----
|
package/dist/events.d.ts
CHANGED
|
@@ -192,6 +192,7 @@ export declare const deviceEventSchema: z.ZodObject<{
|
|
|
192
192
|
stable_id: z.ZodOptional<z.ZodString>;
|
|
193
193
|
physical_group_id: z.ZodOptional<z.ZodString>;
|
|
194
194
|
hardware_serial: z.ZodOptional<z.ZodString>;
|
|
195
|
+
device_address: z.ZodOptional<z.ZodString>;
|
|
195
196
|
}, z.core.$strip>;
|
|
196
197
|
}, z.core.$strip>;
|
|
197
198
|
/** Payload of a {@link deviceEventSchema} event. */
|
|
@@ -424,6 +425,7 @@ export declare const eventParamsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
424
425
|
stable_id: z.ZodOptional<z.ZodString>;
|
|
425
426
|
physical_group_id: z.ZodOptional<z.ZodString>;
|
|
426
427
|
hardware_serial: z.ZodOptional<z.ZodString>;
|
|
428
|
+
device_address: z.ZodOptional<z.ZodString>;
|
|
427
429
|
}, z.core.$strip>;
|
|
428
430
|
}, z.core.$strip>, z.ZodObject<{
|
|
429
431
|
type: z.ZodLiteral<"bitrate">;
|
|
@@ -615,6 +617,7 @@ export declare const cerastreamEventSchema: z.ZodObject<{
|
|
|
615
617
|
stable_id: z.ZodOptional<z.ZodString>;
|
|
616
618
|
physical_group_id: z.ZodOptional<z.ZodString>;
|
|
617
619
|
hardware_serial: z.ZodOptional<z.ZodString>;
|
|
620
|
+
device_address: z.ZodOptional<z.ZodString>;
|
|
618
621
|
}, z.core.$strip>;
|
|
619
622
|
}, z.core.$strip>, z.ZodObject<{
|
|
620
623
|
type: z.ZodLiteral<"bitrate">;
|
|
@@ -812,6 +815,7 @@ export declare const eventSchemas: {
|
|
|
812
815
|
stable_id: z.ZodOptional<z.ZodString>;
|
|
813
816
|
physical_group_id: z.ZodOptional<z.ZodString>;
|
|
814
817
|
hardware_serial: z.ZodOptional<z.ZodString>;
|
|
818
|
+
device_address: z.ZodOptional<z.ZodString>;
|
|
815
819
|
}, z.core.$strip>;
|
|
816
820
|
}, z.core.$strip>;
|
|
817
821
|
readonly bitrate: z.ZodObject<{
|
package/dist/messages.d.ts
CHANGED
|
@@ -241,6 +241,7 @@ export declare const listDevicesResultSchema: z.ZodObject<{
|
|
|
241
241
|
stable_id: z.ZodOptional<z.ZodString>;
|
|
242
242
|
physical_group_id: z.ZodOptional<z.ZodString>;
|
|
243
243
|
hardware_serial: z.ZodOptional<z.ZodString>;
|
|
244
|
+
device_address: z.ZodOptional<z.ZodString>;
|
|
244
245
|
}, z.core.$strip>>;
|
|
245
246
|
}, z.core.$strip>;
|
|
246
247
|
export type ListDevicesResult = z.infer<typeof listDevicesResultSchema>;
|
|
@@ -711,6 +712,7 @@ export declare const requestSchemas: {
|
|
|
711
712
|
stable_id: z.ZodOptional<z.ZodString>;
|
|
712
713
|
physical_group_id: z.ZodOptional<z.ZodString>;
|
|
713
714
|
hardware_serial: z.ZodOptional<z.ZodString>;
|
|
715
|
+
device_address: z.ZodOptional<z.ZodString>;
|
|
714
716
|
}, z.core.$strip>>;
|
|
715
717
|
}, z.core.$strip>;
|
|
716
718
|
};
|
package/dist/types.d.ts
CHANGED
|
@@ -276,6 +276,7 @@ export declare const captureDeviceSchema: z.ZodObject<{
|
|
|
276
276
|
stable_id: z.ZodOptional<z.ZodString>;
|
|
277
277
|
physical_group_id: z.ZodOptional<z.ZodString>;
|
|
278
278
|
hardware_serial: z.ZodOptional<z.ZodString>;
|
|
279
|
+
device_address: z.ZodOptional<z.ZodString>;
|
|
279
280
|
}, z.core.$strip>;
|
|
280
281
|
export type CaptureDevice = z.infer<typeof captureDeviceSchema>;
|
|
281
282
|
export declare const srtStatsSchema: z.ZodObject<{
|
package/dist/types.js
CHANGED
|
@@ -184,6 +184,7 @@ export const captureDeviceSchema = z.object({
|
|
|
184
184
|
stable_id: z.string().optional(), // additive (Todo 20): reboot-stable hardware identity, distinct from input_id/device_path
|
|
185
185
|
physical_group_id: z.string().optional(), // additive (0.10.0, ADR-0008): `usb:<topology-token>` shared by one physical device's rows; absent on non-USB + legacy producers, and an absent group NEVER matches
|
|
186
186
|
hardware_serial: z.string().optional(), // additive (0.10.0, ADR-0008): USB serial, DIAGNOSTIC ONLY — vendors ship placeholder serials, so never match/group/select on it
|
|
187
|
+
device_address: z.string().optional(), // additive: the address the node's provider advertises, carried verbatim; the engine attaches no meaning to it, so the consumer owning the address space is the one that matches on it. Absent unless a provider published one
|
|
187
188
|
});
|
|
188
189
|
// ---- transport telemetry (srt-stats event payload) ----
|
|
189
190
|
export const srtStatsSchema = z.object({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ceralive/cerastream",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.1",
|
|
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",
|