- 28 Feb, 2026 3 commits
-
-
alfadb authored
Upstream proxies (account 4, 112) return `"<nil>"` as the error.type in their JSON responses — a Go fmt.Sprintf("%v", nil) artifact. Since `normalizeOpsErrorType` only checked for empty string, the literal "<nil>" passed through and poisoned the entire classification chain: error_phase was misclassified as "internal" (instead of "request"), severity was inflated to P2, and the stored error_type was meaningless. Add `isKnownOpsErrorType` whitelist so any unrecognised type falls through to the code-based or default "api_error" classification. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
yangjianbo authored
-
yangjianbo authored
-
- 27 Feb, 2026 4 commits
-
-
erio authored
Previously 2K images used the same base price as 1K ($0.134). Now 2K uses 1.5x multiplier ($0.201), consistent with 4K using 2x ($0.268). - Backend: add 2K size branch in getDefaultImagePrice - Frontend: update 2K placeholder from 0.134 to 0.201 - Tests: update assertions for new 2K default price
-
erio authored
Update the default user-agent version from 1.18.4 to 1.19.6 to match the latest official antigravity client.
-
erio authored
-
erio authored
- Add migration 060 to update model_mapping for all antigravity accounts - Remove gemini-3-pro-image and gemini-3-pro-image-preview mappings - Add gemini-3.1-flash-image and gemini-3.1-flash-image-preview mappings - Update frontend usage window to show GImage for new model - Update isImageGenerationModel to support new model
-
- 26 Feb, 2026 7 commits
-
-
alfadb authored
-
alfadb authored
PR #635 returned HTTP 200 with {"input_tokens": 0} when upstream doesn't support count_tokens (404). This caused Claude Code CLI to trust the zero value, believing context uses 0 tokens, so auto-compression never triggers. Fix: return 404 with proper error body so CLI falls back to its local tokenizer for accurate estimation. Return nil (not error) to avoid polluting ops error metrics with expected 404s. Affected paths: - Passthrough APIKey accounts: upstream 404 now passed through as 404 - Antigravity accounts: same fix (was also returning fake 200) -
shaw authored
-
cagedbird043 authored
-
cagedbird043 authored
-
shaw authored
FetchGoogleOneTier 原先在方法内部直接创建 DriveClient 实例, 导致单元测试中对 googleapis.com 发起真实 HTTP 请求,在 CI 环境 产生 401 错误。 将 DriveClient 作为依赖注入到 GeminiOAuthService,遵循项目 端口与适配器架构规范: - 新增 repository/gemini_drive_client.go 作为 Provider - 注册到 repository Wire ProviderSet - 测试中使用 mockDriveClient 替代真实调用
-
alfadb authored
第三方 Anthropic 中转站通常不支持 /v1/messages/count_tokens 端点, 上游返回 404 时降级返回 {input_tokens: 0},客户端 fallback 到本地估算。 - 仅匹配 404 状态码,语义明确:端点不存在 - 其他错误 (400/429/500) 保留原始处理链和 ops 遥测 - 无需解析错误消息内容,不依赖字符串匹配 - 新增 table-driven 测试覆盖 fallback 和 non-fallback 路径
-
- 25 Feb, 2026 8 commits
-
-
cagedbird043 authored
-
cagedbird043 authored
-
cagedbird043 authored
-
shaw authored
-
huangenjun authored
使用安全的 comma-ok 模式替代裸类型断言,避免 golangci-lint errcheck 报错。 Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
huangenjun authored
新增 jsonMarshalRaw 使用 SetEscapeHTML(false) 替代 json.Marshal, 避免 HTML 字符转义导致客户端无法直接使用返回的 URL。 Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
huangenjun authored
使用 go-sora2api v1.1.0 SDK 替代原有 ~2000 行自建 HTTP/PoW/TLS 指纹代码, SDK 提供高并发性能优化(实例级 rand、PoW 缓冲区复用、context.Context 支持)。 - 新增 SoraSDKClient 适配器实现 SoraClient 接口 - 精简 sora_client.go 为仅保留接口和类型定义 - 更新 Wire 绑定使用 SoraSDKClient - 删除 SoraDirectClient、sora_curl_cffi_sidecar、sora_request_guard 等旧代码 Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
shaw authored
-
- 24 Feb, 2026 18 commits
-
-
erio authored
-
erio authored
-
erio authored
-
cagedbird043 authored
-
erio authored
- Remove Gemini platform exclusion from model restriction UI in Create/Edit account modals (Gemini now supports model_mapping) - Remove outdated Gemini model passthrough info cards - Add model_mapping field to GeminiCredentials type - Extend warmup request interception toggle to Antigravity platform - Remove redundant try/catch in API key account creation - Remove noisy gateway.request_completed debug log - Reorganize Gemini model mapping sections in constants.go
-
erio authored
The ClientSecret constant was left as an empty string after getClientSecret() was refactored to use defaultClientSecret. Remove the dead constant and update the test accordingly.
-
erio authored
- Fix oauth_test.go and client_test.go to use defaultClientSecret variable instead of env var (init() already sets the default) - Align migration 058 gemini-3-pro-high/low/preview mappings with constants.go (map to 3.1 versions)
-
erio authored
Add a built-in default for ANTIGRAVITY_OAUTH_CLIENT_SECRET so the service works out of the box without requiring environment variable configuration. The env var can still override the default.
-
cagedbird043 authored
-
erio authored
-
erio authored
Add missing gemini-3.1-pro-preview -> gemini-3.1-pro-high mapping to DefaultAntigravityModelMapping for consistency with migration 059.
-
cagedbird043 authored
-
cagedbird043 authored
-
cagedbird043 authored
-
erio authored
Add migration 058 to update existing Antigravity accounts with claude-sonnet-4-6 in model_mapping. Add migration 059 to add gemini-3.1-pro-high/low/preview mappings.
-
erio authored
Update the default ANTIGRAVITY_USER_AGENT_VERSION from 1.84.2 to 1.18.4 to match the current Antigravity-Manager desktop client.
-
erio authored
Add claude-sonnet-4-6 to identity injection modelInfoMap and Antigravity model selector. Add gemini-3.1-pro-high/low to Antigravity model list and Sonnet 4.6 preset mapping.
-
erio authored
- Add claude-sonnet-4-6 to default Antigravity model mapping - Add antigravity_extra_retries default value in config - Add cache-dependency-path to CI setup-go for faster builds - Simplify vitest config to avoid vite plugin compatibility issues
-