# @flow-state-dev/contracts 中文文档

规范地址：https://npmcn.com/package/%40flow-state-dev/contracts/

版本：0\.4\.0
npm 元数据更新时间：2026-11-06T14:15:06.139Z
中文译文更新时间：2026-11-15T00:21:16.386Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40flow-state-dev/contracts
原文对照：https://npmcn.com/package/%40flow-state-dev/contracts/?lang=original
项目主页：https://flow-state.dev/
源码仓库：https://github.com/fixpoint-labs/flow-state-dev

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

- 包体积（解压后）：171 kB，59 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：0 个
- 首次发布：2026-09-17T19:28:28.828Z
- 最新版本发布：2026-11-06T14:15:05.975Z
- 近 30 天下载量：3735（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 6 个）

## 中文简介

零依赖性共享合同层(项目分类法,叶子类型,块-静态-dev块框架).

## 安装

```sh
npm install @flow-state-dev/contracts
```

也可以使用：`pnpm add @flow-state-dev/contracts`、`yarn add @flow-state-dev/contracts`、`bun add @flow-state-dev/contracts`

## README

# @ flow-state-dev/ 合同

框架脊椎下方的零依赖性共享层.

`core` 是全程的运行时间,它具有沉重的依赖性, 相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相相相相相接相相相接相接相接相相接相接相接相接相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相 浏览器软件包和宽度 编组的生态系统需要分类学和少数纯助行者, 但不是那个重量. `contracts` 那是一个最低限度的,没有依赖性的基础.

## 零依赖性无变化

此软件包声明 **没有** `dependencies` 并且没有进口它自己的东西 相对模块图. 这就是要点:任何消费者都可以估价进口 它没有将作者运行时间拖入浏览器捆绑. 变化者是 机器检查 `test/contracts-zero-dep.spec.ts` (空闲 `dependencies` + 键 无关系进口扫描 `src/`因此,它不能无声地倒退.

## 出口的东西

-   **项目分类学** (单位:千美元)`@flow-state-dev/contracts/items`()—— `OutputItem` 工会及其成员 `RuntimeItem` 工会`OutputItem` 加追踪 数行, `Content` 部分、活动类型和纯度 解析工具 : `resolveItemVisibility`, (中文(简体) ), `collapseToCanonicalLog`, (中文(简体) ), `resolveBlockValue` 编号 : `buildItemLookup` 编号 : `inlineBlockValue` 编号 : `isBlockValue` 编号 : `structureBlockValue`,任务分配和上游 帮手.
-   **内部物品表面** (单位:千美元)`@flow-state-dev/contracts/items/internal`(b) —— `RuntimeItem` (也从 `@flow-state-dev/contracts/items`, (中文(简体) ), `BlockValueInternal`, (中文(简体) ), `refBlockValue`, (中文(简体) ), `resolveBlockValueInternal`,以及 `parseBlockInstanceId`。 。 。 .
-   **屏蔽式辅助人员** (单位:千美元)`@flow-state-dev/contracts/block-instance-id`(中文(简体) ) ——决定性 `buildBlockInstanceId` 编号 : `parseBlockInstanceId` 编辑 `blockPath*` 分段建设者.
-   **纯助手** (单位:千美元)`@flow-state-dev/contracts/helpers`(b) —— `deepEqual` 编号 : `looseDeepEqual`, (中文(简体) ), `cloneValue` (结构深层副本), `mapLimit` (边界货币图), `toError` (未知的 -- -- 投掷胁迫) 字符串大小写工具 `camelToKebab` 编号 : `normalizeTagName`, (中文(简体) ), `isWindowsReservedName`,并且资源状态版本规则 `ResourceStateStore` 适配器共享 : `assertSetExpectedVersion` 财务报告和审定财务报表 `assertDeleteExpectedVersion` 拒绝一个动词无法操作的版本 扔一个 `TypeError`,以及 `resourceStateConflict` 构建冲突a 丢失写入返回 。 自定义适配器调用这些而不是重用 他们。 从 `@flow-state-dev/core/helpers`。 。 。 .
-   **纯叶类型** —— 说 `ModelIdentity`, (中文(简体) ), `SuspensionReason`, (中文(简体) ), `SuspensionStatus`, (中文(简体) ), `RequestStatus`。 。 。 .
-   **特工发现** (单位:千美元)`@flow-state-dev/contracts/types/manifest`——共享 记录一个特工计划反对, `ManifestEntry` (单位:千美元)`{ id, kind, purpose, contract? }`页:1 `ManifestSource` 类型,用于预测一个域的现有 读取这些条目和被绑定的域名 `MANIFEST_DOMAINS` 编号 : `ManifestDomain` 编号 : `isManifestDomain`它住在这里,因为 `core`, (中文(简体) ), `orchestration` 财务报告和审定财务报表 `workforce` 每一个项目都进到里面,他们都不应该 取决于另一个人同意记录. `ManifestSource` 属于通用 其上下文类型,因为此层对 `BlockContext`· ; `core` 把它绑起来.
-   **更改通知** (单位:千美元)`@flow-state-dev/contracts/types/change-notice`()—— 键入更改通知名称(`ChangeKind`数字 : `items`, (中文(简体) ), `request`, (中文(简体) ), `run`, (中文(简体) ), `state`, (中文(简体) ), `resource`, (中文(简体) ), `resync`)和线主题 一个客户端看: `topic.session(id)`, (中文(简体) ), `topic.user()` 财务报告和审定财务报表 `topic.org()`,每个带有可选 `{ resource }`A级 电线主题名称没有用户、 org 或 租户 id; 服务器填充来自 已经核实了 客户端和引擎共享,所以它住在这里.

包装桶(`@flow-state-dev/contracts`· 重新出口物品分类学, 挡住的帮助者,悬叶类型,表 条目/源面,以及更改通知类型和线条主题.

## 谁靠它

`core`, (中文(简体) ), `client`, (中文(简体) ), `react`,以及 `ui` 都取决于 `contracts`。 。 。 . **`core` 从原始路径再导出每个符号** (单位:千美元)`@flow-state-dev/core`, (中文(简体) ), `@flow-state-dev/core/items`, (中文(简体) ), `@flow-state-dev/core/items/internal`叶子 因此从 `core` 终端用户保持不变—— 宣言只是现在住在这里。 浏览器包值 - 导入 Cononical 直接从 `contracts` 而不是手拍他们.

## 常见问题

### @flow-state-dev/contracts 是什么？

零依赖性共享合同层\(项目分类法,叶子类型,块-静态-dev块框架\)\.

### 如何安装 @flow-state-dev/contracts？

在项目目录运行 npm install @flow-state-dev/contracts，或使用 pnpm add / yarn add / bun add。

### @flow-state-dev/contracts 支持 TypeScript 吗？

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

### @flow-state-dev/contracts 支持 ESM 还是 CommonJS？

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

### @flow-state-dev/contracts 需要什么版本的 Node\.js？

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

### @flow-state-dev/contracts 可以商用吗？

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

### @flow-state-dev/contracts 的下载量有多少？

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

### @flow-state-dev/contracts 还在维护吗？

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

