Referencia de @styx/api-contracts generada de su TSDoc.
packages/api-contracts/package.jsonPágina generada desde
el TSDoc de @styx/api-contracts. No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere.
constITransportSignalsSnapshotSchema:TObject<{available_bps:TInteger;congestion_events:TInteger;loss_rate:TNumber;rtt_ns:TInteger;ts_ms:TInteger;version:TInteger; }>
Payload del event evt.media.transportSignals — un snapshot del estado
de transporte observado por el daemon Zig (RTT, loss, bandwidth
disponible, eventos de congestión, timestamp).
El daemon lo construye con el struct generado de este schema
(signals_publisher.zig: descarta versión 0 y pérdidas no finitas, acota
loss_rate a [0, 1]) y spire lo valida al sellar y al abrir. Pierde
precisión f32→f64 inofensiva (loss_rate ∈ [0,1]; el delta es despreciable).
Invariantes del schema:
version > 0 — el channel Zig arranca en 1; un 0 indica frame
corrupto o pre-init.loss_rate ∈ [0, 1] — clamping previene que valores fuera de
rango entren al bus (lane A buggy no debe contaminar observability).rtt_ns / available_bps / congestion_events — enteros no
negativos (precision JS number 2^53 ≈ 9 PB/s, suficiente).ts_ms — entero (signed via clamp en cliente; epoch ms).Enteros: Type.Integer (rango nativo JS ±2^53). Si en el futuro se
necesita precisión >2^53 (poco probable — son ms epoch y bandwidth), migrar
a bigint; hoy Integer cubre el rango real observado en el wire format.