#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Blob {
#[prost(bytes = "vec", tag = "1")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "2")]
pub media_type: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TreeEntry {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub mode: u32,
#[prost(message, optional, tag = "3")]
pub object_id: ::core::option::Option<super::common::ObjectId>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tree {
#[prost(message, repeated, tag = "1")]
pub entries: ::prost::alloc::vec::Vec<TreeEntry>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PatchOp {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub op_type: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "3")]
pub old_data: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "4")]
pub new_data: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "5")]
pub context_hash: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Patch {
#[prost(string, tag = "1")]
pub target_path: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub codec_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub base_object: ::core::option::Option<super::common::ObjectId>,
#[prost(message, optional, tag = "4")]
pub result_object: ::core::option::Option<super::common::ObjectId>,
#[prost(message, repeated, tag = "5")]
pub ops: ::prost::alloc::vec::Vec<PatchOp>,
#[prost(bytes = "vec", tag = "6")]
pub codec_payload: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Revision {
#[prost(message, optional, tag = "1")]
pub change_id: ::core::option::Option<super::common::Ulid>,
#[prost(message, repeated, tag = "2")]
pub parents: ::prost::alloc::vec::Vec<super::common::ObjectId>,
#[prost(message, repeated, tag = "3")]
pub patches: ::prost::alloc::vec::Vec<super::common::ObjectId>,
#[prost(message, optional, tag = "4")]
pub snapshot_base: ::core::option::Option<super::common::ObjectId>,
#[prost(message, optional, tag = "5")]
pub tree: ::core::option::Option<super::common::ObjectId>,
#[prost(message, optional, tag = "6")]
pub capsule_id: ::core::option::Option<super::common::ObjectId>,
#[prost(string, tag = "7")]
pub author: ::prost::alloc::string::String,
#[prost(uint64, tag = "8")]
pub created_at_ms: u64,
#[prost(string, tag = "9")]
pub summary: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "10")]
pub policy_evidence: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Snapshot {
#[prost(message, optional, tag = "1")]
pub tree_root: ::core::option::Option<super::common::ObjectId>,
#[prost(message, optional, tag = "2")]
pub revision_id: ::core::option::Option<super::common::ObjectId>,
#[prost(uint64, tag = "3")]
pub created_at_ms: u64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Intent {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<super::common::Ulid>,
#[prost(string, tag = "2")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub goal: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "4")]
pub constraints: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "5")]
pub acceptance_tests: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "6")]
pub links: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "7")]
pub policy_refs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "8")]
pub agents: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "9")]
pub change_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "10")]
pub depends_on: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "11")]
pub supersedes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "12")]
pub status: ::prost::alloc::string::String,
#[prost(uint64, tag = "13")]
pub created_at_ms: u64,
#[prost(uint64, tag = "14")]
pub updated_at_ms: u64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Change {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<super::common::Ulid>,
#[prost(message, optional, tag = "2")]
pub intent_id: ::core::option::Option<super::common::Ulid>,
#[prost(message, optional, tag = "3")]
pub head_revision: ::core::option::Option<super::common::ObjectId>,
#[prost(string, tag = "4")]
pub workstream_id: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub status: ::prost::alloc::string::String,
#[prost(uint64, tag = "6")]
pub created_at_ms: u64,
#[prost(uint64, tag = "7")]
pub updated_at_ms: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Conflict {
#[prost(message, optional, tag = "1")]
pub base_revision: ::core::option::Option<super::common::ObjectId>,
#[prost(message, optional, tag = "2")]
pub left_revision: ::core::option::Option<super::common::ObjectId>,
#[prost(message, optional, tag = "3")]
pub right_revision: ::core::option::Option<super::common::ObjectId>,
#[prost(string, tag = "4")]
pub file_path: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub codec_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "6")]
pub left_patch_ids: ::prost::alloc::vec::Vec<super::common::ObjectId>,
#[prost(message, repeated, tag = "7")]
pub right_patch_ids: ::prost::alloc::vec::Vec<super::common::ObjectId>,
#[prost(message, repeated, tag = "8")]
pub resolution_patch_ids: ::prost::alloc::vec::Vec<super::common::ObjectId>,
#[prost(string, tag = "9")]
pub status: ::prost::alloc::string::String,
#[prost(uint64, tag = "10")]
pub created_at_ms: u64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Evidence {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub status: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
pub duration_ms: u64,
#[prost(string, repeated, tag = "4")]
pub artifact_refs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "5")]
pub summary: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub revision_id: ::core::option::Option<super::common::ObjectId>,
#[prost(string, optional, tag = "7")]
pub command: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "8")]
pub exit_code: ::core::option::Option<i32>,
#[prost(uint64, optional, tag = "9")]
pub started_at_ms: ::core::option::Option<u64>,
#[prost(uint64, optional, tag = "10")]
pub ended_at_ms: ::core::option::Option<u64>,
#[prost(string, optional, tag = "11")]
pub environment_digest: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "12")]
pub runner_identity: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "13")]
pub log_digest: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "14")]
pub artifact_digest: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint64, optional, tag = "15")]
pub expires_at_ms: ::core::option::Option<u64>,
#[prost(string, optional, tag = "16")]
pub trust_domain: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bytes = "vec", optional, tag = "17")]
pub signature: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CapsulePublic {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_version: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub toolchain_digest: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub env_fingerprint: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "5")]
pub evidence: ::prost::alloc::vec::Vec<Evidence>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CapsuleSignature {
#[prost(string, tag = "1")]
pub signer_id: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub signature: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CapsuleRecipient {
#[prost(string, tag = "1")]
pub recipient_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub key_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub algorithm: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "4")]
pub ephemeral_public_key: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "5")]
pub encrypted_content_key: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Capsule {
#[prost(message, optional, tag = "1")]
pub revision_id: ::core::option::Option<super::common::ObjectId>,
#[prost(message, optional, tag = "2")]
pub public_fields: ::core::option::Option<CapsulePublic>,
#[prost(bytes = "vec", tag = "3")]
pub encrypted_private: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "4")]
pub encryption: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub key_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "6")]
pub signatures: ::prost::alloc::vec::Vec<CapsuleSignature>,
#[prost(message, repeated, tag = "7")]
pub recipients: ::prost::alloc::vec::Vec<CapsuleRecipient>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EvidencePolicy {
#[prost(bool, tag = "1")]
pub require_fresh_evidence: bool,
#[prost(bool, tag = "2")]
pub require_revision_match: bool,
#[prost(bool, tag = "3")]
pub require_evidence_after_revision: bool,
#[prost(bool, tag = "4")]
pub require_expires_at: bool,
#[prost(bool, tag = "5")]
pub require_runner_identity: bool,
#[prost(bool, tag = "6")]
pub require_command: bool,
#[prost(bool, tag = "7")]
pub require_exit_code: bool,
#[prost(bool, tag = "8")]
pub require_log_or_artifact_digest: bool,
#[prost(bool, tag = "9")]
pub require_environment_digest: bool,
#[prost(uint64, optional, tag = "10")]
pub max_age_ms: ::core::option::Option<u64>,
#[prost(string, repeated, tag = "11")]
pub trusted_runner_identities: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Policy {
#[prost(string, tag = "1")]
pub policy_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub required_checks: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub required_reviewers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "4")]
pub sensitive_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "5")]
pub quarantine_lane: bool,
#[prost(string, tag = "6")]
pub min_trust_score: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub visibility: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "8")]
pub authorized_recipients: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "9")]
pub evidence_policy: ::core::option::Option<EvidencePolicy>,
#[prost(string, repeated, tag = "10")]
pub revoked_recipients: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Workstream {
#[prost(string, tag = "1")]
pub workstream_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub change_stack: ::prost::alloc::vec::Vec<super::common::Ulid>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RefLogEntry {
#[prost(message, optional, tag = "1")]
pub old_target: ::core::option::Option<super::common::ObjectId>,
#[prost(message, optional, tag = "2")]
pub new_target: ::core::option::Option<super::common::ObjectId>,
#[prost(string, tag = "3")]
pub author: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub message: ::prost::alloc::string::String,
#[prost(uint64, tag = "5")]
pub timestamp: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefLog {
#[prost(string, tag = "1")]
pub ref_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub entries: ::prost::alloc::vec::Vec<RefLogEntry>,
}