@bella-baxter/sdk

中文文档
0.1.1-preview.144发布于 2026/11/06MITTypeScriptES Module构建来源已验证近 30 天下载 3280

Bella Baxter API 的 TypeScript 客户端 — 用认证 + E2EE 将 Kiota 生成的客户端包起来

中文使用文档
文档目录7 节
  1. 安装
  2. 快开始
  3. 环境变量
  4. 类型机密
  5. 零知识加密( ZKE)
  6. 框架整合
  7. 链接

@bella-baxter/ sdk (英语)

npm license: MIT

核心类型SDK 贝拉·巴克斯特 安全的秘密管理网关 为 Node.js apps 、 HMAC 签名的 API 认证和可选的 Zero-Knowledge 加密(ZKE) 提供活重装密钥 .

安装

npm install @bella-baxter/sdk
# or
pnpm add @bella-baxter/sdk

快开始

import { createBellaConfig } from '@bella-baxter/sdk';

const bella = await createBellaConfig({
  baxterUrl: process.env.BELLA_BAXTER_URL!,
  apiKey: process.env.BELLA_BAXTER_API_KEY!,
  projectSlug: 'my-app',       // or set BELLA_BAXTER_PROJECT env var
  environmentSlug: 'production', // or set BELLA_BAXTER_ENV env var
});

// Access secrets
const dbUrl = bella.get('DATABASE_URL');          // string | undefined
const port  = bella.getOrThrow('PORT');           // string — throws if missing
const all   = bella.getAll();                     // Record<string, string>

// Write all secrets into process.env (for legacy integrations)
bella.intoProcessEnv();

// Stop background polling when shutting down
bella.destroy();

环境变量

变量说明
BELLA_BAXTER_URLBella Baxter API 的基础 URL
BELLA_BAXTER_API_KEYAPI 密钥( E)bax-...从WebApp或CLI获得
BELLA_BAXTER_PROJECT项目 sattle( 返回为 projectSlug 选项)
BELLA_BAXTER_ENV环境符号( 回落到 environmentSlug 选项)
BELLA_BAXTER_PRIVATE_KEYZKE的 PKCS# 8 PEM 私人密钥( 可选)

类型机密

运行 CLI 生成已打入的声明文件 :

bella secrets generate typescript --declaration

此生成 bella-secrets.d.ts (环境)和 bella-coercions.ts (运行时间). 通过强制键入和强制值:

import { BELLA_COERCIONS } from './bella-coercions.js';

const bella = await createBellaConfig({ coercions: BELLA_COERCIONS });

bella.PORT          // number — not string
bella.DATABASE_URL  // string

零知识加密( ZKE)

何时 BELLA_BAXTER_PRIVATE_KEY 设置(或 privateKey 选项), 机密是端到端加密的。 服务器从未看到纯文本值 .

const bella = await createBellaConfig({
  baxterUrl: '...',
  apiKey: '...',
  privateKey: process.env.BELLA_BAXTER_PRIVATE_KEY,
});

客户端在读取秘密时总是会呈现一个 E2EE 公钥( 上面的设备密钥, 或 ephemeral) 答案是这样的 必须 做一个用钥匙打开的加密信封。 其他的都拒绝 带有 E2EEResponseError中,从不返回为简单文字 :

err.code含义
e2ee-plaintext-response服务器(或你和它之间的某事)用未加密的秘密回答
e2ee-decryption-failed信封被篡改、变形或加密到不同的密钥

键在 每个 读取带有秘密价值的,不仅 getAllSecrets用于这些 没有打字方法(单一秘密、其版本、提供者的秘密、出口、全球秘密), client.request(path) 通过相同的认证和 E2EE 管道获取任何 API 路径并返回 解密的JSON:

const client = await createBaxterClient({});
const item = await client.request<{ key: string; value: string }>(
  '/api/v1/projects/my-app/environments/prod/providers/vault/secrets/DB_PASSWORD',
);

导出读取此方式回答 a { key: value } 对象,随便 format 请求: 文件只是 给一个没有钥匙的打电话者.

框架整合

框架软件包
快递@bella-baxter/express
快捷化@bella-baxter/fastify
网点JS@bella-baxter/nestjs
下一个.js@bella-baxter/next
阿多尼斯·贾克@bella-baxter/adonis
原生反应@bella-baxter/react-native

版本与发布记录

@bella-baxter/sdk 共发布 122 个版本,首次发布于 2026/03/25;过去 12 个月发布了 122 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.1-preview.144latest2026/11/061 天前
0.1.1-preview.1432026/11/061 天前
0.1.1-preview.1422026/10/2810 天前
0.1.1-preview.1412026/10/2612 天前
0.1.1-preview.1402026/10/2514 天前
0.1.1-preview.1382026/10/2018 天前

其他发布通道:preview → 0.1.1-preview.106。

关于 @bella-baxter/sdk 的常见问题

@bella-baxter/sdk 是什么?

Bella Baxter API 的 TypeScript 客户端 — 用认证 + E2EE 将 Kiota 生成的客户端包起来

如何安装 @bella-baxter/sdk?

在项目目录运行 npm install @bella-baxter/sdk,或使用 pnpm add / yarn add / bun add。

@bella-baxter/sdk 支持 TypeScript 吗?

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

@bella-baxter/sdk 支持 ESM 还是 CommonJS?

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

@bella-baxter/sdk 可以商用吗?

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

@bella-baxter/sdk 的下载量有多少?

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

@bella-baxter/sdk 还在维护吗?

最新版本 0.1.1-preview.144 发布于 2026/11/06(1 天前);至今共发布 122 个版本,其中过去 12 个月发布了 122 个;首次发布于 2026/03/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。