@avarok/citadel-protocol-types

中文文档
0.14.1发布于 2026/02/09MIT OR Apache-2.0TypeScriptCommonJS零依赖近 30 天下载 4070

Citadel 协议的脚本类型定义, 自动从 Rust 类型生成

中文使用文档
文档目录13 节
  1. 安装
  2. 版本函数
  3. 使用量
  4. 可用类型
  5. 版本函数
  6. 用户类型
  7. 连接类型
  8. 协议类型
  9. 加密类型
  10. 错误类型
  11. 重生类型
  12. 链接
  13. 许可证

@avarok/citadel-protocol型号

npm version

Citadel 协议的 TypeScript 类型定义,由 Rust 类型自动生成.

安装

npm install @avarok/citadel-protocol-types

版本函数

从程序上获取协议和 SDK 版本 :

import { protocol_version, sdk_version } from '@avarok/citadel-protocol-types';

console.log(`Protocol version: ${protocol_version()}`);  // e.g., "0.9.0"
console.log(`SDK version: ${sdk_version()}`);            // e.g., "0.14.0"

使用量

import {
  ConnectMode,
  SecurityLevel,
  UserIdentifier,
  MutualPeer,
  CryptoParameters,
  ClientConnectionType,
  PeerConnectionType,
  VirtualConnectionType,
  Error as CitadelError
} from '@avarok/citadel-protocol-types';

// Use the types in your TypeScript code
const peer: MutualPeer = {
  parent_icid: 12345n,
  cid: 67890n,
  username: "alice"
};

const securityLevel: SecurityLevel = "High";

// Connection types for C2S and P2P connections
const c2sConnection: ClientConnectionType = {
  Server: { session_cid: 12345n }
};

const p2pConnection: PeerConnectionType = {
  LocalGroupPeer: { session_cid: 12345n, peer_cid: 67890n }
};

可用类型

版本函数

  • protocol_version() - 返回Citadel协议版本
  • sdk_version() - 返回Citadel SDK版本

用户类型

  • MutualPeer
  • PeerInfo
  • UserIdentifier

连接类型

  • ClientConnectionType - C2S连接变体(Server,扩展)
  • PeerConnectionType - P2P 连接变体( LocalGroupPeer, 外部GroupPeer)
  • VirtualConnectionType - 用于路由的统一连接类型

协议类型

  • ConnectMode
  • VirtualObjectMetadata
  • ObjectId
  • ObjectTransferOrientation
  • ObjectTransferStatus
  • SessionSecuritySettings
  • UdpMode
  • MemberState
  • GroupMemberAlterMode
  • MessageGroupOptions
  • GroupType
  • MessageGroupKey
  • TransferType

加密类型

  • CryptoParameters
  • EncryptionAlgorithm
  • SecrecyMode
  • KemAlgorithm
  • SigAlgorithm
  • SecurityLevel
  • HeaderObfuscatorSettings
  • PreSharedKey

错误类型

  • Error - Citadel 协议的主要出错类型

重生类型

要从 Rust 源头重生类型 :

cd ../citadel_types
cargo run --bin export_ts --features typescript

然后重建 TypeScript 库:

npm run build

许可证

麻省理工学院或阿帕奇2.0

版本与发布记录

@avarok/citadel-protocol-types 共发布 4 个版本,首次发布于 2025/07/31;过去 12 个月发布了 3 个版本。

版本发布日期距今
0.14.1latest2026/02/098 个月前
0.14.02026/02/098 个月前
0.13.12026/01/119 个月前
0.13.02025/07/311.3 年前

关于 @avarok/citadel-protocol-types 的常见问题

@avarok/citadel-protocol-types 是什么?

Citadel 协议的脚本类型定义, 自动从 Rust 类型生成

如何安装 @avarok/citadel-protocol-types?

在项目目录运行 npm install @avarok/citadel-protocol-types,或使用 pnpm add / yarn add / bun add。

@avarok/citadel-protocol-types 支持 TypeScript 吗?

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

@avarok/citadel-protocol-types 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@avarok/citadel-protocol-types 可以商用吗?

@avarok/citadel-protocol-types 使用 MIT OR Apache-2.0 许可。可在 MIT、Apache-2.0 中任选其一遵守。选择 MIT 时,宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@avarok/citadel-protocol-types 的下载量有多少?

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

@avarok/citadel-protocol-types 还在维护吗?

最新版本 0.14.1 发布于 2026/02/09(8 个月前);至今共发布 4 个版本,其中过去 12 个月发布了 3 个;首次发布于 2025/07/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。