stasis-rs 0.7.0

Durable AI orchestration framework with runtime jobs, lineage, and memory integration
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use async_trait::async_trait;

use crate::domain::errors::Result;
use crate::domain::runtime::workflow_definition::{WorkflowDefinition, WorkflowRevision};

#[async_trait]
pub trait WorkflowDefinitionStore: Send + Sync {
    async fn upsert_definition(&self, definition: WorkflowDefinition) -> Result<()>;
    async fn get_definition(&self, workflow_id: &str) -> Result<Option<WorkflowDefinition>>;
    async fn insert_revision(&self, revision: WorkflowRevision) -> Result<()>;
    async fn list_revisions(&self, workflow_id: &str) -> Result<Vec<WorkflowRevision>>;
}