openfunctions_rs/lib.rs
1//! # OpenFunctions
2//!
3//! A universal framework for creating and managing LLM tools and agents.
4//!
5//! This library provides the core functionality for defining, loading, and
6//! managing tools and agents that can be used with Large Language Models.
7
8#![warn(missing_docs)]
9#![warn(rustdoc::missing_crate_level_docs)]
10
11pub mod core;
12pub mod models;
13pub mod parser;
14pub mod runtime;
15
16#[cfg(feature = "cli")]
17pub mod cli;
18
19/// A convenient result type alias.
20pub type Result<T> = anyhow::Result<T>;
21
22/// A prelude for commonly used types.
23pub mod prelude {
24 pub use crate::{
25 core::{Agent, Builder, Checker, Config, FunctionDeclaration, Registry, TestRunner, Tool},
26 models::{AgentDefinition, ExecutionResult, ToolDefinition},
27 runtime::Runtime,
28 };
29}