pub struct StakpakStorage { /* private fields */ }Expand description
Stakpak API storage implementation
Implementations§
Source§impl StakpakStorage
impl StakpakStorage
Sourcepub fn new(api_key: &str, api_endpoint: &str) -> Result<Self, StorageError>
pub fn new(api_key: &str, api_endpoint: &str) -> Result<Self, StorageError>
Create a new Stakpak storage client
Sourcepub fn client(&self) -> &StakpakApiClient
pub fn client(&self) -> &StakpakApiClient
Get the underlying API client
Trait Implementations§
Source§impl Clone for StakpakStorage
impl Clone for StakpakStorage
Source§fn clone(&self) -> StakpakStorage
fn clone(&self) -> StakpakStorage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl SessionStorage for StakpakStorage
impl SessionStorage for StakpakStorage
Source§fn list_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 ListSessionsQuery,
) -> Pin<Box<dyn Future<Output = Result<ListSessionsResult, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 ListSessionsQuery,
) -> Pin<Box<dyn Future<Output = Result<ListSessionsResult, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List all sessions
Source§fn get_session<'life0, 'async_trait>(
&'life0 self,
session_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Session, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_session<'life0, 'async_trait>(
&'life0 self,
session_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Session, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get a session by ID (includes active checkpoint)
Source§fn create_session<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 CreateSessionRequest,
) -> Pin<Box<dyn Future<Output = Result<CreateSessionResult, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_session<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 CreateSessionRequest,
) -> Pin<Box<dyn Future<Output = Result<CreateSessionResult, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a new session with initial checkpoint
Source§fn update_session<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: Uuid,
request: &'life1 UpdateSessionRequest,
) -> Pin<Box<dyn Future<Output = Result<Session, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_session<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: Uuid,
request: &'life1 UpdateSessionRequest,
) -> Pin<Box<dyn Future<Output = Result<Session, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Update session metadata (title, visibility)
Source§fn delete_session<'life0, 'async_trait>(
&'life0 self,
session_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_session<'life0, 'async_trait>(
&'life0 self,
session_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delete a session
Source§fn list_checkpoints<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: Uuid,
query: &'life1 ListCheckpointsQuery,
) -> Pin<Box<dyn Future<Output = Result<ListCheckpointsResult, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_checkpoints<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: Uuid,
query: &'life1 ListCheckpointsQuery,
) -> Pin<Box<dyn Future<Output = Result<ListCheckpointsResult, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List checkpoints for a session
Source§fn get_checkpoint<'life0, 'async_trait>(
&'life0 self,
checkpoint_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Checkpoint, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_checkpoint<'life0, 'async_trait>(
&'life0 self,
checkpoint_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Checkpoint, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get a checkpoint by ID
Source§fn create_checkpoint<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: Uuid,
request: &'life1 CreateCheckpointRequest,
) -> Pin<Box<dyn Future<Output = Result<Checkpoint, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_checkpoint<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: Uuid,
request: &'life1 CreateCheckpointRequest,
) -> Pin<Box<dyn Future<Output = Result<Checkpoint, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a new checkpoint for a session
Source§fn get_active_checkpoint<'life0, 'async_trait>(
&'life0 self,
session_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Checkpoint, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_active_checkpoint<'life0, 'async_trait>(
&'life0 self,
session_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Checkpoint, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the latest/active checkpoint for a session
Source§fn get_session_stats<'life0, 'async_trait>(
&'life0 self,
_session_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<SessionStats, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_session_stats<'life0, 'async_trait>(
&'life0 self,
_session_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<SessionStats, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get session stats (optional - returns default if not supported)
Auto Trait Implementations§
impl Freeze for StakpakStorage
impl !RefUnwindSafe for StakpakStorage
impl Send for StakpakStorage
impl Sync for StakpakStorage
impl Unpin for StakpakStorage
impl !UnwindSafe for StakpakStorage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request