cleanlib_client/lib.rs
1// CleanLibrary shared client library — HTTP / auth / telemetry surface
2// shared between Rust CLI (cleanlib-cli) and any other Rust consumers.
3// Telemetry transport impl lands in subsequent CLEANLIB-N PRs per Client
4// spec rev1 §7.
5
6pub mod config;
7pub mod derive_status;
8pub mod envelope;
9pub mod errors;
10pub mod proxy;
11pub mod risk_acceptance;
12pub mod transport;
13pub mod types;
14pub mod verdict_to_envelope;
15
16// Re-exports — load-bearing surface for sibling-crate consumers (cleanlib-cli,
17// cleanlib-app integration tests) so they import via `cleanlib_client::*`
18// without reaching into module paths.
19pub use derive_status::{derive_status, DerivedStatus};
20pub use envelope::{ReasonCode, Status, VerdictEnvelopeV1, ALL_REASON_CODES};
21pub use verdict_to_envelope::verdict_to_envelope_v1;
22
23// CLEANLIB-126 M1″ — extern-consumer surface re-exports (cycle-13).
24// Per cycle-13 R5-Lane-2 F2: third-party consumers importing
25// `cleanlib_client::{Client, Verdict, PolicyDecision}` previously hit
26// `error[E0432]: unresolved imports` because the types lived behind
27// module paths. Re-export at crate-root so the public API matches the
28// documented surface (cf. docs-site SDK-Rust.md customer page).
29pub use transport::Client;
30pub use types::{PolicyDecision, PreviousVerdict, Verdict};