Host API
Плагины взаимодействуют с платформой через функции хоста. Каждая группа функций требует соответствующего requirement в манифесте плагина.
| Группа | Описание | Требование |
|---|---|---|
| База данных | SQL-запросы через database/sql | Database(desc) |
| HTTP-клиент | Исходящие HTTP-запросы | HTTP(desc) |
| KV Store | Key-value хранилище с TTL | KV(desc) |
| Уведомления | Отправка уведомлений пользователям и в чаты | NotifyReq(desc) |
| Файлы | Приём, хранение и отправка файлов | File(desc) |
| Межплагинное взаимодействие | Вызов методов других плагинов и публикация событий | PluginDep / EventsReq |
Дополнительно:
- HTTP host calls всегда проходят SSRF-защиту.
- При включённом
wasm.http_policy_enabledhost применяет requirement-driven HTTP policy изrequirements.http.<name>. call_pluginиспользует отдельный RPC path и разрешает только методы, опубликованные вRPCMethods.- Для файлов основной bulk-read ABI теперь
file_read_into; старыйfile_readпомечен какdeprecatedи сохранён только для обратной совместимости со старыми.wasm.