oxyde-core 0.1.0

Core types and utilities for the Oxyde SDK
Documentation
  • Coverage
  • 100%
    14 out of 14 items documented0 out of 0 items with examples
  • Size
  • Source code size: 8.41 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 682.98 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 24s Average build duration of successful builds.
  • all releases: 24s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Oxyde-Labs/Oxyde
    2 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • DanielKrivchun

oxyde-core

Core types, traits, and utilities for the Oxyde SDK ecosystem.

Overview

This crate provides the foundational types and traits used across all Oxyde crates. It defines the common interfaces that enable the various components to work together seamlessly.

Features

  • Agent Traits: Core agent lifecycle and execution traits
  • Result Types: Common error handling and result types
  • Event System: Event definitions and handling
  • State Management: Core state transition types
  • Context Types: Shared context definitions
  • Common Utilities: Shared helper functions

Planned Exports

// Core traits
pub trait Agent: Send + Sync {
    async fn start(&self) -> Result<()>;
    async fn stop(&self) -> Result<()>;
    async fn process_input(&self, input: &str) -> Result<String>;
}

// Error types
pub type Result<T> = std::result::Result<T, OxydeError>;

#[derive(Debug, thiserror::Error)]
pub enum OxydeError {
    #[error("Agent error: {0}")]
    AgentError(String),
    #[error("State error: {0}")]
    StateError(String),
    #[error("Memory error: {0}")]
    MemoryError(String),
    #[error("Behavior error: {0}")]
    BehaviorError(String),
    // ...
}

// Event types
pub enum AgentEvent {
    Started,
    Stopped,
    StateChanged { from: String, to: String },
    EmotionChanged { emotion: String, value: f32 },
    MemoryStored { memory_id: String },
    BehaviorExecuted { behavior: String },
}

// Context types
pub type AgentContext = HashMap<String, serde_json::Value>;

Use Cases

  • Building custom Oxyde integrations
  • Creating new behaviors or memory systems
  • Extending the SDK with custom components
  • Ensuring type compatibility across crates

Status

Essential - Must be published first as all other crates depend on it.

Dependencies

  • thiserror (for error types)
  • serde (for serialization)
  • uuid (for IDs)
  • tokio (for async traits)

Publication Priority

Critical - Must be published before any other Oxyde crates as they all depend on these core types.