# TaskOutput

Отримує накопичений вивід запущеного чи завершеного фонового завдання — фонової команди оболонки, локального агента чи віддаленої сесії. Використовуйте, коли вам потрібно перевірити, що тривале завдання виробило досі.

## Коли використовувати

- Віддалена сесія (наприклад, хмарна пісочниця) виконується, і вам потрібен її stdout.
- Локальний агент був диспетчеризований у фоні, і вам потрібен частковий прогрес перед тим, як він повернеться.
- Фонова команда оболонки виконується достатньо довго, щоб ви хотіли перевірити її, не зупиняючи.
- Вам потрібно підтвердити, що фонове завдання насправді прогресує, перед тим як чекати довше чи викликати `TaskStop`.

Не звертайтеся до `TaskOutput` рефлекторно. Для більшості фонової роботи є прямший шлях — див. примітки нижче.

## Параметри

- `task_id` (string, обовʼязковий): Ідентифікатор завдання, повернутий при запуску фонової роботи. Не те саме, що `taskId` зі списку завдань; це дескриптор часу виконання для конкретного запуску.
- `block` (boolean, необовʼязковий): Якщо `true` (за замовчуванням), чекати, поки завдання не видасть новий вивід або не завершиться, перед поверненням. Якщо `false`, повертати негайно з тим, що в буфері.
- `timeout` (number, необовʼязковий): Максимум мілісекунд для блокування перед поверненням. Має сенс лише коли `block` — `true`. За замовчуванням `30000`, максимум `600000`.

## Приклади

### Приклад 1

Зазирніть у віддалену сесію без блокування.

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

Повертає будь-який stdout/stderr, вироблений з моменту запуску завдання (або з вашого останнього виклику `TaskOutput`, залежно від середовища виконання).

### Приклад 2

Зачекайте коротко, поки локальний агент видасть більше виводу.

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

## Примітки

- Фонові команди bash: `TaskOutput` фактично застарів для цього випадку. Коли ви запускаєте фонове завдання оболонки, результат уже містить шлях до його файлу виводу — читайте цей шлях безпосередньо інструментом `Read`. `Read` дає випадковий доступ, зміщення рядків і стабільний перегляд; `TaskOutput` — ні.
- Локальні агенти (інструмент `Agent`, диспетчеризований у фоні): коли агент завершується, результат інструмента `Agent` уже містить його фінальну відповідь. Використовуйте її безпосередньо. Не робіть `Read` на символічно-посиланий файл транскрипту — він містить повний потік викликів інструментів і переповнить контекстне вікно.
- Віддалені сесії: `TaskOutput` — правильний і часто єдиний спосіб потокового повернення виводу. Віддавайте перевагу `block: true` з помірним `timeout` над щільними циклами опитування.
- Невідомий `task_id` або завдання, чий вивід був зібраний смітником, повертає помилку. Передиспетчеризуйте роботу, якщо вона вам усе ще потрібна.
- `TaskOutput` не зупиняє завдання. Використовуйте `TaskStop` для завершення.
