use serde::Serialize;
#[derive(Debug, Clone, Serialize, PartialEq, Eq)]
pub struct CommitNote {
pub mem: String,
pub sha: String,
pub subject: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub tool_verb: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub entity_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub note: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub actor: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tool: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub client: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", rename = "logical_op")]
pub logical_operation_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(skip_serializing_if = "Vec::is_empty", default)]
pub entity_ids: Vec<String>,
pub timestamp: i64,
}
#[derive(Debug, Clone, Serialize)]
pub struct AgentNotesReport {
pub mem: String,
pub since: String,
pub head: String,
pub notes: Vec<CommitNote>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memstead_ref: Option<String>,
}