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
//! Concrete [`Provider`](crate::Provider) implementations. Each one lives behind
//! its own Cargo feature flag (see the crate root docs for the full list), so
//! enabling `openai` is what makes `openai::OpenAiProvider` available, and so
//! on (not linked here since each submodule -- and therefore its types --
//! only exists once its own feature is enabled, which isn't guaranteed just
//! because this module itself compiles). Most applications don't construct
//! these directly -- prefer [`Registry::from_env`](crate::Registry::from_env),
//! which does it for you based on which environment variables are set.