use crate::ctx;
#[async_trait::async_trait]
pub trait Fetcher<CTXEXT> {
async fn fetch<PC: crate::ctx::persistent_cache::PersistentCacheClient>(
&self,
ctx: ctx::Context<CTXEXT, PC>,
agent: &objectiveai_sdk::agent::InlineAgentBaseWithFallbacksOrRemote,
messages: &[objectiveai_sdk::agent::completions::message::Message],
responses: &[objectiveai_sdk::agent::completions::message::RichContent],
) -> Result<
Option<objectiveai_sdk::vector::completions::response::Vote>,
objectiveai_sdk::error::ResponseError,
>;
}