# @crowdsource\.you/contracts 中文文档

规范地址：https://npmcn.com/package/%40crowdsource.you/contracts/

版本：1\.1\.1
npm 元数据更新时间：2026-10-17T01:04:53.214Z
中文译文更新时间：2026-11-11T01:53:06.025Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40crowdsource.you/contracts
原文对照：https://npmcn.com/package/%40crowdsource.you/contracts/?lang=original
项目主页：https://github.com/OxyHQ/CrowdSource/tree/main/packages/contracts#readme
源码仓库：https://github.com/OxyHQ/CrowdSource

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

- 包体积（解压后）：949 kB，108 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-09-19T04:40:29.671Z
- 最新版本发布：2026-10-17T01:04:52.843Z
- 近 30 天下载量：27304（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

版本的人群来源合同:案件封套、资源、分类、政策、审查、决定、网络呼声和声誉事件

## 安装

```sh
npm install @crowdsource.you/contracts
```

也可以使用：`pnpm add @crowdsource.you/contracts`、`yarn add @crowdsource.you/contracts`、`bun add @crowdsource.you/contracts`

## README

# @ crowdsource.you/ 合同

版本合同每个Crowd Source表面都同意 编审和主控客户端,出版的SDK,以及第三方集成商.

与Zod共同撰写;出口合同与JSON Schema相同 (单位:千美元)`crowdSourceJsonSchema(name)`) 所以编译器不在类型脚本上 根据同一定义进行验证.

## 规则

