- 25 Feb, 2026 2 commits
-
-
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 31 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
-
erio authored
Add comprehensive tests for warmup request interception behavior covering Antigravity accounts with various credential configurations.
-
erio authored
Remove the special case that bypassed model-supported checks for Gemini API Key accounts, allowing model_mapping to filter requests properly. Add tests for multiplatform model filtering behavior.
-
erio authored
- Use mapped model (billingModel) instead of original request model for billing - Use resolveFinalAntigravityModelKey for 429 rate limit model key, ensuring rate limit records match the actual upstream model - Add regression tests for both fixes
-
erio authored
- Extract duplicated failover logic from gateway_handler.go (3 places) and gemini_v1beta_handler.go into shared failover_loop.go - Introduce FailoverState with HandleFailoverError and HandleSelectionExhausted - Move helper functions (needForceCacheBilling, sleepWithContext) into failover_loop.go - Add comprehensive unit tests (32+ test cases) - Delete redundant gateway_handler_single_account_retry_test.go
-
erio authored
Add a dedicated CheckMixedChannel endpoint that allows the frontend to pre-validate mixed channel risk before submitting create/update requests. This improves UX by showing warnings earlier in the flow instead of only after form submission. Backend changes: - Add CheckMixedChannelRequest struct and CheckMixedChannel handler - Register POST /check-mixed-channel route - Expose CheckMixedChannelRisk as public method on AdminService - Simplify Create/Update 409 responses (remove details/require_confirmation) - Add comprehensive handler tests and stub methods Frontend changes: - Add checkMixedChannelRisk API function and TypeScript types - Refactor CreateAccountModal to precheck before step transition and submission - Refactor EditAccountModal to precheck before update submission - Replace pendingPayload pattern with action-based dialog flow
-
erio authored
Extract applyInterceptWarmup utility to unify all credential building call sites: - Fix upstream account creation missing intercept_warmup_requests write - Fix apikey edit mode missing else-branch to clear the setting - Add backend unit test for IsInterceptWarmupEnabled - Add frontend unit test for credentialsBuilder
-
erio authored
Before this change, when a client disconnected mid-request, the error message was "Upstream request failed after retries", which is misleading and pollutes error logs. Now we check context.Err() to return a more accurate "Client disconnected" message for both Claude and Gemini forward paths.
-
shaw authored
skipIfExternalServiceUnavailable 检查了 "timeout" 但 Go 的 context.DeadlineExceeded 错误信息是 "context deadline exceeded", 不包含 "timeout" 子串,导致外部服务不可达时测试直接失败而非跳过。
-
shaw authored
-
shaw authored
- oauth.go: GetUserAgent() 缺少闭合大括号导致语法错误 - client_test.go/oauth_test.go: UserAgent 变量已重构为 GetUserAgent(),更新测试引用 - model_rate_limit_test.go: gemini-3-pro-preview 映射目标已更新为 gemini-3.1-pro-high,同步测试
-
shaw authored
idempotency_key_hash 和 request_fingerprint 列为 VARCHAR(64), 而 uniqueTestValue 生成的字符串含完整测试名可能超过 64 字符。 新增 hashedTestValue 辅助函数对测试值做 SHA-256 哈希, 与生产逻辑一致且严格符合列宽限制。
-
shaw authored
idempotency_repo_integration_test.go 中的 ptrTime 与 scheduler_cache.go 中的声明冲突,导致 repository 包测试构建失败。
-
shaw authored
- logger: sinkCore 包装 tee core 时绕过了子 core 的 Check 级别过滤, 导致每条日志同时写入 stdout 和 stderr,表现为启动日志重复显示。 修复为正确委托 Check 给内部 tee core,sinkCore.Write 仅负责 sink 转发。 - migration 054: 移除冗余的遗留列回填逻辑,migration 009 已完成数据迁移, 直接删除遗留列即可。
-
- 23 Feb, 2026 6 commits
-
-
cagedbird043 authored
-
cagedbird043 authored
-
yangjianbo authored
- 将媒体写入和删除切换为 os.Root 沙箱 API - 移除旧的路径拼接校验辅助函数并收敛删除逻辑 - 调整并新增相关单元测试覆盖删除行为 Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
yangjianbo authored
- 新增安全路径拼接校验,确保目标文件仍在下载目录内 - 清理失败下载文件时复用安全校验,避免不安全删除路径 - 增加扩展名白名单归一化与相关单元测试 Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
yangjianbo authored
-
yangjianbo authored
-
- 22 Feb, 2026 1 commit
-
-
yangjianbo authored
-