This commit is contained in:
Octopus 2026-04-10 12:01:14 +08:00 committed by GitHub
commit 0dfa810f7a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 3 deletions

View file

@ -192,10 +192,13 @@ async fn init_app_state(
// Validate that all models referenced in top-level routing_preferences exist in model_providers. // Validate that all models referenced in top-level routing_preferences exist in model_providers.
// The CLI renders model_providers with `name` = "openai/gpt-4o" and `model` = "gpt-4o", // The CLI renders model_providers with `name` = "openai/gpt-4o" and `model` = "gpt-4o",
// so we accept a match against either field. // so we accept a match against either field.
// Internal providers (arch-router, arch-function, etc.) are excluded since they are not
// valid routing targets for user-defined routing_preferences.
if let Some(ref route_prefs) = config.routing_preferences { if let Some(ref route_prefs) = config.routing_preferences {
let provider_model_names: std::collections::HashSet<&str> = config let provider_model_names: std::collections::HashSet<&str> = config
.model_providers .model_providers
.iter() .iter()
.filter(|p| p.internal != Some(true))
.flat_map(|p| std::iter::once(p.name.as_str()).chain(p.model.as_deref())) .flat_map(|p| std::iter::once(p.name.as_str()).chain(p.model.as_deref()))
.collect(); .collect();
for pref in route_prefs { for pref in route_prefs {

View file

@ -809,6 +809,10 @@ impl HttpContext for StreamContext {
return Action::Continue; return Action::Continue;
} }
// Capture request ID and traceparent early so all subsequent log messages include them
self.request_id = self.get_http_request_header(REQUEST_ID_HEADER);
self.traceparent = self.get_http_request_header(TRACE_PARENT_HEADER);
// Capture HTTP method and protocol for tracing // Capture HTTP method and protocol for tracing
self.http_method = self.get_http_request_header(":method"); self.http_method = self.get_http_request_header(":method");
self.http_protocol = self.get_http_request_header(":scheme"); self.http_protocol = self.get_http_request_header(":scheme");
@ -884,9 +888,6 @@ impl HttpContext for StreamContext {
self.delete_content_length_header(); self.delete_content_length_header();
self.save_ratelimit_header(); self.save_ratelimit_header();
self.request_id = self.get_http_request_header(REQUEST_ID_HEADER);
self.traceparent = self.get_http_request_header(TRACE_PARENT_HEADER);
Action::Continue Action::Continue
} }