-   仅合同。 没有应用程序逻辑, 没有运输客户端, 没有运行时间 属于一个表面.
-   `schemaVersion` 在有效载荷内飞行(`crowdsource.case.v1`并且现在 与 `/v1` 路由版本。 附加变化起伏 也没有.
-   公布的合同版本是不可改变的。 扩大是添加剂;缩小 需要一个新的版本.
-   这里的一切可能都取决于一个租户的词汇. 特定应用程序 主题类型和政策是数据,每个应用程序注册,从不类型 本包中.

## 在严酷的地盘,为什么

§10.11说未知的字段不得打断客户端,"除非是计划 禁止他们安全。 这句话的两分之一都是负载的 所以 包按方向分割,而不是选择一个设置.

| 方向 | 设置 | 原因 |
| --- | --- | --- |
| 由租户或审查人入境——案例信封树、审查呈文、回避、政策集、资源设计登记 | `.strict()` | 默不作声的放出字段是上下文,应用程序认为它发送了,陪审团从未看到,或者未经审查的提供输入. 此外,提交审查材料绝不能容忍 `caseId` 编号 : `assignmentId` 编号 : `reviewerId`:这些来自服务器发布的任务,"没有人选择他们审查的个案"只有在无法提供的情况下才是真实的. |
| 外出租户——决定、网签信封、事件有效载荷 | `.loose()` | 新的人群源头 永远不能打破一个年长的客户端 和一个坚持不懈的接收器 `event.data` 因为以后的处理 保存所有到达的,而不是一个被剥去的子集. |
| 内部,致"Oxy Trust"——名声事件 | `.strict()` | 该事件故意没有资源标识,也没有免费文本;未识别的字段正是内容如何到达名声分类账或签名的证明. 进化由 `.v1` 在事件类型. |

打开袋-信封 `metadata`,第5.7节,自定义有效载荷,已登记的JSON Schemas—— 是双向的例外。 根据定义,它们是开放的,但扁平或 深度、平面型式、按键限制、无 原型名称.

这是故意的 **内容没有词汇过滤器**人群来源携带 举报材料,性质敌对:骚扰报告引述 一份钓鱼报告引用了这个链接。 关于文本值的块列表 拒绝证据 并没有任何保护。 §5.7的边界是结构性的——即 合同在任何地方都没有价值被解释为加价的字段,a 模板、组件或远程引用.

## JSON斯克马号没有携带的东西

佐德的改进没有JSON Schema的等同性,被取消 转换。 所有结构都能够生存 交叉引用规则不——第5.5节提及分辨率 `oxy_user` 约束性要求,即 `uploadId`编号 :`url`,媒体类型 同意 粗坐标 陪审团算术 超级会话链.

穿过JSON Schema的载荷造型良好,未被接受. 服务器 与Zod验证,这是权威.

## 计划中的含混之处,以及如何解决这些问题

计划被写成道行道,因此其一些例子彼此不一. 每一个此类案件都在这里列出;没有一个案件得到无声解决.

| {\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0} | 何处 | 分歧 | 决议 |
| --- | --- | --- | --- |
| 1个 | 附录A与第5.8节 | 文摘编成 `"sha256:..."` 附录A和附录A `"..."` 第5.8节. | 一种犬形形态, `sha256:<64 lowercase hex>`。两个标记表示一个值的散列两种方式,给出一个内容的块两个信封散列,两个 `caseDedupKey`s(§7.3),两起案件和一起事件的两起处罚. 附录A为参考文档,因此其注法胜出而赤色形式被否定而非正常化. |
| 2个 | 附录B与第10.7节 | `recommendedActions` 是对象的列表( y)`{action, targetResourceIds}`)在附录B中,并列出了第10.7.节中的赤线. | 对决定有异议 对复议有关系 附录B是参考决定;建议删除而不指定删除内容的决定是不可起诉的。 §9.3将审查建议写成串行并保留下来. `reference-documents.test.ts` 将第10.7节的分歧定下来,从而扩大合同以接受合同必须是蓄意的行为. |
| 3个 | 附录B对§11.6对§6.4 | 通用分类法版本的拼写 `taxonomy`, (中文(简体) ), `universal` 财务报告和审定财务报表 `universalTaxonomyVersion` 在三个地方. | 每个地表都保留其参考有效载荷的拼写: `DecisionPolicyVersions` 用途 `taxonomy`, (中文(简体) ), `ReputationPolicyVersions` 用途 `universal`。这两个文件都是核定计划中的参考文件,此处要么是静默编辑. **建议的后续行动:** 统一 `{taxonomy, application, oxyConduct}` 当活动合同与OxyHQServices达成协议时. |
| 页:1 | 第5.3条对第5.8条 | 第5.3节清单 `dimensions` 作为图像的最小数据;§5.8自己的图像资源省略了它们. | 可选的 §5.3的"最低数据"是指导,它本身的例子与之相矛盾. 视频和音频需要持续时间,没有实例与第5.3条相矛盾. |
| 页:1 | §5.2对§5.3 | 第5.2节 `language` 适用“在适用的情况下”;第5.3节将其列为文本的最低限度数据. | 可选的 §5.2是字段定义,未知语言的文字是真实的;使它成为必要的会将应用程序推入猜测. |
| 6个 | 第5.5节 | `authored_by` 将资源与主机相连接,但 id 空格是分开的, 没有实例可操作 . | `authored_by` 决定 `to` 反对 `principalBindings`;任何其他关系解决它与 `resources`被测试压住. |
| 第7条 | §5.1对§5.8对附录A | 需要哪个根键 . | 要求 : `schemaVersion`, (中文(简体) ), `applicationId`, (中文(简体) ), `externalReportId`, (中文(简体) ), `subject`, (中文(简体) ), `principalBindings`, (中文(简体) ), `resources`, (中文(简体) ), `relations`, (中文(简体) ), `allegations`, (中文(简体) ), `policy`, (中文(简体) ), `privacy`可选: `source`, (中文(简体) ), `urgency`, (中文(简体) ), `metadata` 第5.8节完全省略了这三项,附录A载有全部内容. `resources` 财务报告和审定财务报表 `allegations` 需要至少一个条目. |
| 第8条 | 第9.6节 | 假定决策结果;审查结果从未列出. | 审查结果较窄: `violation`, (中文(简体) ), `no_violation`, (中文(简体) ), `insufficient_context`, (中文(简体) ), `content_unavailable`。 。 。 . `inconclusive` 引擎是当一个小组不同意时所报道的——一个审查者不能不同意自己的意见,而"缺乏共识既不是罪过也不是无罪"只有在它从未被投票支持的情况下才有意义. `duplicate` 财务报告和审定财务报表 `escalated` 都属于个案状态. |
| 第9条 | 第11.6条对第5.1条 | 这个信封 `principalBindings` 总是显示 `bindingProofId`,但非奥克西主犯没有奥克西身份可以证明. | 需要时间 `type` 实值 `oxy_user`,另作选择。 这保持了"没有约束性证据,没有Oxy Trust effect"的结构,而没有锁定每个用户不是Oxy用户的租户. 在声誉活动上, `subject.bindingProofId` 无条件要求(第11.7.4节). |
| 10个 | 第12.4节 | 提出沙盒+中转+生产. | `source.environment` 实值 `production` 或者说 `sandbox`。 人群源代码一次部署; 沙盒是其中的应用程序信任状态, 根据此寄存器 `AGENTS.md`。 。 。 . |
| 第11个 | 附录F与第5.1节 | `applicationId` "来自证书, 从来没有从请求机构", 然而每个例子信封都有一个. | 与证书衍生的ID相匹配,并因不匹配而被拒绝。 合同不能执行这个.. **入侵路线必须**,它是包件中风险最高的无变化剂. |

