#![warn(missing_docs)]
#![warn(rust_2018_idioms)]
pub mod callbacks;
pub mod compose;
pub mod content;
pub mod error;
pub mod extensions;
pub mod json_merge;
pub mod message;
pub mod output_parsers;
pub mod prompts;
pub mod runnable;
pub mod runnable_ext;
pub mod security;
pub mod serialization;
pub mod stream;
pub mod tokenizer;
pub mod wrappers;
pub use callbacks::{
BuiltHandler, CallbackHandler, CallbackManager, HandlerBuilder, HandlerObserver,
};
pub use content::{
base64_decode, base64_encode, image_source_from_path, mime_from_path, AudioSource, ContentPart,
ImageSource,
};
pub use error::{CognisError, InterruptKind, Result};
pub use extensions::Extensions;
pub use json_merge::deep_merge_json;
pub use message::{
merge_message_runs, message_from_chunks, trim_messages, trim_messages_custom, AiChunk,
AiMessage, HumanChunk, HumanMessage, Message, MessageChunk, RemoveMessage, SystemChunk,
SystemMessage, ToolCall, ToolCallChunk, ToolChunk, ToolMessage, TrimStrategy,
};
pub use runnable::{Runnable, RunnableConfig};
pub use runnable_ext::RunnableExt;
pub use security::is_public_unicast;
pub use serialization::{Loader, RunnableDefinition, Serializable};
pub use stream::{Event, EventStream, Observer, RunnableStream};
pub use tokenizer::{CharTokenizer, FnTokenizer, Tokenizer};
pub use schemars;
pub use schemars::{schema_for, JsonSchema};
pub mod prelude {
pub use crate::compose::{lambda, pipe, Branch, Each, Lambda, Parallel, Passthrough, Pipe};
pub use crate::output_parsers::{
BooleanParser, CommaListParser, JsonExtraction, JsonExtractor, JsonParser,
NumberedListParser, OutputParser, StringParser, StructuredOutputConfig,
StructuredOutputParser, XmlParser,
};
pub use crate::prompts::{ChatPromptTemplate, FewShotTemplate, PromptTemplate, Role};
pub use crate::schema_for;
pub use crate::wrappers::{
Assign, AssignOutput, Bind, Cache, CacheBackend, ConfigKey, Configurable, Fallback,
MemoryCache, Retry, RetryPolicy, Timeout,
};
pub use crate::{
AiMessage, CognisError, Event, EventStream, Extensions, HumanMessage, InterruptKind,
JsonSchema, Message, Observer, Result, Runnable, RunnableConfig, RunnableExt,
RunnableStream, SystemMessage, ToolCall, ToolMessage,
};
pub use async_trait::async_trait;
}