# @inploi/flows 中文文档

规范地址：https://npmcn.com/package/%40inploi/flows/

版本：9\.10\.2
npm 元数据更新时间：2026-11-01T09:29:42.713Z
中文译文更新时间：2026-11-01T11:23:15.218Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40inploi/flows
原文对照：https://npmcn.com/package/%40inploi/flows/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：906 kB，70 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：@inploi/sdk \>=2\.1\.5，@inploi/core \*，@inploi/i18n \*
- 首次发布：2025-04-03T09:42:04.708Z
- 最新版本发布：2026-11-01T09:29:42.570Z
- 已发布版本数：32（近 12 个月 29 个）

## 中文简介

`@inploi/flows/engine` 是共享应用程序解释器。遗留呼叫者保留他们现有的最新应答 `undo` 以及提交政策。

## 安装

```sh
npm install @inploi/flows
```

也可以使用：`pnpm add @inploi/flows`、`yarn add @inploi/flows`、`bun add @inploi/flows`

## README

# 流

`@inploi/flows/engine` 是共享应用程序解释器。遗留呼叫者保留 他们现有的最新答案 `undo` 以及提交政策。

`@inploi/flows/replay` 出口 `createEditableFlowInterpreter`这是一家可选择的工厂 同样的引擎参数加上 `onReplayState`． 它使 `reviewAnswers`， `previewEdit({visitIndex, answer})` 和 `editAnswer({visitIndex, answer})` 在 首次提交确认。访问确定已完成的问题出现情况； 包括明确的跳过。取消和预览永远不会改变应用程序。

编辑恢复其访问检查点并静默地重建所选内容 路径。缺少、无效或传递依赖的答案再次询问；新添加的, 更改和删除的分支输出通过依赖项失效传播。 每次访问都会对交付的问题文本、输入类型、选项、标签、 验证配置和区域设置，以及所有机器人呈现历史的SHA-256 从流的开始到那个问题，按顺序(包括文本，链接，图像， 系统/信息消息，早期的问题提示，每个交付控件的文本/配置和交付的插值)。 只排除候选答案回声，包括跳过的答案注释。更改之前的输出无效 每一个后来的回答；未更改的输出允许重用。更改了继续/确认控制暂停，以便在后面的问题之前明确回答；未更改的、先前确认的控件可以静默重播。预应用Continue标签插入当前答案。重复使用要求保存的指纹匹配； 独立的答案可以在暂停之后继续存在，包括重新加载和继续。等待编辑 在重建开始前保存。一个单独的持久同意需求 幸存日志丢失：编辑后的每次提交，包括自动提交节点 和验证码重试，等待显式发送。恢复的可编辑会话 可用日记账也显示确认。具有隔离服务的头部运行比较有效载荷，预应用输入， 路径、消息、当前输入、问题和上下文指纹以及审查和发送前的终端状态。Timing-only 确认字段不影响等效性；真正的输入保持它的冷却时间。一个 Mismatch记录一个无内容的警告，并从编辑过的访问请求。

可选的version-5日志共享主机现有的存储生命周期。Version-1-4 日志在没有重用的情况下退回到确认状态。主机使用 `storableReplayJournal(data)` 将匹配当前非文件提交的值替换为密钥和SHA-256指纹。 加载在将引用物化到解释器内存之前验证它们；检查点值只需要 中断的编辑将保留，直到达到它们或重建得到确认。取代检查点 比较只保留SHA-256指纹；保存的候选文件省略了旧的提示/控制文本。替换的值和保存的重放候选值 然后被修剪，保留最小的前缀用于第二次发送等价性检查。文件引用使用SHA-256 对完整的编码内容、元数据和文件顺序进行计算 答案是隐含的或隐含的。相同名称，相同大小的替代品仍然是不同的。 文件字节留在当前提交和瞬态解释器内存中，而不是日志中。 检查点引用池条目。加载验证答案的校验和， 访问，控制，历史和记录。“遗留撤销”将丢弃日志。过期的记录, 不同地区的记录和日志保留了上下文指纹 最新的修正，直到新的通道。 没有访问的遗留会话，循环重放后缀，包含重复问题访问的日志，同时发生的重复写入和 不支持的写节点不合格。定义限制为512个节点和 期刊到4096个不同的值；这些保守限制保留了修正。 流程/构建/作业/上下文标识必须与检查点匹配。第一次发送尝试 丢弃日志并永久禁用该会话的审阅编辑。 重复的重读会在调用集成之前使缓存的请求无效；因此失败了 使用引擎的错误默认值进行重建，没有过时的结果回退循环。 缓存使用SHA-256请求密钥，而不是原始的电子邮件请求。完成、重新启动和过期 丢弃带有主机快照的日志；候选程序还删除过期的内存回调记录。

影响预览遵循使用现有答案的预期路径，并且 新达到的问题的代表性值。回放时给出的答案 可以更改以后的分支，因此其问题计数。结果包括 `questionCount` 和 `endsApplication`，因此零问题终端分支可以是 区别于返回Send。它不执行真正的网络或分析调用。

预应用重复数据删除在引擎内部：规范的SHA-256指纹 抑制相同的快照请求，更改的答案附加一个新的快照， 最后Send重建自己的预应用输入。失败的快照请求可以是 稍后重试;它与应用程序写屏障是分开的。

浏览器渲染器共享保存的电话解析 `countries`，文件读取 `utils` 和一模一样的英语会话副本 `i18n`. 关闭提交行也在这里共享：“对不起，在您申请时此角色已关闭。” 英文措辞于2026年10月30日获得批准。它对应用程序交付或存储没有任何要求。

## 运行时依赖: `@noble/hashes`

`@inploi/flows` 只有一个运行时依赖 `@inploi` 同行, `@noble/hashes` （固定，审计，零依赖）。 `contentFingerprint` 在 `src/pre-apply-request.ts` 使用SHA-256进行预应用重复数据删除和每次重播 指纹》杂志上。其他选择在这里不起作用：

-   `crypto.subtle.digest` 仅在安全（https）页面上公开，而客户嵌入可以在HTTP上运行 (戳- 7444)。它也是异步的，而日志散列在整个引擎中是同步的。
-   现有的 `hashObject` 在 `session-key.ts` 会话键的32位djb2散列。它不耐碰撞， 因此，它不能代替决定答案是否被重用的内容指纹。

成本：两个导入的函数增加了大约2.4 KB压缩（esbuild, minified，测量于2026年10月7日）。聊天机器人和候选人 束流，所以他们也携带它。将其替换为另一个在http页面上工作的同步SHA-256。

## 测试

运行 `pnpm --filter @inploi/flows test`， `check` 和 `build`． 生成的oracle位于 `src/replay-tests`;它的README记录测量的覆盖和复制命令。冻结发布的语料库为 中的一个库根测试夹具 `test-fixtures/flows/`外, `packages/`，所以它永远不会发货。所有语料库答案都是合成的。

## 常见问题

### @inploi/flows 是什么？

@inploi/flows/engine 是共享应用程序解释器。遗留呼叫者保留他们现有的最新应答 undo 以及提交政策。

### 如何安装 @inploi/flows？

在项目目录运行 npm install @inploi/flows，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@inploi/sdk（\>=2\.1\.5）、@inploi/core（\*）、@inploi/i18n（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @inploi/flows 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @inploi/flows 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @inploi/flows 可以商用吗？

@inploi/flows 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @inploi/flows 还在维护吗？

最新版本 9\.10\.2 发布于 2026/11/01（2 天前）；至今共发布 32 个版本，其中过去 12 个月发布了 29 个；首次发布于 2025/04/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

