use std::collections::BTreeMap;
use super::{
augment_sync_report_context, build_ai_execution_plan_from_decision,
resolve_ai_passthrough_sync_request_body, take_ai_decision_plan_core,
take_ai_upstream_auth_pair, take_non_empty_string, AiExecutionPlanFromDecisionParts,
AiStreamAttempt, AiSyncAttempt,
};
use crate::ai_serving::transport::{
build_standard_plan_fallback_headers, StandardPlanFallbackAcceptPolicy,
StandardPlanFallbackHeadersInput,
};
use crate::ai_serving::{
generic_decision_missing_exact_provider_request,
provider_adaptation_requires_eventstream_accept,
};
use crate::{AiExecutionDecision, GatewayError};
pub(crate) fn build_standard_sync_plan_from_decision(
parts: &http::request::Parts,
_body_json: &serde_json::Value,
payload: AiExecutionDecision,
) -> Result