1. 11 Feb, 2026 2 commits
    • Wesley Liddick's avatar
      Merge pull request #553 from Edric-Li/feat/antigravity-onboard-projectid · 72310276
      Wesley Liddick authored
      feat(antigravity): 添加 onboardUser 支持,修复 project_id 缺失问题
      72310276
    • Edric Li's avatar
      feat(antigravity): 添加 onboardUser 支持并修复 project_id 补齐逻辑 · a4a46a86
      Edric Li authored
      - 新增 OnboardUser API 客户端方法,支持账号 onboarding 获取 project_id
      - loadProjectIDWithRetry 增加 onboard 回退:LoadCodeAssist 未返回 project_id 时自动触发 onboarding
      - GetAccessToken 中 project_id 补齐改用轻量 FillProjectID 替代全量 RefreshAccountToken
      - 补齐逻辑增加 5 分钟冷却机制,防止频繁重试
      - OnboardUser 轮询等待改为 context 感知,支持提前取消
      - 提取 mergeCredentials 辅助方法消除重复代码
      - 新增 extractProjectIDFromOnboardResponse 和 resolveDefaultTierID 单元测试
      a4a46a86
  2. 10 Feb, 2026 12 commits
  3. 09 Feb, 2026 23 commits
  4. 08 Feb, 2026 3 commits
    • erio's avatar
      feat: shuffle accounts within same sort group to prevent thundering herd · 1af06aed
      erio authored
      Add post-sort shuffle for accounts with identical (priority, loadRate,
      lastUsedAt) to break deterministic ordering when concurrent requests
      read the same scheduler snapshot. Applies to both Antigravity and
      OpenAI scheduling paths, plus the sortAccountsByPriorityAndLastUsed
      helper.
      
      Keeps upstream CallCount/ModelLoadInfo scheduling intact; shuffle is
      additive and only randomises within equivalent-rank groups.
      1af06aed
    • erio's avatar
      feat: route AccountTypeUpstream to ForwardUpstream in Forward() entry · 9236936a
      erio authored
      Without this routing guard, ForwardUpstream is never called because
      Forward() always proceeds with the standard OAuth/cookie flow.
      9236936a
    • erio's avatar
      fix: use upstream retryDelay for rate limit duration instead of fixed default · 12515246
      erio authored
      - In handleSmartRetry, use the actual upstream retryDelay to set model
        rate limit duration instead of always using the 30s default
      - Return info.RetryDelay from shouldTriggerAntigravitySmartRetry when
        shouldRateLimitModel=true, so callers know the actual delay
      - Extract getDefaultRateLimitDuration() and resolveResetTime() helpers
        to reduce duplication in handleUpstreamError 429 handling
      - Improve debug logging with upstream_retry_delay and response body
      12515246