use super::observability::ObservabilityContext;
use super::provenance::{AuthoredProvenance, Provenance};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct AuthoredEnvelope<E> {
pub provenance: AuthoredProvenance<E>,
#[serde(skip_serializing_if = "Option::is_none")]
pub observability: Option<ObservabilityContext>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct EventEnvelope<E> {
pub provenance: Provenance<E>,
#[serde(skip_serializing_if = "Option::is_none")]
pub observability: Option<ObservabilityContext>,
}