systemprompt-traits 0.1.21

Minimal shared traits and contracts for systemprompt.io
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use async_trait::async_trait;

#[async_trait]
pub trait LogService: Send + Sync {
    type Entry: Send + Sync;
    type Filter: Send + Sync;
    type Error: std::error::Error + Send + Sync;

    async fn log(&self, entry: Self::Entry) -> Result<(), Self::Error>;

    async fn query(&self, filter: &Self::Filter) -> Result<(Vec<Self::Entry>, i64), Self::Error>;

    async fn get_recent(&self, limit: i64) -> Result<Vec<Self::Entry>, Self::Error>;

    async fn get_by_id(&self, id: &str) -> Result<Option<Self::Entry>, Self::Error>;

    async fn delete(&self, id: &str) -> Result<bool, Self::Error>;
}