use std::convert::Infallible; use std::sync::{Arc, Mutex}; use axum::body::{to_bytes, Body, Bytes}; use axum::response::Response; use axum::routing::any; use axum::{extract::Request, Json, Router}; use http::header::{HeaderName, HeaderValue}; use http::StatusCode; use serde_json::json; use crate::gateway::constants::{ CONTROL_EXECUTED_HEADER, CONTROL_EXECUTE_FALLBACK_HEADER, DEPENDENCY_REASON_HEADER, EXECUTION_PATH_EXECUTION_RUNTIME_STREAM, EXECUTION_PATH_EXECUTION_RUNTIME_SYNC, EXECUTION_PATH_HEADER, EXECUTION_PATH_LOCAL_EXECUTION_RUNTIME_MISS, LOCAL_EXECUTION_RUNTIME_MISS_REASON_HEADER, TRACE_ID_HEADER, }; use super::{ build_router, build_router_with_execution_runtime_override, build_router_with_state, build_state_with_execution_runtime_override, start_server, wait_until, AppState, FrontdoorCorsConfig, FrontdoorUserRpmConfig, GatewayFallbackMetricKind, GatewayFallbackReason, UsageRuntimeConfig, VideoTaskTruthSourceMode, }; mod chat; mod claude; mod cli; mod gemini;