bitrouter_api/router/
mod.rs1pub mod admin;
2pub mod agents;
3pub mod agentskills;
4#[cfg(feature = "anthropic")]
5pub mod anthropic;
6pub(crate) mod context;
7#[cfg(feature = "google")]
8pub mod google;
9#[cfg(feature = "mcp")]
10pub mod mcp;
11pub mod models;
12#[cfg(feature = "openai")]
13pub mod openai;
14pub mod routes;
15pub mod tools;
16
17#[cfg(any(feature = "openai", feature = "anthropic", feature = "google"))]
18mod observe_ctx {
19 use std::sync::Arc;
20 use std::time::Instant;
21
22 use bitrouter_core::observe::{CallerContext, ObserveCallback};
23
24 pub(crate) struct StreamObserveContext {
29 pub observer: Arc<dyn ObserveCallback>,
30 pub route: String,
31 pub provider: String,
32 pub target_model: String,
33 pub caller: CallerContext,
34 pub start: Instant,
35 }
36}
37
38#[cfg(any(feature = "openai", feature = "anthropic", feature = "google"))]
39pub(crate) use observe_ctx::StreamObserveContext;