pub trait SessionServiceTranscriptEditExt: SessionService {
// Provided methods
fn fork_session_at<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionForkAtRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionForkResult, SessionError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn fork_session_replace<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionForkReplaceRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionForkResult, SessionError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn rewrite_session_transcript<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionTranscriptRewriteRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionTranscriptRewriteResult, SessionError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn restore_session_transcript_revision<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionTranscriptRestoreRevisionRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionTranscriptRewriteResult, SessionError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}Expand description
Optional typed transcript fork/edit extension for SessionService.
Implementations must route transcript surgery through typed semantic edit
paths. Fork operations create new SessionIds; rewrite operations keep the
SessionId stable while advancing the session transcript head.
Provided Methods§
Sourcefn fork_session_at<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionForkAtRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionForkResult, SessionError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fork_session_at<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionForkAtRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionForkResult, SessionError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fork a session at a message index.
Sourcefn fork_session_replace<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionForkReplaceRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionForkResult, SessionError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fork_session_replace<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionForkReplaceRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionForkResult, SessionError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fork a session and apply a typed transcript replacement.
Sourcefn rewrite_session_transcript<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionTranscriptRewriteRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionTranscriptRewriteResult, SessionError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn rewrite_session_transcript<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionTranscriptRewriteRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionTranscriptRewriteResult, SessionError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Commit a typed same-session transcript rewrite.
Sourcefn restore_session_transcript_revision<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionTranscriptRestoreRevisionRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionTranscriptRewriteResult, SessionError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn restore_session_transcript_revision<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 SessionId,
req: SessionTranscriptRestoreRevisionRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionTranscriptRewriteResult, SessionError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Restore the current transcript head to a retained immutable revision.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".