# @consiliency/pipeline-runtime 中文文档

规范地址：https://npmcn.com/package/%40consiliency/pipeline-runtime/

版本：0\.4\.0
npm 元数据更新时间：2026-11-09T00:33:12.427Z
中文译文更新时间：2026-11-14T08:41:12.361Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40consiliency/pipeline-runtime
原文对照：https://npmcn.com/package/%40consiliency/pipeline-runtime/?lang=original
项目主页：https://github.com/Consiliency/governed-pipeline#readme
源码仓库：https://github.com/Consiliency/governed-pipeline

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

- 包体积（解压后）：6.7 MB，324 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=24\.0\.0
- 运行依赖：8 个
- 首次发布：2026-05-25T21:43:43.694Z
- 最新版本发布：2026-11-09T00:33:12.234Z
- 近 30 天下载量：2095（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 7 个）

## 中文简介

被管理管线引擎的运行时间,使用,和工作流程模块. 软件包拥有 BAML 边界、执行器适配器、运行时分类账/证据存储、治理和门户投影桥、运行时代理站面以及相位关闭

## 安装

```sh
npm install @consiliency/pipeline-runtime
```

也可以使用：`pnpm add @consiliency/pipeline-runtime`、`yarn add @consiliency/pipeline-runtime`、`bun add @consiliency/pipeline-runtime`

## README

# @ 和谐/ 管道运行时

被管理管线引擎的运行时间,使用,和工作流程模块. 该软件包拥有BAML边界,执行器适配器,运行时分类账/证据存储,治理与门户投影桥,运行时代理站面,以及相向关闭摄取路径.

## BAML v1 运行时间

运行时间使用 `@boundaryml/baml-bridge@0.21.0` (原始内容存档于2019-09-21). Node QQ24.0.0 and npm QQ10. 已发布软件包装入当前 `baml/precompiled.json` 每个进程一次字节码。 缺少的文物,或形状精良、具有消化价值的文物,如果其来源/版本粗糙,则会重新整理所发运的文物 `baml/baml_src` 文档。 自定义 `sourceDir` 或者说 `registryPath` 选项总是编译源。 无法读取,畸形或腐败的文物拒绝初始化;被本土桥所拒绝的当前blob也永久失效而未进行源重试. 该桥构建了对外接的要求,并解析了它的答复而不叫模型. `warmBamlRuntime()` 留在褐地舞台计时器和使用BAML的CLI入口处,预算不变.

正常安装,默认测试, `agent:fast` 财务报告和审定财务报表 `agent:gate` 不需要BAML CLI,生成,工具链下载或BAML网络访问. 普通 npm 依赖和本地包的下载在单独运行执行前仍然允许 。 默认预包装是惰性并去除所剩的文物;分发烟雾测试洗涤建造者选入. Linux 发布的校验明确选择进入单独的工具链构建. 字节代码,生成的客户端/SDK和配置文件从未被承诺.

