#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum BackendCancellationCapability {
None,
CooperativeToken,
RemoteAbort,
CooperativeTokenAndRemoteAbort,
}
impl BackendCancellationCapability {
#[must_use]
pub const fn supports_cooperative_token(self) -> bool {
matches!(
self,
Self::CooperativeToken | Self::CooperativeTokenAndRemoteAbort
)
}
#[must_use]
pub const fn supports_remote_abort(self) -> bool {
matches!(
self,
Self::RemoteAbort | Self::CooperativeTokenAndRemoteAbort
)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum BackendContinuationCapability {
None,
InProcessState,
RemoteState,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum BackendWaitCapability {
None,
Input,
Auth,
InputAndAuth,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum BackendTranscriptCapability {
FullTranscript,
IncrementalUserMessagesWithRemoteState,
SinglePrompt,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum BackendOutputCapability {
Text,
TextAndArtifacts,
}