# TaskOutput

Забирает накопленный вывод запущенной или завершённой фоновой задачи — фоновой shell-команды, локального агента или удалённой сессии. Используйте, когда нужно осмотреть, что произвела долго идущая задача на данный момент.

## Когда использовать

- Удалённая сессия (например, облачная песочница) выполняется, и нужен её stdout.
- Локальный агент был запущен в фоне, и вы хотите частичный прогресс до его возврата.
- Фоновая shell-команда работает достаточно долго, и вы хотите проверить её, не останавливая.
- Нужно подтвердить, что фоновая задача действительно продвигается, прежде чем ждать дальше или вызывать `TaskStop`.

Не тянитесь к `TaskOutput` рефлекторно. Для большинства фоновой работы есть более прямой путь — см. примечания ниже.

## Параметры

- `task_id` (string, обязательный): идентификатор задачи, возвращённый при старте фоновой работы. Не то же, что `taskId` из списка задач; это runtime-handle конкретного выполнения.
- `block` (boolean, необязательный): если `true` (по умолчанию), ждать, пока задача не произведёт новый вывод или не завершится, прежде чем вернуть. Если `false`, возвращает немедленно с тем, что есть в буфере.
- `timeout` (number, необязательный): максимальное число миллисекунд блокировки перед возвратом. Имеет значение только когда `block` равен `true`. По умолчанию `30000`, максимум `600000`.

## Примеры

### Пример 1

Подсмотреть в удалённую сессию без блокировки.

```
TaskOutput(task_id: "sess_01HXYZ...", block: false)
```

Возвращает всё, что было выведено в stdout/stderr с момента старта задачи (или с последнего вызова `TaskOutput`, в зависимости от runtime).

### Пример 2

Коротко подождать, пока локальный агент выдаст больше вывода.

```
TaskOutput(
  task_id: "agent_01ABCD...",
  block: true,
  timeout: 10000
)
```

## Примечания

- Фоновые bash-команды: `TaskOutput` фактически устарел для этого случая. Когда вы стартуете фоновую shell-задачу, результат уже включает путь к её файлу вывода — читайте этот путь напрямую инструментом `Read`. `Read` даёт вам случайный доступ, смещения по строкам и стабильный вид; `TaskOutput` — нет.
- Локальные агенты (инструмент `Agent`, запущенный в фоне): когда агент завершится, результат инструмента `Agent` уже содержит его финальный ответ. Используйте его напрямую. Не читайте файл-символическую ссылку с транскриптом — он содержит полный поток tool-call и переполнит окно контекста.
- Удалённые сессии: `TaskOutput` — правильный и часто единственный способ стримить вывод. Предпочитайте `block: true` со скромным `timeout` вместо плотных циклов опроса.
- Неизвестный `task_id` или задача, чей вывод был собран сборщиком мусора, возвращает ошибку. Перезапустите работу, если она всё ещё нужна.
- `TaskOutput` не останавливает задачу. Для завершения используйте `TaskStop`.
