# events

事件描述某件事发生了，例如后台刷新完成。后台调用 [context.events.emit()](./events.md)发送，飞块按消费者声明交给宿主事件总线和已订阅的插件后台。

当前事件不会自动触发用户流程。流程需要这次执行的结果时，从动作函数返回；界面需要当前值时，使用状态来源。

## PluginEvent

清单位置：`manifest.contributes.events[]`。

### `PluginEvent.id`

`string` · 必填

事件 ID，使用小写字母开头，可包含小写字母、数字、`.`、`_` 和 `-`，最多 128 个字符。

### `PluginEvent.title`

`string` · 必填

事件名称，最多 80 个字符。

### `PluginEvent.delivery`

`"ephemeral"` · 必填

一次性交付，事件不保留为状态快照。

### `PluginEvent.version`

`integer` · 必填

从 1 开始的事件接口版本，与插件包 SemVer 独立。订阅方声明的版本必须完全匹配。

### `PluginEvent.consumers`

`("host" | "plugins")[]` · 必填

非空、不可重复的消费者数组。`host` 开放给宿主内部总线，`plugins` 开放给声明依赖和订阅的插件；可同时选择。旧字符串格式与缺少 version 的声明直接拒绝。

### `PluginEvent.payloadSchema`

`Schema` · 必填

事件数据的结构，根 `type` 为 `object`。

### `PluginEvent.maxBytes`

`integer` · 可选

事件 JSON 最大字节数，默认 4096，范围为 1024–65536。