### 发明而非引用的价值观

计划中没有出现三道道具,并在此取名. 他们是 将它们单独列出,因为它们是产品决定可能仍然存在的地方 反对这个包裹.

-   **`application_local`** (单位:千美元)`FindingScope`) 第11.7.5节只允许 `oxy_network` 财务报告和审定财务报表 `identity_integrity` 到达 Oxy Trust,所以补充必须存在并且是 可命名性——第6.5节的整个论点是,当地限制不会变成一种 全球制裁。 将它建模成一个缺失的字段将使§11.7.5 a 存在检查, 它无法打开 .
-   **`local_user`, (中文(简体) ), `organization`, (中文(简体) ), `bot`, (中文(简体) ), `federated_actor`** (单位:千美元)`PrincipalType`) (中文(简体) ). §3将主机定义为"Oxy用户,本地用户,组织,bot或 一个联邦演员,但只写过 `oxy_user`概念是 计划,符号是合同的.
-   **`conflict_of_interest`, (中文(简体) ), `language`, (中文(简体) ), `too_sensitive`, (中文(简体) ), `insufficient_context`** (单位:千美元)`RecusalReason`。第4.1节完全列出了这四个 第10.3节要求提出“结构化理由”.

### 故意左开

-   **`sensitivityHint`** 财务报告和审定财务报表 **`urgency.hint`** 被绑定的小写符号,而不是 um. 计划列出每个值(`standard`, (中文(简体) ), `normal`和7.5节 意味着更多。 两者都是HINTS:权威 `sensitivity_class` 财务报告和审定财务报表 优先级通过对服务器的分解(§7.4,§12.8)和访问 敏感材料在计算课上盖门 绝不是租户 坚持 关闭任何一份清单都是尚未作出的产品决定.
-   **其余的名声事件类型.** §11.5 命名了四个桥梁操作 (应用、最后敲定、倒转、调节)但第11.6节只规定 `moderation.decision.finalized.v1`其它的不是在这里发明的; `ReputationEventSchema` 被歧视的结合者 添加剂和消费者已经打开了 `type`。 。 。 .
-   **尺寸限制.** §7.2.3 要求入侵限制大小和资源计数 但是没有数字. `CONTRACT_LIMITS` 宣布它们——足够慷慨,不 拒绝真正的物质, 有限的,所以合同中的任何事物都是不受约束的。 租户 可能会被限制在更严格的配额.

## 测试

```bash
bun run --cwd packages/contracts test     # bun test, valid and invalid examples
bun run --cwd packages/contracts lint     # bun check for src/ and again for the tests
bun run --cwd packages/contracts build    # tsc → dist/ (CommonJS + .d.ts)
```

`src/__tests__/fixtures/` 保留附录A、附录B、§5.8和§10.7, 财务报告和审定财务报表 `reference-documents.test.ts` 剖析他们。 如果参考文件确实如此 不验证为书面、测试名称、 负责的确切符号和 套房声称,文件中没有任何其他内容被拒绝.

每一次负面测试都断言这个问题是PATHS,而不仅仅是分析失败——a 以意外原因失败的负面例子与 正确的一个,然后停止测试 任何事情,当它的规则被取消.

## 常见问题

### @crowdsource\.you/contracts 是什么？

版本的人群来源合同:案件封套、资源、分类、政策、审查、决定、网络呼声和声誉事件

### 如何安装 @crowdsource\.you/contracts？

在项目目录运行 npm install @crowdsource\.you/contracts，或使用 pnpm add / yarn add / bun add。

### @crowdsource\.you/contracts 支持 TypeScript 吗？

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

### @crowdsource\.you/contracts 支持 ESM 还是 CommonJS？

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

### @crowdsource\.you/contracts 可以商用吗？

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

### @crowdsource\.you/contracts 的下载量有多少？

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

### @crowdsource\.you/contracts 还在维护吗？

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

