Host API: команды, события и агенты
Минимальный устойчивый контракт для пилота: жизненный цикл, сохранение, вид, запросы состояния и команды; события ready, dirty, saved и error; маршрут агента.
Для встраивания нужен небольшой устойчивый контракт, а не доступ к сотням внутренних каналов настольного приложения.
Минимальный Host API для пилота
Заголовок раздела «Минимальный Host API для пилота»| Группа | Примеры | Зачем нужна |
|---|---|---|
| Жизненный цикл | mount, unmount, open, close |
Создать сеанс и корректно его закрыть. |
| Сохранение | save, saveAs, checkpoint |
Вернуть подтверждённый результат в ваше хранилище. |
| Вид | focus, setReadOnly, setLocale, setTheme |
Вписать поверхность в окружение вашего приложения. |
| Запросы состояния | getVersion, getCapabilities, getStatus |
Узнать версию контракта и какие функции доступны. |
| Команды | Правка, форматирование, отмена и повтор, действия рецензирования | Выполнить только разрешённые изменения. |
События, которые получает ваше приложение
Заголовок раздела «События, которые получает ваше приложение»-
ready— документ разобран и поверхность готова принимать согласованные действия. -
dirty— изменение принято, появилась несохранённая ревизия. -
saved— запись завершена, результат можно регистрировать как версию у себя. -
error— операция не выполнена; приходит код и описание причины, в котором нет содержимого документа. -
unmounted— поверхность убрана из вашего окна; после него сеанс уже не отвечает.
Агенты и автоматизация
Заголовок раздела «Агенты и автоматизация»Агент не должен изображать пользователя щелчками. Порядок другой: открыть сеанс, узнать доступные возможности, запросить ограниченный участок документа, найти устойчивую ссылку на нужное место, предложить точечное изменение, применить его с указанием ожидаемой ревизии, проверить результат, сохранить и открыть файл заново. Каждый шаг такого маршрута можно записать в журнал, ограничить правилами и повторить — с щелчками по экрану ничего из этого невозможно.