sugars_llm 0.1.0

LLM builders and domain objects for cyrup_sugars
Documentation
pub mod agent_builder;
pub mod macros;
pub mod models;

// Re-export the hash_map_fn! macro so {"key" => "value"} syntax works
pub use sugars_macros::hash_map_fn;

// Re-export the hash_map macro for JSON syntax
pub use sugars_collections::hash_map;

/// Macro that automatically handles JSON syntax in builder patterns
/// This is pushed down into the builder implementation, not visible to users
#[macro_export]
macro_rules! json_closure_llm {
    // Transform the entire builder chain using json_closure macro
    ($($tokens:tt)*) => {
        sugars_collections::json_closure! {
            $($tokens)*
        }
    };
}


// Re-export the FluentAi builder and all required types
pub use agent_builder::{
    exec_to_text, Agent, AgentRoleBuilder, Context, Directory, File, Files, FluentAi, Github,
    Library, MessageChunk, MessageRole, NamedTool, Perplexity, Stdio, Tool,
};

// Re-export the json_closure macro for transparent JSON syntax
pub use sugars_collections::json_closure;

// Re-export models for convenient access
pub use models::*;

// The hash_map_fn! macro is pushed down INTO the builder
// Users don't see it - they just use {"key" => "value"} syntax