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

Abierto
#35,611 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
24.8k
Forks
6.4k
Merge medio
59 min
PR fusionados (30 d)
418

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de pingdotgg/t3code

Todos los issues de pingdotgg/t3code

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.