objectiveai_api/vector/completions/usage_handler/usage_handler.rs
1//! Trait for handling vector completion usage.
2
3use crate::ctx;
4use std::sync::Arc;
5
6/// Handles usage tracking after a vector completion completes.
7#[async_trait::async_trait]
8pub trait UsageHandler<CTXEXT> {
9 /// Called after a vector completion finishes to track usage.
10 async fn handle_usage(
11 &self,
12 ctx: ctx::Context<CTXEXT>,
13 request: Arc<objectiveai::vector::completions::request::VectorCompletionCreateParams>,
14 response: objectiveai::vector::completions::response::unary::VectorCompletion,
15 );
16}