# @cratis/chronicle\.contracts 中文文档

规范地址：https://npmcn.com/package/%40cratis/chronicle.contracts/

版本：19\.153\.2
npm 元数据更新时间：2026-11-10T15:04:40.396Z
中文译文更新时间：2026-11-10T23:17:22.169Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40cratis/chronicle.contracts
原文对照：https://npmcn.com/package/%40cratis/chronicle.contracts/?lang=original
项目主页：https://www.cratis.io/chronicle/
源码仓库：https://github.com/Cratis/Chronicle

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

- 包体积（解压后）：32.7 MB，494 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2026-04-05T16:29:29.418Z
- 最新版本发布：2026-11-10T15:04:39.456Z
- 近 30 天下载量：36953（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：604（近 12 个月 604 个）

## 中文简介

TypeScript gRPC 客户端合同 Cratis Chronicle - 开源事件包数据库

## 安装

```sh
npm install @cratis/chronicle.contracts
```

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

## README

# @cratis/chronicle. 合同

TypeScript gRPC Contracts for Chronicle 有完全类型的安全和IDE支持.

## 特征

-   **基于承诺的API**: 现代同步/等待对所有无用的RPC呼叫的支持
-   **可同步流**: 服务器流用 `AsyncIterable` 方便的迭代
-   **完整类型安全**: 由原型定义生成的强型客户端和消息类型
-   **64位安全**原子弹 `int64`编号 :`uint64` 数值表示为 `bigint`
-   **零收发码**: 直接客户端方法调用,而不使用手动操作

## 安装

```bash
npm install @cratis/chronicle.contracts
# or
yarn add @cratis/chronicle.contracts
```

## 使用量

这个包只包含生成的合同: a `*Definition` 用于每个 Chronicle gRPC 服务和每个消息的 TypeScript 类型,由 [t-原生](https://github.com/stephenh/ts-proto) 页:1 [不错的grpc](https://github.com/deeplay-io/nice-grpc)。它没有连接字符串解析、认证或重试处理。 ES模块导入和通用JS `require()` 使用匹配的运行时间和 TypeScript 声明.

**做申请?** 使用平面类型脚本客户端, [`@cratis/chronicle`](https://www.npmjs.com/package/@cratis/chronicle)以这些合同为基础。 只有在您正在建立自己的客户端或工具时才能获取此软件包 .

### 呼叫服务

以下节选显示了一个呼叫的外形. 这不是一个完整的程序: 一个真实的 Crime 服务器在端口服务 TLS `35000` ——在开发中有一个自签名的证书——并且期望在每次通话时都有一个无记名符号,所以您提供频道的证书,并调用适合您的服务器的元数据.

```typescript
import { createChannel, createClient, ChannelCredentials } from 'nice-grpc';
import { EventStoresDefinition } from '@cratis/chronicle.contracts';

const channel = createChannel('localhost:35000', ChannelCredentials.createSsl());
const eventStores = createClient(EventStoresDefinition, channel);

const response = await eventStores.allEventStores({});
```

每一个rpc在 `.proto` 文件成为其客户端上的骆驼拼接方法(`AllEventStores` 变成 `allEventStores`) (中文(简体) ). 无效呼叫返回 a `Promise`; 服务器流调回 `AsyncIterable`。 。 。 .

### 类型安全

每个服务客户端和消息都是从原始定义中输入的,包括: `int64`编号 :`uint64` 字段为 `bigint`。 。 。 .

## 许可证

麻省理工学院

## 常见问题

### @cratis/chronicle\.contracts 是什么？

TypeScript gRPC 客户端合同 Cratis Chronicle - 开源事件包数据库

### 如何安装 @cratis/chronicle\.contracts？

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

### @cratis/chronicle\.contracts 支持 TypeScript 吗？

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

### @cratis/chronicle\.contracts 支持 ESM 还是 CommonJS？

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

### @cratis/chronicle\.contracts 可以商用吗？

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

### @cratis/chronicle\.contracts 的下载量有多少？

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

### @cratis/chronicle\.contracts 还在维护吗？

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

