Компоненты: один блок на всех агентов
Цель модуля: перестать копировать один и тот же кусок диалога в каждого агента.

Компонент-нода ссылается на компонент «Согласие на SMS-напоминание»: 2 узла внутри, уровень «Библиотека».
Показать панель целиком
Показать панель целиком


/components — каталог: где компонент используется, режим переходов, версия. Удаление библиотечного компонента не рвёт агентов — он превращается в локальную копию.
Нажмите, чтобы открыть целиком

Редактор компонента. Внутри компонента — тот же холст. Отличие одно: вместо End стоит Exit («возврат в флоу») — выход, который при публикации склеивается со связью компонент-ноды.
Локальная копия помнит, откуда она взялась
Локальная копия библиотечного компонента хранит ссылку на родителя и версию, от которой её отпочковали, и носит бейдж «переопределяет библиотеку». Рядом есть просмотр расхождения копии с текущим телом родителя — сравнение идёт по смыслу, поэтому перестановка ключей расхождением не считается.Закрепление и выкат во все агенты
Закреплённый библиотечный компонент нельзя отвязать и удалить, а роли «разработчик» — ещё и править. Это способ зафиксировать формулировку, которую согласовали юристы, чтобы её не «поправили под сценарий» в одном агенте. Правку компонента можно выкатить во все агенты мастером: он показывает список потребителей до применения и позволяет перепубликовать выбранных. Без него правка библиотеки попадает в черновики, но на боевые звонки не влияет, пока каждого агента не опубликуют вручную.Зачем это дисциплина, а не удобствоФормулировка согласия или напоминания — то, что меняется по требованию юристов и сразу во всех агентах. Пока это скопированный текст в двадцати узлах, изменение гарантированно где-то забудут. Компонент делает такую правку одной операцией — и видно, в скольких агентах она отразится.