1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// src/core/runnables/mod.rs
//! Runnable module - LangChain Expression Language (LCEL) core
//!
//! The Runnable trait is the foundation of LangChain's composability.
//! Every component (LLM, Prompt, Tool, etc.) implements Runnable,
//! enabling them to be chained together seamlessly.
//!
//! # LCEL Composition
//!
//! Use `pipe()` to chain runnables:
//!
//! ```rust,ignore
//! let chain = prompt.pipe(llm).pipe(parser);
//! let result = chain.invoke("What is Rust?".to_string(), None).await?;
//! ```
//!
//! # Core Types
//!
//! - `Runnable<I, O>`: Base execution trait
//! - `RunnableExt`: Extension providing `pipe()` composition
//! - `RunnableSequence<I, O>`: Pipeline of chained runnables
//! - `RunnableLambda<I, O>`: Closure wrapper
//! - `RunnablePassthrough<I>`: Identity pass-through
//! - `RunnableParallel<I>`: Fan-out/fan-in
//! - `RunnableBranch<I, O>`: Conditional routing
//! - `RunnableBinding<I, O>`: Config/kwargs binding
//! - `LcelError`: Unified error type for pipelines
//! - `StreamEvent`: Fine-grained pipeline events
pub use ;
pub use RunnableBinding;
pub use RunnableBranch;
pub use RunnableConfig;
pub use LcelError;
pub use LcelStreamEvent;
pub use RunnableExt;
pub use RunnableLambda;
pub use RunnableParallel;
pub use RunnablePassthrough;
pub use Runnable;
pub use RunnableSequence;