pub mod compact;
pub mod count_tokens;
pub mod embeddings;
mod error;
pub mod files;
pub mod generate;
pub mod guardian;
pub mod identity;
pub mod images;
mod instructions;
pub mod memory;
pub mod models;
pub mod video;
pub mod web_search;
pub use error::{Diagnostic, DiagnosticKind, Report, TransformError, TransformErrorKind};
pub(crate) fn optional<T>(value: Result<T, TransformError>) -> Result<Option<T>, TransformError> {
match value {
Ok(value) => Ok(Some(value)),
Err(error)
if matches!(
error.kind(),
TransformErrorKind::Unsupported | TransformErrorKind::MissingMetadata
) =>
{
Ok(None)
}
Err(error) => Err(error),
}
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Converted<T> {
pub value: T,
pub report: Report,
}