想要的开发者 `baml check` 可以从中安装 BAML v1 包装 [边界ML GitHub 发布](https://github.com/BoundaryML/baml/releases)运行 `baml toolchain pin 0.21.0` 内 `baml/`。 。 。 . `baml/baml.toml` 固定工具链;没有生成器。 不要随便跑 `baml generate` 或实施 `precompiled.json`, (中文(简体) ), `baml_client/`, (中文(简体) ), `baml_sdk/`,或 `.baml/` 输出.

在源或blob初始化期间,模块临时设定 `BAML_TELEMETRY=off` 如果未设置或导出为空。 明确的非空值被遵守; 未设定、 空和明确 `off` 拥有默认隔离保障。 这是 0. 21.0 控件, 它既禁止云遥测( 包括环境 API 密钥或保存的登录) , 也禁止本地录音 `$HOME/.baml/btel/`。所有四个值在初始化后立即恢复,包括初始化失败时:未被删除而设置,空为 `""`和不空的逐字记录。 遗产 `BAML_PROFILE_DIR=""`, (中文(简体) ), `BAML_TELEMETRY_DISABLED=1`,以及 `DO_NOT_TRACK=1` 窗口, 但0. 21.0 运行时间不读取这些开关( BAML CLI 仍然遵守) `DO_NOT_TRACK`(三); `BAML_PROFILE_DIR` 其来源不详.

双后端在新流程中测试,跨越未设置、空和 `off` 无证书的遥测,本地密钥,假云密钥的API URL无效. 温暖的,伴侣自我检查, 建立和剖析 留下孤立的cwd, `HOME`, (中文(简体) ), `TMPDIR` 财务报告和审定财务报表 `BAML_HOME` 清空并完全恢复环境。 无效的 URL 是遥测启动的绊线; 它不会跟踪每个网络 syscall 。 Linux 精确的包装候选人使用能力的验证 `strace -f` 包括失败的电话, 以及瞬间文件。 跨平台的JS钩子还声称没有尝试, 明确授权值选择退出默认隔离; `low` 与无效的云URL是单独的拒绝/恢复诊断.

Blob 初始化只通过字节代码,没有生成 TOML ,以避免生成遥测策略及其 `btel` 写作。 这就失去了生成元数据验证、精确生成工具链比较、遥测政策/证书约束和 `policy.verify_build`被绑定的构建器在省略之前对TOML进行验证;JS检查桥/工具链获取器和源散列器,本地信封仍然检查完整性/格式。 这些检查不会取代省略的元数据验证.

温和读取登记册 `@consiliency/pipeline-schema/pipeline-definition`,所以一个嵌入式 npm 安装使用自己的 schema 包。 测试可以通过 `{ sourceDir, registryPath }` 改为 `warmBamlRuntime()` 在新的过程中,用被改变的固定装置进行自我检查。 初始化开始后不同的选项; 初始化失败后, 进程会失败 。 这些超载是明确的测试选项;环境变量不能改变生产即时源或登记册清单的方向.

### 维护者字节代码发布

1.  使用 Linux x64 并带有 glibc, 节点 24 和 npm QQ 10, 一个可执行的可执行目录( )`GP_BAML_BUILD_TMPDIR`),以及一个经私人核实的缓存(`GP_BAML_TOOLCHAIN_CACHE_DIR`) (中文(简体) ). `GP_BAML_TOOLCHAIN_ARCHIVE` 可以提供被绑定的0.21.0存档;否则,选择进入的构建者会用被绑定的复写来获取. 每个归档/卡切击中了检查大小和SHA-256,CLI成员有自己的被钉大小/digest.
2.  设定 `GP_BAML_PREPACK=1` 仅限 `npm pack --silent` 在一次性包件副本中。 在 stdout 上需要一个文件名; 校验 tarball `node scripts/prepack-baml.mjs --verify-tarball <tgz>`,然后运行安装运行时间,强制-blob金币,启动和Linux本地同位素对照同一路径检查. 邮包取出复制品的文物. 在清理一次性建筑物、档案、复制件和关于成败的隔离目录之前,在刮痕之外保留证据。 未来的桥墩必须重新接通归档/成员摘要并发送检查和重新运行验证门;T9拒绝pin skew.
3.  将未经修改的运行时间tgz、兄弟tgzs和生金测试/固定通过SHA-256散列的同跑文物、桥接针和承诺身份转移。 Linux/macOS/Windows Node 24 消费者通常安装相同的运行时间,解决准确的平台原生包,并验证安装生命周期,没有BAML执行/放行-资产访问,没有生成路径,黄金和隔离. Windows使用该文物的金字节,从不检查固定.
4.  在任何出版物发表之前,重新检查清单、承诺、运行时间摘要和结构。 发布已下载的运行时间 tgz **第一个**,然后是计划,适配器 -sdk和cli 从已核实的工作空间; 这些兄弟姐妹没有建设步骤。 不重建/ 重新包装运行时间或返回工作空间出版物 。 文件夹 `prepublishOnly` 仍为后站;焦油弹出版会绕过它,因此被验证的字节是保证.
5.  部分工作流程失败后, 重新运行 **所有任务** ,而不是仅仅失败的工作。 嵌入了人工名称 `github.run_attempt`,所以新的尝试必须生产自己的经过验证的文物;消费者从不检查最新的运行. 部分出版物在重新试验出版物之前仍需要单独的操作员修复,具体如下.

协和/治理-管线#163的车主于2026-10-11日批准了这一程序及无BAML-网络范围. 出版是非原子性的:一次运行成功,然后是兄弟会失败,就可能留下部分版本,或者暂时没有兄弟会的附属关系. npm OIDC对运行时的柏油球的授权在授权标记运行前仍未验证. 停止于第一次故障;修复或贬值是单独的操作者动作,没有自动倒置,贬值或发行创建.

## 可选的依赖性: 点文件相位- loop- runtime

由治理管道的闭合摄入、状态预测和阻塞器正常化 所引用的相位启动运行时间作为销售的 Python 软件包生活在点文件中: `~/code/dotfiles/vendor/phase-loop-runtime/`. 被治理的管线是只消费的,不需要安装软件包——所有当前的行为都运行在repo JSON解析路径上.

