# 运行限制

插件在传递大量数据或执行长任务时，可以用这里的数值确定处理方式。例如，列表超过一次响应的大小时，按页请求；动作需要更多执行时间时，设置 `execution.timeoutMs`。

字节数按 UTF-8 编码后的 JSON 计算，`KiB` 为 1024 字节。Schema 中的字符串长度按 JavaScript `length` 计算。

## 数据大小

| 数据 | 大小 |
| --- | --- |
| 状态 | 默认 4 KiB，由 `maxBytes` 设置为 1–64 KiB |
| 数据提供者输入 | 4 KiB |
| 数据提供者输出 | 默认 32 KiB，由 `maxBytes` 设置为 1–64 KiB |
| 实例操作参数 | 4 KiB |
| 事件 | 默认 4 KiB，由 `maxBytes` 设置为 1–64 KiB |
| 服务参数与结果 | 各 4 KiB |
| 必需插件依赖 | 最多 64 项，单个 SemVer 范围最多 256 字符 |
| HTTPS JSON 响应 | 128 KiB |
| 插件全局设置 | 最多 32 字段；有效值合计最多 64 KiB，单个字符串默认最多 4096 字符 |

声明了 Schema 时，数据同时受 Schema 约束。未设置 `maxLength` 的字符串默认最多 65536 个字符，未设置 `maxItems` 的列表默认最多 1000 项。

## 请求时间

| 调用 | 默认等待时间 | 设置位置 |
| --- | --- | --- |
| 宿主执行动作 | 10 秒 | [ActionExecution.timeoutMs](./actions.md#actionexecution-timeoutms)，100–300000 毫秒 |
| 数据提供者 | 15 秒 | [DataProvider.timeoutMs](./data-providers.md#dataprovider-timeoutms)，100–30000 毫秒 |
| 页面请求数据 | 35 秒 | [FlyonDeckWidget.requestData()](./page-sdk.md#requestdata) |
| SDK 宿主调用 | 8 秒 | `sendText()` 的 `paste` 模式为 15 秒、`type` 模式为 60 秒 |
| HTTPS JSON 请求 | 6500 毫秒 | [context.network](./network.md) |
| 原生工具 | 6 秒 | [context.native](./native.md) |

调用超时表示发起方结束等待。如果处理函数已经写入文件或发送操作，这些操作不会随等待结束而撤销。

## 并发数量

每个插件的数据提供者和动态候选项查询各最多并发 8 次。服务消费方最多并发 16 次调用。后台 SDK 最多保留 32 个等待宿主响应的请求。

## 插件包

`.flyext` 压缩包最多 256 MiB，单个文件最多 128 MiB，展开总量最多 512 MiB。包内最多 10000 个条目，目录深度最多 20 层，见[插件包协议](../protocol/v1/package.md)。
