Skip to main content

Crate simple_agent_type

Crate simple_agent_type 

Source
Expand description

Core types and traits for SimpleAgents.

This crate provides all foundational types, traits, and error definitions shared across the SimpleAgents project. It is a pure types crate with no runtime, HTTP, or I/O dependencies.

§Architecture

SimpleAgents follows a trait-based architecture:

  • Provider: Trait for LLM provider implementations
  • Cache: Trait for caching responses
  • RoutingStrategy: Trait for provider selection

§Main Types

  • [Message]: Role-based conversation messages
  • [CompletionRequest]: Unified request format
  • [CompletionResponse]: Unified response format
  • [ApiKey]: Secure API key handling

§Example

use simple_agent_type::prelude::*;

// Create a request
let request = CompletionRequest::builder()
    .model("gpt-4")
    .message(Message::user("Hello!"))
    .temperature(0.7)
    .build()
    .unwrap();

// Access request properties
assert_eq!(request.model, "gpt-4");
assert_eq!(request.messages.len(), 1);

§Features

  • Type Safety: Strong types prevent common errors
  • Transparency: All transformations tracked via [CoercionFlag]
  • Security: API keys never logged ([ApiKey])
  • Validation: Early validation with clear errors
  • Async: All traits use async_trait

Re-exports§

pub use error::HealingError;
pub use error::ProviderError;
pub use error::Result;
pub use error::SimpleAgentsError;
pub use error::ValidationError;

Modules§

cache
Cache trait for response caching.
coercion
Coercion types for tracking response healing.
config
Configuration types for SimpleAgents.
error
Error types for SimpleAgents.
message
Message types for LLM interactions.
prelude
Prelude module for convenient imports.
provider
Provider trait and types.
request
Request types for LLM completions.
response
Response types for LLM completions.
router
Routing strategy trait for provider selection.
validation
Validation types for sensitive data.