[Feat] Allow the agent to send input to a running background terminal (send_to_terminal)

Abierto
#512 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

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

Línea de trabajo

Start by locating IRunInTerminalTool and RunInTerminalTool.executeCommand(); the issue identifies these entry points and notes that sendCommand() already uses ITerminalViewControl.pasteString(). Trace how background terminals are opened and how get_terminal_output selects a terminal, then determine how input should target the running process. Done means the agent can send abc to a background interactive terminal and receive got: abc.

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

Descripción

enhancement

Problem
The copilot agent can start a long-running interactive process with
run_in_terminal (isBackground=true) and read it with get_terminal_output,
but it cannot send further input to that process. Interactive CLIs (debugger
consoles, serial monitors) therefore cannot be driven step by step:
the model has to pre-script all input (stdin pipe + sleeps) and cannot react
to intermediate replies.

Evidence (0.21.0)

  • IRunInTerminalTool only exposes executeCommand, getBackgroundCommandOutput,
    cancelCurrentCommand.
  • RunInTerminalTool.executeCommand() opens a new Copilot-<id> terminal per
    background call; a new foreground call first runs
    closeRunningForegroundTerminal(...).
  • Internally sendCommand() already uses ITerminalViewControl.pasteString().

Repro

  1. Ask the agent to run in background:
    powershell -NoProfile -Command 'while ($true) { $l = Read-Host ''input''; Write-Output (''got: '' + $l) }'
  2. Ask it to send abc to that terminal and show got: abc.

Observed
Eclipse Copilot: the agent can't type into the running terminal. It ends up writing one script that pipes all input with sleeps and only sees the output at the end.
VS Code Copilot: send_to_terminal works, I get got: abc back.

Lenguaje dominante
Java
Estrellas
129
Forks
70
Merge medio
3 d 2 h
PR fusionados (30 d)
15

Preparar el entorno

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 microsoft/copilot-for-eclipse

Todos los issues de microsoft/copilot-for-eclipse

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.