Skip to main content

Type Alias: IngestEvent

type IngestEvent = {
channel: string;
payload: unknown;
received_at?: Date;
source_timestamp?: Date;
metadata?: Record<string, unknown>;
};

Defined in: livelink.clients/livelink.agent/sources/data/IngestEvent.ts:7

A single raw event flowing from a Transport into a EventSink (typically a SceneIngestion, or an IngestionPipeline you feed directly).

Properties

channel

channel: string;

Defined in: livelink.clients/livelink.agent/sources/data/IngestEvent.ts:21

The channel the event arrived on.

Its meaning is transport-defined, and only the MQTT transport gives it routing value:

Transportchannel isUsable in a mapping's channel pattern
mqttthe topicyes
filethe recorded topic, else "file"yes, when the playback carries channels
event-hubthe partition id (not semantic)no — it is a load-balancing artifact

A mapping that must route on an Event Hub stream selects on the payload with when instead.


payload

payload: unknown;

Defined in: livelink.clients/livelink.agent/sources/data/IngestEvent.ts:27

The decoded message payload. Transports deliver JSON-decoded values; the shape is defined by the data source.


received_at?

optional received_at?: Date;

Defined in: livelink.clients/livelink.agent/sources/data/IngestEvent.ts:33

When the event was received by the transport — this SDK's own clock, always present on events produced by a transport.


source_timestamp?

optional source_timestamp?: Date;

Defined in: livelink.clients/livelink.agent/sources/data/IngestEvent.ts:43

When the event was produced at the source, as reported by the source itself: the message's own timestamp field for file playback, enqueuedTimeUtc for Event Hubs. Absent when the source carries no usable time.

Prefer it over received_at for staleness checks and out-of-order detection: the arrival clock says when this process saw the event, not when the machine produced it.


metadata?

optional metadata?: Record<string, unknown>;

Defined in: livelink.clients/livelink.agent/sources/data/IngestEvent.ts:51

Transport-specific envelope fields that have no place in the generic shape — the MQTT retain flag and QoS, an Event Hubs offset / sequence_number / partition_id, ... Populated by the transport, opaque to the pipeline, and readable from a mapping's when / updates.