@belvador/api

中文文档
0.8.7发布于 2026/10/30MITTypeScriptES Module零依赖近 30 天下载 3644

为Belvador API(api.belvador.dev,OpenAPI 3.1)打出客户端: 每一次操作通过操作Id, problem+json出错,重试,节点直接从边缘读取有短寿命票.

中文使用文档

@belvador/ api (英语)

输入客户端 贝尔瓦多 (单位:千美元)https://api.belvador.dev, OpenAPI 3.1 (中文(简体) ). 每个操作都被它的 OpenAPI 调用 operationId 包含 API 线名中的参数( snake case); 操作表和参数类型来自与 OpenAPI 文档相同的登记册.

npm install @belvador/api
import { BelvadorApiError, createClient } from "@belvador/api";

const belvador = createClient({ token: process.env.BELVADOR_TOKEN! });

const { data } = await belvador.call("issues.list", { status: "unresolved", period: "24h", limit: 20 });

for await (const rows of belvador.pages("monitors.list", { limit: 100 })) console.log(rows.length);

try {
  await belvador.call(
    "monitors.create",
    {
      project_id: 1,
      slug: "nightly-backup",
      name: "Nightly backup",
      kind: "crontab",
      schedule: { type: "crontab", value: "0 2 * * *" },
      timezone: "UTC",
      checkin_margin_min: 5,
      max_runtime_min: 30,
      failure_threshold: 1,
      recovery_threshold: 1,
      expected_environments: ["production"],
    },
    { idempotencyKey: crypto.randomUUID() },
  );
} catch (e) {
  if (e instanceof BelvadorApiError && e.code === "API_SCOPE_INSUFFICIENT") console.log("needs", e.scope);
}
  • 键: 个人纪念物(blv_pat_),服务代号(blv_svc_)或 OAuth 访问符 (blv_oat_) (中文(简体) ). 在设置 ~ API 令牌中创建一个 。 客户端从不将符号放入出错消息中.
  • 错误 是 RFC 9457 问题+json,表面为 BelvadorApiError 拥有稳定 code, (中文(简体) ), status, (中文(简体) ), scope (计: API_SCOPE_INSUFFICIENT, (中文(简体) ), retryAfter 财务报告和审定财务报表 requestId。 。 。 .
  • 核准: 敏感操作(钥匙、成员、信使、提醒目的地、节点更改) APPROVAL_REQUIRED 与 e.approval =: { id, url, expiresAt, state }。一个人打开 url 打开 belvador.dev 并用其验证码批准; 以相同的密码再次呼叫 idempotencyKey (或 call("approvals.get", { approval_id }))读出结果. 仅限 https /approve/<id> 链接被保留.
  • 检索:读取,写出 idempotencyKey,在429 / 502–504和网络上重审 错误 (retries,默认值 2), 荣誉 Retry-After 最高为10 s. NODE_OFFLINE 未重审.
  • 范围数字 : await belvador.scopes() 返回符号的有效范围( Belvador-Scopes 头曰.
  • 节点数据 (问题,事件,跨度,痕迹,日志) 活在工作空间自己的节点上. 与 nodeReads: "edge" 客户端询问 POST /v1/tickets 一张短命的读票和读票 edge.belvador.dev 直接, 因此数据不会通过 API 网关; 它会掉回网关 当信使不能持有票时.

命令行

belvador-api privacy pull 写一个项目的隐私政策, 如 JSON Belvador SDKs 所接受 (单位:千美元)privacyPolicy(), SDK 0.6.0+),所以一个建筑可以运送相同的规则 你的节点适用:

BELVADOR_TOKEN=blv_svc_… npx -p @belvador/api belvador-api privacy pull --project 42 --out belvador-privacy.json

--project 是工程的编号(它的 DSN 结束) 。 代币需要 projects:read; 读取 仅来自 BELVADOR_TOKEN 从不印刷。 退出代码: 0 写入, 1 被 API 拒绝(代码为 打印),2个用法错误.

节点20.10 Bun、Deno和现代浏览器(任何运行时间) fetch 财务报告和审定财务报表 AbortSignal.any麻省理工学院有执照.

版本与发布记录

@belvador/api 共发布 18 个版本,首次发布于 2026/10/27;过去 12 个月发布了 18 个版本。

版本发布日期距今
0.8.7latest2026/10/308 天前
0.8.62026/10/308 天前
0.8.52026/10/308 天前
0.8.42026/10/308 天前
0.8.32026/10/308 天前
0.8.22026/10/308 天前

关于 @belvador/api 的常见问题

@belvador/api 是什么?

为Belvador API(api.belvador.dev,OpenAPI 3.1)打出客户端: 每一次操作通过操作Id, problem+json出错,重试,节点直接从边缘读取有短寿命票.

如何安装 @belvador/api?

在项目目录运行 npm install @belvador/api,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 belvador-api,可以用 npx belvador-api 直接运行。

@belvador/api 支持 TypeScript 吗?

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

@belvador/api 支持 ESM 还是 CommonJS?

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

@belvador/api 需要什么版本的 Node.js?

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

@belvador/api 可以商用吗?

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

@belvador/api 的下载量有多少?

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

@belvador/api 还在维护吗?

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