mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 17:30:23 +08:00
feat: Antigravity 端点签名迁移至 gemini:chat,流式 usage 提取重构与请求详情自动刷新
- Antigravity 端点签名从 gemini:cli 统一为 gemini:chat,保留向后兼容,含 DB 迁移 - 流式处理中 usage/completion/text 提取抽离为 _update_ctx_from_provider_event, 支持 envelope 解包后提取,避免格式转换流程中重复计数 - 新增 has_format_conversion 属性,区分真正的格式转换与 envelope rewrite, 修正 usage 展示层的格式转换标记 - 请求详情抽屉对未完成请求支持自动轮询刷新,关闭时自动停止 - 按次计费样式调整;实际成本仅在倍率非 1.0 时显示;缓存日志降级为 trace
This commit is contained in:
@@ -303,7 +303,9 @@ class ModelFetchScheduler:
|
||||
# Use request_builder's lazy refresh logic and persist refreshed token back to DB.
|
||||
# Endpoint signature is only used for tracing/debug; auth logic doesn't depend on it.
|
||||
endpoint_api_format = (
|
||||
"gemini:cli" if prepared.provider_type.lower() == ProviderType.ANTIGRAVITY else None
|
||||
"gemini:chat"
|
||||
if prepared.provider_type.lower() == ProviderType.ANTIGRAVITY
|
||||
else None
|
||||
)
|
||||
try:
|
||||
resolved = await resolve_oauth_access_token(
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"""Antigravity v1internal request/response envelope helpers.
|
||||
|
||||
Antigravity reuses the `gemini:cli` endpoint signature but wraps the actual
|
||||
Antigravity reuses the `gemini:chat` endpoint signature but wraps the actual
|
||||
wire format:
|
||||
- Request: V1InternalRequest (top-level metadata + nested GeminiRequest)
|
||||
- Response: V1InternalResponse (top-level responseId + nested GeminiResponse)
|
||||
|
||||
@@ -249,7 +249,7 @@ async def fetch_models_antigravity(
|
||||
"id": model_id,
|
||||
"owned_by": "antigravity",
|
||||
"display_name": display_name,
|
||||
"api_format": "gemini:cli",
|
||||
"api_format": "gemini:chat",
|
||||
}
|
||||
)
|
||||
|
||||
@@ -324,10 +324,14 @@ def register_all() -> None:
|
||||
from src.services.provider.transport import register_transport_hook
|
||||
|
||||
# Envelope
|
||||
register_envelope("antigravity", "gemini:chat", antigravity_v1internal_envelope)
|
||||
# Backward compat: allow existing endpoints that still use the old signature.
|
||||
register_envelope("antigravity", "gemini:cli", antigravity_v1internal_envelope)
|
||||
register_envelope("antigravity", "", antigravity_v1internal_envelope)
|
||||
|
||||
# Transport
|
||||
register_transport_hook("antigravity", "gemini:chat", build_antigravity_url)
|
||||
# Backward compat: allow existing endpoints that still use the old signature.
|
||||
register_transport_hook("antigravity", "gemini:cli", build_antigravity_url)
|
||||
|
||||
# Auth
|
||||
|
||||
Reference in New Issue
Block a user