Подписки на события
🔵 Обзор того, как события попадают в платформу и запускают агентов. Механизмы делятся на pull (платформа сама опрашивает), push (внешняя система присылает) и внутренние (события процессов ядра).
| Механизм | Тип | Что запускает | Где настраивается |
|---|---|---|---|
| Cron | pull (таймер) | ход агента по расписанию/интервалу | cron: в agent.yaml / config/cron.yaml |
| Мониторы | pull (источник) | ход агента на новые элементы источника | config/monitors.yaml |
| Входящий webhook | push | один ход агента по POST /v1/inbound/:template |
server.yaml → inbound |
| Webhook воркфлоу | push | запуск воркфлоу по POST /v1/workflows/<name>/webhook |
triggers.webhook |
| Реакции | внутренние события | действие на событие процесса (on:) |
config/reactions.yaml |
await_event |
ожидание | ход агента ждёт событие (webhook или таймер) | тул kind: await_event |
Push vs pull. Push удобен, когда внешняя система сама знает о событии (платежи, CRM, CI). Pull — когда надо опрашивать источник; при этом монитор стреляет только на изменения, а cron — всегда по расписанию.
Внутренние события. Реакции подписываются не на внешние
системы, а на события процессов ядра (ProcessEvent): старт/завершение, вызовы
инструментов, содержимое ответа, бюджет и т.д. — и запускают агента, инструмент,
webhook или signal (steering живого процесса).
Ожидание события внутри хода. await_event приостанавливает
ход и ждёт внешний колбэк POST /v1/events/callback (по event_id) или таймер;
async_action делает полный асинхронный флоу
(запрос → показ URL → колбэк → результат).
Доставка результата. Итог хода/воркфлоу раздаётся в sink'и (notify):
log, webhook, telegram, vk, yandex_messenger, email, messages_db,
agent, workflow, storage — см. Cron.
Разница между push-точками входа (inbound webhook, каналы Telegram/email) — в Виджет и каналы.