refactor: remove /v1/gemini endpoint, replaced by /v1beta routes

- Delete handle_gemini handler (identical to handle_gemini_v1beta)
- Remove /v1/gemini route from router
- Update root handler service name to zerogravity
- Clean all doc references
This commit is contained in:
Nikketryhard
2026-02-18 01:59:22 -06:00
parent 59ed872ed3
commit 1a5075dd20
5 changed files with 3 additions and 14 deletions

View File

@@ -84,7 +84,6 @@ cat "$TRACE_DIR/$(ls -t "$TRACE_DIR" | head -1)/summary.md"
| ---------- | --------------------------------- | ------------------------------------ | | ---------- | --------------------------------- | ------------------------------------ |
| `POST` | `/v1/responses` | Responses API (sync + streaming) | | `POST` | `/v1/responses` | Responses API (sync + streaming) |
| `POST` | `/v1/chat/completions` | Chat Completions API (OpenAI compat) | | `POST` | `/v1/chat/completions` | Chat Completions API (OpenAI compat) |
| `POST` | `/v1/gemini` | Native Gemini API |
| `POST` | `/v1beta/models/{model}:{action}` | Official Gemini v1beta routes | | `POST` | `/v1beta/models/{model}:{action}` | Official Gemini v1beta routes |
| `GET/POST` | `/v1/search` | Web Search via Google grounding | | `GET/POST` | `/v1/search` | Web Search via Google grounding |
| `GET` | `/v1/models` | List available models | | `GET` | `/v1/models` | List available models |

View File

@@ -35,7 +35,6 @@ zg start
| ---------- | --------------------------------- | ------------------------------------ | | ---------- | --------------------------------- | ------------------------------------ |
| `POST` | `/v1/responses` | Responses API (sync + streaming) | | `POST` | `/v1/responses` | Responses API (sync + streaming) |
| `POST` | `/v1/chat/completions` | Chat Completions API (OpenAI compat) | | `POST` | `/v1/chat/completions` | Chat Completions API (OpenAI compat) |
| `POST` | `/v1/gemini` | Native Gemini API |
| `POST` | `/v1beta/models/{model}:{action}` | Official Gemini v1beta routes | | `POST` | `/v1beta/models/{model}:{action}` | Official Gemini v1beta routes |
| `GET/POST` | `/v1/search` | Web Search via Google grounding | | `GET/POST` | `/v1/search` | Web Search via Google grounding |
| `GET` | `/v1/models` | List available models | | `GET` | `/v1/models` | List available models |

View File

@@ -133,7 +133,6 @@ graph TD
| ---------- | ---------------------- | --------------------------------- | --------------------------------------- | | ---------- | ---------------------- | --------------------------------- | --------------------------------------- |
| `POST` | `/v1/responses` | `responses::handle_responses` | OpenAI Responses API (streaming + sync) | | `POST` | `/v1/responses` | `responses::handle_responses` | OpenAI Responses API (streaming + sync) |
| `POST` | `/v1/chat/completions` | `completions::handle_completions` | OpenAI Chat Completions API | | `POST` | `/v1/chat/completions` | `completions::handle_completions` | OpenAI Chat Completions API |
| `POST` | `/v1/gemini` | `gemini::handle_gemini` | Custom Gemini endpoint |
| `POST` | `/v1beta/{*path}` | `gemini::handle_gemini_v1beta` | Official Gemini v1beta routes | | `POST` | `/v1beta/{*path}` | `gemini::handle_gemini_v1beta` | Official Gemini v1beta routes |
| `GET/POST` | `/v1/search` | `search::handle_search_*` | Web search via Google grounding | | `GET/POST` | `/v1/search` | `search::handle_search_*` | Web search via Google grounding |
| `GET` | `/v1/models` | `handle_models` | List available models | | `GET` | `/v1/models` | `handle_models` | List available models |

View File

@@ -1,7 +1,6 @@
//! Gemini-native endpoint — zero-translation tool call passthrough. //! Gemini-native endpoint — zero-translation tool call passthrough.
//! //!
//! Routes: //! Routes:
//! POST /v1/gemini (custom, stream via body flag)
//! POST /v1beta/models/{model}:generateContent (sync, official Gemini API path) //! POST /v1beta/models/{model}:generateContent (sync, official Gemini API path)
//! POST /v1beta/models/{model}:streamGenerateContent (stream, official Gemini API path) //! POST /v1beta/models/{model}:streamGenerateContent (stream, official Gemini API path)
//! //!
@@ -118,13 +117,7 @@ async fn build_usage_metadata(
} }
} }
/// POST /v1/gemini — simple custom endpoint
pub(crate) async fn handle_gemini(
State(state): State<Arc<AppState>>,
Json(body): Json<GeminiRequest>,
) -> axum::response::Response {
handle_gemini_inner(state, body).await
}
/// POST /v1beta/*path — handles both :generateContent and :streamGenerateContent /// POST /v1beta/*path — handles both :generateContent and :streamGenerateContent
/// ///
@@ -173,7 +166,7 @@ async fn handle_gemini_inner(
body: GeminiRequest, body: GeminiRequest,
) -> axum::response::Response { ) -> axum::response::Response {
info!( info!(
"POST /v1/gemini model={} stream={}", "POST /v1beta/gemini model={} stream={}",
body.model.as_deref().unwrap_or(DEFAULT_MODEL), body.model.as_deref().unwrap_or(DEFAULT_MODEL),
body.stream body.stream
); );

View File

@@ -48,7 +48,6 @@ pub fn router(state: Arc<AppState>) -> Router {
"/v1/chat/completions", "/v1/chat/completions",
post(completions::handle_completions), post(completions::handle_completions),
) )
.route("/v1/gemini", post(gemini::handle_gemini))
.route( .route(
"/v1beta/{*path}", "/v1beta/{*path}",
post(gemini::handle_gemini_v1beta), post(gemini::handle_gemini_v1beta),
@@ -72,7 +71,7 @@ pub fn router(state: Arc<AppState>) -> Router {
async fn handle_root() -> Json<serde_json::Value> { async fn handle_root() -> Json<serde_json::Value> {
Json(serde_json::json!({ Json(serde_json::json!({
"service": "antigravity-openai-proxy", "service": "zerogravity",
"version": "3.3.0", "version": "3.3.0",
"runtime": "rust", "runtime": "rust",
"endpoints": [ "endpoints": [