use Error;
/// # [`RagChainError`]
///
/// This enum represents the possible errors that can occur when using the BasicRAGChain.
/// It is parametrized over the error types of the chat client and the retriever. this way
/// concrete error types are preserved and can be handled accordingly.
///
/// * `T` - The error type of the chat client
/// * `U` - The error type of the retriever
/// # [`ChainError`]
///
/// This enum represents the possible errors that can occur when using the ChatHistoryChain.
/// It is parametrized over the error type of the chat client. this way concrete error types are
/// preserved and can be handled accordingly.