pub struct VoiceRecordingRecord {
pub source_id: String,
pub call_source_id: String,
pub size_bytes: u64,
pub duration_ms: u64,
pub sample_rate: u32,
pub channels: u16,
pub created_at: String,
pub envelope: SyncEnvelope,
}Expand description
One per-call recording’s metadata as it crosses the wire from the
daemon up to the platform. The WAV bytes ride on a separate
follow-up call (Client::upload_recording_bytes) so the
idempotent metadata sync stays small and a flaky bytes upload
doesn’t force the daemon to re-ship the row.
Mirrors the daemon’s RecordingArtifact (see
wavekat-voice/crates/wavekat-voice/src/recording.rs) with one
rename: the daemon’s local id (id) ships as source_id because
the platform allocates its own row id and treats the daemon-side
UUID as the idempotency key (same convention as
VoiceCallRecord).
Fields§
§source_id: StringDaemon-generated UUID for this recording artifact. Upsert key on the platform side.
call_source_id: StringDaemon’s calls.id — the call this recording belongs to.
The platform stores both so the /voice/calls history page can
link a call to its recording without a separate join table.
size_bytes: u64Byte length of the WAV file the daemon will PUT in the follow- up bytes call. The platform refuses a PUT whose body length disagrees.
duration_ms: u64§sample_rate: u32§channels: u16§created_at: StringRFC 3339 timestamp the daemon stamped on the artifact at
finalize time. Drives the platform’s /voice/recordings GET
cursor.
envelope: SyncEnvelopeTrait Implementations§
Source§impl Clone for VoiceRecordingRecord
impl Clone for VoiceRecordingRecord
Source§fn clone(&self) -> VoiceRecordingRecord
fn clone(&self) -> VoiceRecordingRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more