1#![warn(missing_docs)]
18#![warn(rust_2018_idioms)]
19
20pub mod callbacks;
21pub mod compose;
22pub mod content;
23pub mod error;
24pub mod extensions;
25pub mod json_merge;
26pub mod message;
27pub mod output_parsers;
28pub mod prompts;
29pub mod runnable;
30pub mod runnable_ext;
31pub mod security;
32pub mod serialization;
33pub mod stream;
34pub mod tokenizer;
35pub mod wrappers;
36
37pub use callbacks::{
38 BuiltHandler, CallbackHandler, CallbackManager, HandlerBuilder, HandlerObserver,
39};
40pub use content::{
41 base64_decode, base64_encode, image_source_from_path, mime_from_path, AudioSource, ContentPart,
42 ImageSource,
43};
44pub use error::{CognisError, InterruptKind, Result};
45pub use extensions::Extensions;
46pub use json_merge::deep_merge_json;
47pub use message::{
48 merge_message_runs, message_from_chunks, trim_messages, trim_messages_custom, AiChunk,
49 AiMessage, HumanChunk, HumanMessage, Message, MessageChunk, RemoveMessage, SystemChunk,
50 SystemMessage, ToolCall, ToolCallChunk, ToolChunk, ToolMessage, TrimStrategy,
51};
52pub use runnable::{Runnable, RunnableConfig};
53pub use runnable_ext::RunnableExt;
54pub use security::is_public_unicast;
55pub use serialization::{Loader, RunnableDefinition, Serializable};
56pub use stream::{Event, EventStream, Observer, RunnableStream};
57pub use tokenizer::{CharTokenizer, FnTokenizer, Tokenizer};
58
59pub use schemars;
62pub use schemars::{schema_for, JsonSchema};
63
64pub mod prelude {
66 pub use crate::compose::{lambda, pipe, Branch, Each, Lambda, Parallel, Passthrough, Pipe};
67 pub use crate::output_parsers::{
68 BooleanParser, CommaListParser, JsonExtraction, JsonExtractor, JsonParser,
69 NumberedListParser, OutputParser, StringParser, StructuredOutputConfig,
70 StructuredOutputParser, XmlParser,
71 };
72 pub use crate::prompts::{ChatPromptTemplate, FewShotTemplate, PromptTemplate, Role};
73 pub use crate::schema_for;
74 pub use crate::wrappers::{
75 Assign, AssignOutput, Bind, Cache, CacheBackend, ConfigKey, Configurable, Fallback,
76 MemoryCache, Retry, RetryPolicy, Timeout,
77 };
78 pub use crate::{
79 AiMessage, CognisError, Event, EventStream, Extensions, HumanMessage, InterruptKind,
80 JsonSchema, Message, Observer, Result, Runnable, RunnableConfig, RunnableExt,
81 RunnableStream, SystemMessage, ToolCall, ToolMessage,
82 };
83 pub use async_trait::async_trait;
84}