1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! Wire protocol types for Detritus telemetry and crash ingestion.
//!
//! `detritus-protocol` owns the schema shared by `detritus-client` and
//! `detritus-server`: source identity, crash envelopes, and the curated OTLP
//! log facade used by the client and receiver. Version `0.1.0` supports OTLP
//! logs only; traces and metrics are intentionally outside the published
//! compatibility surface.
//!
//! [`PROTOCOL_VERSION`] is carried in HTTP and gRPC metadata so clients and
//! servers can reject payloads encoded for an incompatible schema.
//!
//! ```
//! use detritus_protocol::PROTOCOL_VERSION;
//!
//! assert_eq!(PROTOCOL_VERSION, 1);
//! ```
/// Crash-report schema types and protocol errors.
/// Multipart encoding and parsing helpers for crash envelopes.
/// Curated OpenTelemetry Protocol log-service bindings.
/// Per-tenant JSON Schema descriptors for payload validation.
/// Source identity attached to Detritus payloads.
/// Crash-report schema types re-exported for the common import path.
pub use ;
/// Source identity re-exported for the common import path.
pub use SourceId;
/// Current observability ingestion schema version.
pub const PROTOCOL_VERSION: u32 = 1;
/// gRPC metadata key carrying [`PROTOCOL_VERSION`].
pub const GRPC_VERSION_KEY: &str = "x-protocol-version";
/// HTTP header carrying [`PROTOCOL_VERSION`].
pub const HTTP_VERSION_HEADER: &str = "X-Protocol-Version";