[Bug]: Antigravity existing sessions reject newly discovered models due to stale cached configOptions

Đang mở
#35,693 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
42/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
ai-infra-agents, backend

Hướng nghiên cứu

Start in apps/server/src/provider/acp/AntigravityAcpSupport.ts with applyAntigravityAcpModelSelection, which validates the model against runtime.getConfigOptions and fails with AcpRequestError.invalidParams. Then trace how AntigravityDriver.refreshModels and makeDisposableRuntime publish newly discovered models, since existing sessions never see them. Done means a model discovered after a session started can be selected on that existing thread and the turn starts, either by refreshing the cached options or by restarting the ACP session.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/server

Steps to reproduce
  1. Start a thread with the Antigravity provider (agy acp), which keeps a long-lived AcpSessionRuntime open and caches the configOptions returned by the initial session/new.
  2. Wait for AntigravityDriver.refreshModels (or a backend/CLI rollout such as gemini-pro-orchestrator becoming available) to spawn a fresh makeDisposableRuntime (session/new) that discovers a newly available model and updates the UI model catalog.
  3. Return to the existing thread whose ACP session is still alive from before the new model appeared, switch its model selector to the newly discovered model (e.g. gemini-pro-orchestrator), and send a message.
Expected behavior

Either session/set_config_option / setModel applies the newly available model on the agent (or T3 Code restarts/refreshes the ACP session if the live session's cached configOptions are stale), allowing the turn to start normally.

Actual behavior

T3 Code rejects the model locally in applyAntigravityAcpModelSelection (~0.07–0.22 ms, without sending session/set_config_option to agy) because it validates solely against the existing session's cached runtime.getConfigOptions:

Provider error
The agent did not accept the model "gemini-pro-orchestrator". Choose another model for this provider, then retry.

Even though agy models and a fresh agy acp session/new both list gemini-pro-orchestrator (Orchestrator) as available for the same Google account.

As soon as session/close happened on that thread and a new agy acp runtime was started (session/new), applyAntigravityAcpModelSelection and session/set_config_option immediately succeeded with gemini-pro-orchestrator.

Impact

Minor bug or occasional failure

Version or commit

0.1.10-nightly.20261112.4580 (also present in origin/main @ 637507056 in apps/server/src/provider/acp/AntigravityAcpSupport.ts)

Environment

Linux (T3-Code.AppImage 0.1.10-nightly.20261112.4580), Antigravity CLI 1.5.6 / 1.5.7 (oauth-personal), model gemini-pro-orchestrator

Logs or stack traces
ProviderAdapterTurnStartError: Failed to start run ... on antigravity provider thread ...
  [cause]: AcpModelSelectionError: The agent did not accept the model "gemini-pro-orchestrator". Choose another model for this provider, then retry.
      at rejectedModel (...)
    [cause]: AcpRequestError: Antigravity model 'gemini-pro-orchestrator' is unavailable for this Google account. Select an available model.
        at AcpRequestError.invalidParams (...)
        at applyAntigravityAcpModelSelection (...)
        at AntigravityAdapterV2.applyModelSelection (...)
        at AcpAdapterV2.startTurn (...)

In apps/server/src/provider/acp/AntigravityAcpSupport.ts, applyAntigravityAcpModelSelection checks antigravityModelOptions(yield* input.runtime.getConfigOptions) and immediately fails with AcpRequestError.invalidParams if the model isn't in that session's cached configOptions. Because AntigravityDriver.refreshModels updates the provider catalog via a separate disposable runtime without refreshing existing active sessions' configOptions, any pre-existing thread rejects newly added models until its ACP process is closed and recreated.

Workaround

Close/restart the provider session (or restart T3 Code / open a new thread) so agy acp starts a fresh session/new and picks up the updated configOptions.

Ngôn ngữ chính
TypeScript
Star
24.8k
Fork
6.4k
Merge trung bình
59 phút
Pull request đã merge (30 ngày)
418

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của pingdotgg/t3code

Tất cả issue của pingdotgg/t3code

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.