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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//! Ferrin provider utilities.
//!
//! Shared infrastructure for provider adapters:
//!
//! - [`http`]: the [`HttpTransport`] trait, request/response types, the
//! reqwest-based default transport (feature `reqwest`), response handlers
//! and the `post_json`/`get`/`delete` request helpers.
//! - [`sse`]: WHATWG server-sent-events decoding.
//! - [`secure_url`]: URL policy validation, DNS pinning and size-limited
//! downloads.
//! - [`settings`]: credential and setting loading (parameter first, then
//! environment variable).
//! - [`ids`]: id generation.
//! - [`stream_driver`]: the [`StreamMachine`](stream_driver::StreamMachine)
//! trait, [`drive_stream`](stream_driver::drive_stream) and the
//! early-error check shared by streaming language models.
//! - [`media_type`], [`reasoning`], [`tool_name_mapping`],
//! [`streaming_tool_call`], [`retry`], [`provider_options`] and small
//! helpers used across adapters.
//!
//! Design: `docs/01-architecture/14-http-and-security.md`, ADR 0009.
pub use ApiResponse;
pub use HttpRequest;
pub use HttpResponse;
pub use HttpTransport;
pub use MultipartForm;
pub use ParseResult;
pub use RequestBody;
pub use ResponseHandler;
pub use ResponseHandlers;
pub use SharedTransport;
pub use TransportError;
pub use IdGenerator;
pub use PrefixedIdGenerator;
pub use UrlPolicy;
pub use load_api_key;
pub use load_optional_setting;
pub use load_setting;
pub use SseDecoder;
pub use SseEvent;
pub use ReqwestTransport;
pub use default_transport;
/// The platform certificate verifier used by the default transport, re-exported
/// so applications can run its platform initialisation hooks.
pub use rustls_platform_verifier;
/// Version of this crate, used in `User-Agent` suffixes.
pub const VERSION: &str = env!;