mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-05 00:47:48 +08:00
Merge commit 'refs/pr/585'
# Conflicts: # apps/aether-gateway/src/ai_serving/planner/passthrough/provider/family/request.rs # apps/aether-gateway/src/tests/ai_execute/stream_provider_gemini/local_cli.rs # apps/aether-gateway/src/tests/ai_execute/sync/gemini/cli.rs # apps/aether-gateway/src/tests/control/admin/provider_query.rs # crates/aether-provider-transport/src/gemini_cli/mod.rs # crates/aether-provider-transport/src/gemini_cli/request.rs # crates/aether-provider-transport/src/gemini_cli/url.rs # crates/aether-provider-transport/src/lib.rs
This commit is contained in:
@@ -2972,28 +2972,41 @@ async fn provider_query_execute_standard_test_candidate(
|
||||
if crate::provider_transport::is_gemini_cli_provider_transport(&transport)
|
||||
&& normalized_provider_api_format == "gemini:generate_content"
|
||||
{
|
||||
let project_id = match crate::provider_transport::resolve_gemini_cli_project_id(&transport)
|
||||
{
|
||||
Some(project_id) => Some(project_id),
|
||||
None => state
|
||||
let mut gemini_cli_auth =
|
||||
match crate::provider_transport::resolve_local_gemini_cli_request_auth(&transport) {
|
||||
crate::provider_transport::GeminiCliRequestAuthSupport::Supported(auth) => auth,
|
||||
crate::provider_transport::GeminiCliRequestAuthSupport::Unsupported(_) => {
|
||||
crate::provider_transport::GeminiCliRequestAuth::default()
|
||||
}
|
||||
};
|
||||
if gemini_cli_auth.project_id.is_none() {
|
||||
gemini_cli_auth = state
|
||||
.app()
|
||||
.hydrate_gemini_cli_project_metadata_for_transport(&transport)
|
||||
.await
|
||||
.and_then(|hydrated| {
|
||||
let project_id =
|
||||
crate::provider_transport::resolve_gemini_cli_project_id(&hydrated);
|
||||
transport = hydrated;
|
||||
project_id
|
||||
}),
|
||||
};
|
||||
let Some(project_id) = project_id else {
|
||||
match crate::provider_transport::resolve_local_gemini_cli_request_auth(
|
||||
&transport,
|
||||
) {
|
||||
crate::provider_transport::GeminiCliRequestAuthSupport::Supported(auth) => {
|
||||
Some(auth)
|
||||
}
|
||||
crate::provider_transport::GeminiCliRequestAuthSupport::Unsupported(_) => {
|
||||
None
|
||||
}
|
||||
}
|
||||
})
|
||||
.unwrap_or_default();
|
||||
}
|
||||
if gemini_cli_auth.project_id.is_none() {
|
||||
return Ok(provider_query_skipped_execution_outcome(
|
||||
provider_request_body,
|
||||
"Gemini CLI project_id is unavailable for v1internal request",
|
||||
));
|
||||
};
|
||||
}
|
||||
provider_request_body = match crate::provider_transport::build_gemini_cli_v1internal_request(
|
||||
project_id.as_str(),
|
||||
&gemini_cli_auth,
|
||||
trace_id,
|
||||
request_model,
|
||||
&provider_request_body,
|
||||
|
||||
Reference in New Issue
Block a user