diff --git a/sgl-router/src/routers/router_manager.rs b/sgl-router/src/routers/router_manager.rs index a4b5554ef..7c9756b03 100644 --- a/sgl-router/src/routers/router_manager.rs +++ b/sgl-router/src/routers/router_manager.rs @@ -423,33 +423,6 @@ impl RouterTrait for RouterManager { } } - async fn delete_response(&self, _headers: Option<&HeaderMap>, _response_id: &str) -> Response { - ( - StatusCode::NOT_IMPLEMENTED, - "responses api not yet implemented in inference gateway mode", - ) - .into_response() - } - - async fn list_response_input_items( - &self, - headers: Option<&HeaderMap>, - response_id: &str, - ) -> Response { - // Delegate to the default router (typically http-regular) - // Response storage is shared across all routers via AppContext - let router = self.select_router_for_request(headers, None); - if let Some(router) = router { - router.list_response_input_items(headers, response_id).await - } else { - ( - StatusCode::NOT_FOUND, - "No router available to list response input items", - ) - .into_response() - } - } - async fn get_response( &self, headers: Option<&HeaderMap>, @@ -481,6 +454,33 @@ impl RouterTrait for RouterManager { } } + async fn delete_response(&self, _headers: Option<&HeaderMap>, _response_id: &str) -> Response { + ( + StatusCode::NOT_IMPLEMENTED, + "responses api not yet implemented in inference gateway mode", + ) + .into_response() + } + + async fn list_response_input_items( + &self, + headers: Option<&HeaderMap>, + response_id: &str, + ) -> Response { + // Delegate to the default router (typically http-regular) + // Response storage is shared across all routers via AppContext + let router = self.select_router_for_request(headers, None); + if let Some(router) = router { + router.list_response_input_items(headers, response_id).await + } else { + ( + StatusCode::NOT_FOUND, + "No router available to list response input items", + ) + .into_response() + } + } + async fn route_embeddings( &self, headers: Option<&HeaderMap>, @@ -500,6 +500,25 @@ impl RouterTrait for RouterManager { } } + async fn route_classify( + &self, + headers: Option<&HeaderMap>, + body: &ClassifyRequest, + model_id: Option<&str>, + ) -> Response { + let router = self.select_router_for_request(headers, model_id); + + if let Some(router) = router { + router.route_classify(headers, body, model_id).await + } else { + ( + StatusCode::NOT_FOUND, + format!("Model '{}' not found or no router available", body.model), + ) + .into_response() + } + } + async fn route_rerank( &self, headers: Option<&HeaderMap>, @@ -519,29 +538,6 @@ impl RouterTrait for RouterManager { } } - async fn route_classify( - &self, - headers: Option<&HeaderMap>, - body: &ClassifyRequest, - model_id: Option<&str>, - ) -> Response { - let router = self.select_router_for_request(headers, model_id); - - if let Some(router) = router { - router.route_classify(headers, body, model_id).await - } else { - ( - StatusCode::NOT_FOUND, - format!("Model '{}' not found or no router available", body.model), - ) - .into_response() - } - } - - fn router_type(&self) -> &'static str { - "manager" - } - // Conversations API delegates async fn create_conversation(&self, headers: Option<&HeaderMap>, body: &Value) -> Response { let router = self.select_router_for_request(headers, None); @@ -713,6 +709,10 @@ impl RouterTrait for RouterManager { .into_response() } } + + fn router_type(&self) -> &'static str { + "manager" + } } impl std::fmt::Debug for RouterManager {