pub mod boolean;
pub mod fixing;
pub mod json;
pub mod list;
pub mod string;
pub mod structured;
pub mod xml;
pub use boolean::BooleanParser;
pub use fixing::{OutputFixingParser, RetryParser};
pub use json::JsonParser;
pub use list::{CommaListParser, NumberedListParser};
pub use string::StringParser;
pub use structured::{
JsonExtraction, JsonExtractor, StructuredOutputConfig, StructuredOutputParser,
};
pub use xml::XmlParser;
use crate::Result;
pub trait OutputParser<T>: Send + Sync
where
T: Send + 'static,
{
fn parse(&self, text: &str) -> Result<T>;
fn format_instructions(&self) -> Option<String> {
None
}
}