如果您想让 schema-import shim 从安装的软件包中解析而不是倒置常数,请将其安装到 Python virtualenv 中并导出检测旗:

```bash
export DOTFILES_DIR=~/code/dotfiles
python3 -m venv ~/.venvs/phase-loop-runtime
source ~/.venvs/phase-loop-runtime/bin/activate
pip install -e "file://$DOTFILES_DIR/vendor/phase-loop-runtime"
export PHASE_LOOP_RUNTIME_AVAILABLE=1
```

`phase-loop` 财务报告和审定财务报表 `codex-phase-loop` 然后,控制台脚本将放在PATH上。 与 `PHASE_LOOP_RUNTIME_AVAILABLE=1`嘘声在 `src/workflow/phase-loop-schema-import.mjs` 报告 `source: 'phase-loop-runtime'` 并包括软件包版本。 没有旗帜(或者当二进制探测器失败时),它返回被冻结的 `PHASE_LOOP_SCHEMA_FALLBACK` 而现有的JSON解析路径运行不变.

中情局的烟雾测试 `test/phase-loop-runtime-install.test.mjs` 在临时虚拟env中练习安装。 当 :

-   `SKIP_PHASE_LOOP_RUNTIME_INSTALL_TEST=1` 设定
-   点文件销售软件包不在 `$PHASE_LOOP_RUNTIME_PACKAGE` (违约) `~/code/dotfiles/vendor/phase-loop-runtime`(中文(简体) )
-   `python3`,则 `venv` 模块,或 `pip` 无法使用

## Opt- in v 17 元数据消费者

每个消费者都会读取一个特定的点文件v17相-loop字段并返回一个正态的记录. 所有消费者默认为不开放;通过 `{ enabled: true }` 每个呼叫启动。 记录被冻结.

| 模块 | 读取 | 使用大小写 |
| --- | --- | --- |
| `workflow/phase-loop-execution-policy-consumer` | `execution_policy` 屏蔽关闭 | 审计元数据中每个阶段解决的表面执行人针 |
| `workflow/phase-loop-auto-recovery-consumer` | `metadata.manual_repair.auto_recovery: true` | 区分自动回收阶段与操作员回收阶段 |
| `workflow/phase-loop-selected-executor-consumer` | `LoopEvent.selected_executor` | 执行者分析、象征性报告 |
| `workflow/phase-loop-outage-class-consumer` | `blocker.blocker_class === 'unretryable_external_outage'` | 关闭时旋转供货商, 但保存供货商验证失败的还原器 |

示例

```js
import { consumeOutageClass } from '@consiliency/pipeline-runtime/workflow/phase-loop-outage-class-consumer';

const record = consumeOutageClass(closeoutPayload, { enabled: true });
if (record?.retry_strategy === 'rotate-provider') {
  // wire downstream reducer
}
```

每位消费者都有一个快乐和缺席的测试 `test/phase-loop-*-consumer.test.mjs`。 。 。 .

## 测试

```bash
npm test -w @consiliency/pipeline-runtime                                # full suite
npm test -w @consiliency/pipeline-runtime -- runtime-agent               # runtime-agent slice
npm test -w @consiliency/pipeline-runtime -- phase-loop-schema-import    # GPADOPT shim
SKIP_PHASE_LOOP_RUNTIME_INSTALL_TEST=1 npm test -w @consiliency/pipeline-runtime  # skip pip install smoke
```

## 常见问题

### @consiliency/pipeline-runtime 是什么？

被管理管线引擎的运行时间,使用,和工作流程模块\. 软件包拥有 BAML 边界、执行器适配器、运行时分类账/证据存储、治理和门户投影桥、运行时代理站面以及相位关闭

### 如何安装 @consiliency/pipeline-runtime？

在项目目录运行 npm install @consiliency/pipeline-runtime，或使用 pnpm add / yarn add / bun add。

### @consiliency/pipeline-runtime 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/consiliency\_\_pipeline-runtime 是否存在。

### @consiliency/pipeline-runtime 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @consiliency/pipeline-runtime 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @consiliency/pipeline-runtime 可以商用吗？

@consiliency/pipeline-runtime 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @consiliency/pipeline-runtime 的下载量有多少？

根据 npm 官方下载统计，@consiliency/pipeline-runtime 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,095 次，日均约 70 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @consiliency/pipeline-runtime 还在维护吗？

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

