The encoded recording bytes (e.g. a WAV from the server mixer, or the browser's seekable WAV).
OptionalDescriptionDescription stored on the MJ: Files row (e.g. how a recovered recording was assembled).
OptionalFileName of the uploaded file. Defaults to recording.<ext>.
What was captured, stamped on the session.
MIME type of the audio (audio/wav, audio/webm, audio/ogg, audio/mp4).
OptionalPeaksOptional capture-time waveform peaks (max-abs per bucket, normalized 0..1). When present, written
as a peaks.json sidecar in the SAME session folder as the recording so a viewer can render the
waveform without re-decoding the audio. Best-effort — a sidecar failure never fails the recording.
OptionalPreserveWhen true, the order becomes re-check -> stamp -> link: the session is re-read immediately before
the stamp and, if it already has a RecordingFileID, that recording is left alone (nothing is
linked or stamped; the result is Superseded). The link is written only after the stamp saved, so
a superseded or failed store never leaves a link row. Best effort, not a guarantee: without a
compare-and-set, a recording stamped inside the one load -> save window is still overwritten.
Recovery sets this. Left false (the default) for the end-of-call upload, which links and then
stamps unconditionally.
The AIAgentSession id the recording belongs to.
The recording t0 (alignment origin), stamped on the session.
The resolved storage account id (see resolveRecordingStorageAccountID).
Input to storeRealtimeRecording.