#![cfg_attr(docsrs, feature(doc_cfg))]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
pub mod answers;
#[cfg(feature = "blocking")]
#[cfg_attr(docsrs, doc(cfg(feature = "blocking")))]
pub mod blocking;
pub mod client;
pub mod credentials;
pub mod error;
pub mod labels;
pub mod questions;
pub mod request;
pub mod retry;
pub mod system_one;
#[cfg(feature = "testing")]
#[cfg_attr(docsrs, doc(cfg(feature = "testing")))]
pub mod testing;
pub mod types;
mod redact;
pub use answers::{
Answer, AnswerKind, ChoiceAnswer, NoulAnswer, ScoreAnswer, SystemOneResult, TypedChoiceAnswer,
};
pub use client::{
Call, Client, ClientBuilder, DEFAULT_BASE_URL, DEFAULT_MODEL, ENV_API_KEY, ENV_BASE_URL,
ENV_DEFAULT_MODEL, Models, Provider, RawResponse, WithResponse,
};
pub use credentials::{BoxError, CredentialProvider, ExposeSecret, SecretString, TokenFuture};
pub use error::{ApiError, ApiErrorKind, Error, ErrorBody, REQUEST_ID_HEADER, Result};
pub use labels::Labels;
pub use questions::{
AnswerKey, ChoiceQuestion, NoulCriteria, NoulQuestion, Question, QuestionKind, Questions,
ScoreQuestion, TypedChoice, choice, choice_labels, choice_of, noul, score,
};
pub use request::SystemOneRequest;
pub use retry::{DEFAULT_TIMEOUT, DEFAULT_TOTAL_TIMEOUT, RetryPolicy, parse_retry_after};
pub use system_one::{AskFuture, SystemOne};
pub use types::{Entry, ModelCard, Usage};
pub use reqwest;
pub const VERSION: &str = env!("CARGO_PKG_VERSION");