Skip to main content

CaptureProvider

Trait CaptureProvider 

Source
pub trait CaptureProvider:
    Send
    + Sync
    + 'static {
    // Required method
    fn capture(&self, capture: ChatTurnCapture) -> Result<(), CaptureFailure>;

    // Provided methods
    fn contains_capture(
        &self,
        _capture_id: &[u8; 32],
    ) -> Result<CaptureCommitState, CaptureFailure> { ... }
    fn capture_summary(
        &self,
        _capture: ConversationSummaryCapture,
    ) -> Result<(), CaptureFailure> { ... }
}
Expand description

Provider seam. Implementations must treat every capture id as an idempotency key. Summary capture is additive so existing turn providers keep source compatibility while adopting the C4 record class.

Required Methods§

Provided Methods§

Source

fn contains_capture( &self, _capture_id: &[u8; 32], ) -> Result<CaptureCommitState, CaptureFailure>

Query whether this idempotency key is already durable after an interrupted/ambiguous call. Providers that cannot query return false; no automatic blind retry is performed in either case.

Source

fn capture_summary( &self, _capture: ConversationSummaryCapture, ) -> Result<(), CaptureFailure>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§