[Bug]: Antigravity native slash commands (e.g. /swarm) never appear in the composer

Đang mở
#35,611 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
35/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

Hướng nghiên cứu

Start in apps/server with AntigravityDriver's onSessionEvent, which calls provider.onAvailableCommands without a cwd, then read AntigravityProvider.onAvailableCommands and snapshotForCwd to see how workspaceSnapshots and slashCommandsPending are set. Also check where publishCatalog is wired to onAuthenticated for the startup path. Done when native commands like /swarm appear in the composer after restart and after a new session, without waiting for a turn.

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. Set the Antigravity provider's Binary path to an Antigravity CLI ≥ 1.5.0 (agy, launched as agy acp).
  2. Restart T3 Code.
  3. Open (or create) an Antigravity thread in any project and type /. No native Antigravity commands (/swarm, /goal, /teamwork, /plan, …) are listed; only skills appear.
  4. Send any message so an ACP session starts, then type / again. Still no native commands.
Expected behavior

The / menu lists the commands the agent advertises via available_commands_update as soon as they are known. They should not be lost on restart, or should be refreshed at startup.

Actual behavior

The agent does advertise the commands, and the server receives them, but the composer never shows them:

  1. Commands from a thread session are stored without a cwd. In AntigravityDriver, the thread runtime's onSessionEvent calls provider.onAvailableCommands(event.availableCommands) with no cwd. AntigravityProvider.onAvailableCommands(commands, cwd) only writes a workspaceSnapshots entry when cwd is given, so the commands land only in the provider-wide slashCommands.
  2. The per-cwd snapshot taken just before is empty and is trusted for 5 minutes. The workspace refresh calls snapshotForCwd when the thread opens or starts. That happens about 2 s before the agent's available_commands_update, so it records slashCommands: []. Antigravity's snapshotForCwd never sets slashCommandsPending, so the empty list is stored as complete and stays "current" for PROVIDER_WORKSPACE_SNAPSHOT_TTL_MS (5 min). The client prefers workspaceSnapshot.slashCommands over the populated provider-wide list.
  3. Startup never publishes the catalog. publishCatalog (which forwards AvailableCommandsUpdated) is only wired to the auth flow's onAuthenticated. On restart the provider state is rebuilt with slashCommands: [], and nothing repopulates it until a turn is sent.

Related: #31832 (closed feature request for native command parity). This is a separate, concrete bug: the agent sends the commands, but they don't reach the composer.

Impact

Minor bug or occasional failure

Version or commit

T3 Code (Nightly) 0.1.10-nightly.20261111.4529

Environment

macOS 26 (darwin-arm64), Antigravity provider (oauth-personal), Antigravity CLI 1.5.7 via Binary path

Logs or stack traces
# server.trace.ndjson span names (local time)
00:09:40 AntigravityProvider.snapshotForCwd        # workspace snapshot recorded, slashCommands = []
00:09:42 AntigravityProvider.onAvailableCommands   # 120 commands arrive (incl. "swarm"), stored provider-wide only
         # composer keeps showing the empty cwd snapshot
00:12:53 server.startup                            # restart: provider slashCommands reset to []
00:13:09 AntigravityProvider.snapshotForCwd        # [] again

# Standalone `agy acp`: session/new returns at ~3.59 s, available_commands_update (120 commands) at ~3.62 s.
Workaround

Typing the full command (for example /swarm <task>) and sending it should work, because buildAntigravityPrompt passes the text unchanged and the agent expands slash commands itself. Only discovery through the / menu is broken.

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.