Crate llm_orchestrator_state

Crate llm_orchestrator_state 

Source
Expand description

State persistence and recovery for LLM workflow orchestrator.

This crate provides database-backed state management for workflows with support for:

  • Workflow state persistence (PostgreSQL and SQLite)
  • Automatic checkpointing for recovery
  • Connection pooling and transactions
  • Workflow resumption after crashes

§Examples

§PostgreSQL

// Create PostgreSQL state store
let store = PostgresStateStore::new(
    "postgresql://user:pass@localhost/workflows",
    Some(5),  // min connections
    Some(20), // max connections
).await?;

// Create workflow state
let state = WorkflowState::new(
    "my-workflow",
    "My Workflow",
    Some("user-123".to_string()),
    json!({"inputs": {"key": "value"}}),
);

// Save state
store.save_workflow_state(&state).await?;

// Load state
let loaded = store.load_workflow_state(&state.id).await?;

§SQLite

// Create SQLite state store
let store = SqliteStateStore::new("./workflows.db").await?;

// Use same API as PostgreSQL
store.health_check().await?;

Re-exports§

pub use models::Checkpoint;
pub use models::StepState;
pub use models::StepStatus;
pub use models::WorkflowState;
pub use models::WorkflowStatus;
pub use postgres::PostgresStateStore;
pub use sqlite::SqliteStateStore;
pub use traits::StateStore;
pub use traits::StateStoreError;
pub use traits::StateStoreResult;

Modules§

models
Data models for workflow state persistence.
postgres
PostgreSQL implementation of the StateStore trait.
sqlite
SQLite implementation of the StateStore trait.
traits
Traits for state persistence.

Constants§

VERSION
Library version.