@admiral-io/sdk

中文文档
1.31.0发布于 2026/11/10Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 1725

API 上将的脚本客户端

中文使用文档
文档目录11 节
  1. 安装
  2. 快速启动
  3. 浏览器
  4. 节点.js
  5. 可用服务
  6. 示例
  7. 截取器
  8. 托肯验证
  9. 所需资源
  10. 上将
  11. 许可证

海军上将sdk-ts

用于此程序的 TypeScript 客户端库 上将 API (英语).

建造在 连接RPC,并同时在浏览器和Node.js中工作.

安装

npm install @admiral-io/sdk

您还需要运行时间的连接传输 :

# Browser
npm install @connectrpc/connect-web

# Node.js
npm install @connectrpc/connect-node

快速启动

import { createClient } from "@admiral-io/sdk";

浏览器

import { createConnectTransport } from "@connectrpc/connect-web";

const transport = createConnectTransport({
  baseUrl: "/api",
});

const client = createClient(transport);
// await client.agent.methodName({ ... });
// await client.job.methodName({ ... });
// await client.agentRuntime.methodName({ ... });
// await client.apiKey.methodName({ ... });
// await client.application.methodName({ ... });
// await client.changeSet.methodName({ ... });
// await client.credential.methodName({ ... });
// await client.environment.methodName({ ... });
// await client.healthcheck.methodName({ ... });
// await client.integration.methodName({ ... });
// await client.invitation.methodName({ ... });
// await client.registry.methodName({ ... });
// await client.run.methodName({ ... });
// await client.serviceAccount.methodName({ ... });
// await client.issuer.methodName({ ... });
// await client.source.methodName({ ... });
// await client.tenant.methodName({ ... });
// await client.user.methodName({ ... });

节点.js

import { createConnectTransport } from "@connectrpc/connect-node";

const transport = createConnectTransport({
  baseUrl: "https://api.admiral.io",
  httpVersion: "2",
});

const client = createClient(transport);

可用服务

服务财产说明
代理APIclient.agent代理服务
约伯APIclient.job工作服务
代理 Runtime APIclient.agentRuntime代理运行服务
阿皮凯伊APIclient.apiKeyApiKey 服务
应用程序APIclient.application应用程序服务
更改SetAPIclient.changeSet更改设置服务
证书APIclient.credential证书服务
环境APIclient.environment环境服务
健康检查APIclient.healthcheck健康检查服务
整合APIclient.integration融合服务
邀请协会client.invitation邀请服务
注册APIclient.registry书记官处事务
运行APIclient.run运行服务
服务账户client.serviceAccount服务账户服务
发行商APIclient.issuer发行服务
来源APIclient.source源服务
租户APIclient.tenant租户服务
用户APIclient.user用户服务

示例

import { createConnectTransport } from "@connectrpc/connect-node";
import { createClient } from "@admiral-io/sdk";

async function main() {
  const transport = createConnectTransport({
    baseUrl: "https://api.admiral.io",
    httpVersion: "2",
  });

  const client = createClient(transport);

  try {
    const response = await client.agent.listMethod({});
    console.log(response);
  } catch (err) {
    console.error("Request failed:", err);
  }
}

main();

截取器

Auth、记录、超时和其他交叉关切问题在 途经 连接截取器数字 :

import type { Interceptor } from "@connectrpc/connect";
import { createConnectTransport } from "@connectrpc/connect-web";
import { createClient } from "@admiral-io/sdk";

const authInterceptor: Interceptor = (next) => async (req) => {
  req.header.set("Authorization", `Bearer ${getToken()}`);
  return next(req);
};

const transport = createConnectTransport({
  baseUrl: "/api",
  interceptors: [authInterceptor],
});

const client = createClient(transport);

托肯验证

校验上将不透明符号格式( 前缀、 长度、 CRC32 校验和) 网络呼叫 :

import { validateAuthToken } from "@admiral-io/sdk";

const result = validateAuthToken(token);
if (!result.valid) {
  console.error(result.error);
}

习惯 TokenValidator 可提供替代验证战略:

import type { TokenValidator } from "@admiral-io/sdk";

const myValidator: TokenValidator = {
  validate(token: string) {
    // Custom validation logic
    return { valid: token.length > 0 };
  },
};

所需资源

  • 22号节点(用于节点使用)
  • 仅限无害环境管理(没有通用JS支持)

上将

上将 用于协调各种环境的基础设施和应用交付的控制平面。 这个寄存器是它的 开源工具。 。 。 .

许可证

Apache-2.0 许可证 - 见 自由主义 详细情况.

版本与发布记录

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

版本发布日期距今
1.31.0latest2026/11/10今天
1.30.02026/11/09今天
1.29.02026/11/045 天前
1.28.02026/11/018 天前
1.27.02026/11/018 天前
1.26.02026/10/2912 天前

关于 @admiral-io/sdk 的常见问题

@admiral-io/sdk 是什么?

API 上将的脚本客户端

如何安装 @admiral-io/sdk?

在项目目录运行 npm install @admiral-io/sdk,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@connectrpc/connect(^2.2.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@admiral-io/sdk 支持 TypeScript 吗?

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

@admiral-io/sdk 支持 ESM 还是 CommonJS?

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

@admiral-io/sdk 需要什么版本的 Node.js?

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

@admiral-io/sdk 可以商用吗?

@admiral-io/sdk 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@admiral-io/sdk 的下载量有多少?

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

@admiral-io/sdk 还在维护吗?

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