@arbol-ai/sdk

中文文档
5.42.0发布于 2026/11/07Apache-2.0TypeScriptES Module零依赖近 30 天下载 1.2万

TypeScript和JavaScript的Arbol API由Cloudflare Forge从平台的公开OpenAPI中生成.

中文使用文档
文档目录9 节
  1. 只有你的客户
  2. 全权证书
  3. 答复和错误
  4. 所需资源
  5. 发展
  6. 释放
  7. 迁移到 SDK 5
  8. 许可证
  9. 公布已准备好的来源承诺

@ arbol-ai/ sdk

TypeScript 和 JavaScript 的 arbol API , 由 云浮堡垒 从平台的公开OpenAPI, https://api.getarbol.com/openapi.json。所有内容 src/ 是Forge的 TypeScript 输出,未经编辑。 每个版本都记录了OpenAPI 生成来源: npm view @arbol-ai/sdk@<version> arbol.openapi 打印其 release (单位:千美元)info.version(中文(简体) ) 和内容散列sha256) (中文(简体) ).

npm install @arbol-ai/sdk
import { ApiError, createClient } from '@arbol-ai/sdk';

const arbol = createClient({ baseUrl: 'https://api.getarbol.com', token });

const { data } = await arbol.agenda.appointments.get({ appointmentId: 'eng_…' });
data.startsAt; // Temporal.Instant

每一次行动都是 client.<service>.<resource>.<verb>(request, options?),经其请求 其旁边的反应类型(agenda/appointments数字 : GetRequest, (中文(简体) ), GetResponse(中文(简体) ).

只有你的客户

每种服务及其资源也是自己的入口,有自己的 createClient这样 一个应用程序只捆绑它所谓的,而不是每个服务的:

import { createClient } from '@arbol-ai/sdk/account/organization';
import type { AccountCurrentOrganization } from '@arbol-ai/sdk/account/organization';

const organization = createClient({ baseUrl: 'https://api.getarbol.com', token });

const { data } = await organization.get();

@arbol-ai/sdk/<service> 是一个服务( o)client.<resource>.<verb>和 @arbol-ai/sdk/<service>/<resource> 一个资源(client.<verb>),名称为 src/ (单位:千美元)account/members, (中文(简体) ), agenda/appointments, (中文(简体) ), nuevaEps/…);每个出口其类型和 ApiError。 。 。 .

全权证书

token 以 Authorization: Bearer <token>它是:

  • a Arbol API 密钥,在 Arbol 账户中创建。 藏在秘密经理那里 永远不要送去 浏览器;
  • 给观众的进入标志 https://api.getarbol.com,来自 OAuth 客户端,例如 个人在您的应用程序中的会话.

SDK不持有 OAuth 逻辑: 无论您的应用程序如何在其中签名, 并创建客户端 你拥有的象征.

答复和错误

用API声明的响应解决的方法: { success: true, data, error: null, metadata }。 。 。 . 任何其它状态 ApiError,与 status,则 response,及其宣布的遗体在 details (单位:千美元){ success: false, error: { code, message, retryable, data }, metadata }) (中文(简体) ).

每通电话都会发出一个请求,并且从未被重审. 过 fetch 通过您自己发送请求 函数, headers 或者说 query 增加每项请求,以及 signal 以中止一个电话.

服务器授权每通电话:客户端中的一种方法不是赠款.

所需资源

date-time 字段为 Temporal.Instant 财务报告和审定财务报表 date 字段 Temporal.PlainDate因此运行时间需要 fetch 财务报告和审定财务报表 Temporal (节点.js 26, Bun 1. 4, 当前浏览器), 和 TypeScript 需要 "lib": ["ESNext"]。 。 。 .

发展

bun install
bun run forge       # build the pinned Cloudflare Forge with cargo into .forge/ (once; needs Rust)
bun run openapi     # download https://api.getarbol.com/openapi.json
bun run generate    # src/ from openapi.json with `forge --target ts`; its release and hash in arbol.openapi
bun run hash        # the OpenAPI's content hash (see Releases)
bun run verify      # typecheck and build dist/

openapi.json 是在生成时下载的,没有承诺. package.json是因为 arbol.openapi 记录 OpenAPI src/ 产生源源 info.version 作为 release 及其内容散列为 sha256· ; version 财务报告和审定财务报表 arbol 正在发布工作流程设置的元数据。 福尔吉是罪魁祸首 7f86447210b7bea3779bfdab3cd5655eade0eadb (0.1.0) 中标 forge 剧本.

释放

版本是成品,独立于OpenAPI的发行号. 1.x版本 (中文(简体) )1.YYYYMMDD.n(中文(简体) ) 是OpenAPI的日期发布; 2.x开始于 2.1.0.

新的 OpenAPI 的发布是自动的, 从 API 到 CLI :

  1. 网关. 当Arbol API 发送 OpenAPI 发布时,网关会发送此寄存器 a repository_dispatch openapi-release 与 { "version": "<release>" }。 。 。 .
  2. SDK(这个仓库). 生成 运行的调度,每一个 六个小时,用手 它下载了OpenAPI(等待API为宣布的发布服务) 并把它的内容。 当异于 arbol.openapi.sha256 内 package.json,这个 重新生成 src/ ,将 OpenAPI 记录在 arbol.openapi,并取最高版本 在npm上与小起子和补丁在0 (2.1.0, 2.2.0, 2.3.0....). 它能证实结果, 承诺 Release <version> 改为 main 作为Arbol,并出版 @arbol-ai/sdk 到 npm 时为 发布。当源寄存器存在时,软件包访问仍然公开 私处. Npm不支持私有源寄存器, 从而禁用证明.
  3. CLI(英语:CLI). 发布后, 发布发送 项目-arbol-cli (单位:千美元) repository_dispatch sdk-release 与 { "version": "<published version>", "openapi": { "release": "…", "sha256": "…" } }, (中文(简体) ), 已发表 version 财务报告和审定财务报表 arbol.openapi,而CLI 释放自己在上面.

散列( A)scripts/release.ts)是OpenAPI克纳克的SHA-256六克 JSON( 对象密钥按递归排序, 数组顺序排列, 无白空格 ) info.version 已删除。 一个新的 相同的API散列的发布编号相同,因此生成承诺、发布和宣布 没什么 一个版本在 main 还没有在 npm 上发布, 例如一个失败的运行 由下一个运行.

对SDK本身的更改,如新的Forge 指针,用手释放: 承诺 main (以 bun run generate 当它们改变时 src/,然后在 main 与 bump patch (默认), minor 或者说 major数字 :

gh workflow run publish.yml --repo getarbol/project-arbol-sdk-js --ref main -f bump=patch

它提出了npm上最高版本的部分(虽然没有发表 2.x 版本,结果却是 2.1.0 不论撞到什么地步,都要承担 Release <version> 改为 main并公布给 CLI就像创造。 它拒绝当 main'版本还没有在npm上(运行生成,发布它), 当没有东西进入包裹时src/, (中文(简体) ), package.json, (中文(简体) ), tsconfig.json, (中文(简体) ), bun.lock, (中文(简体) ), README.md, (中文(简体) ), LICENSE)自释放的承诺以来有所改变 main版本,所以同样的SDK是 从来没有出版过两次。 手工放出并生成等相.

生成并发布推动和发送 作为Arbol Bot GitHub App,所以他们承诺 main 运行 校验他们需要组织变量 ARBOL_BOT_APP_ID,则 组织秘密 ARBOL_BOT_PRIVATE_KEY,并安装了内容的 App 写入此选项 npm的出版使用组织的秘密 NPM_TOKEN。 。 。 .

迁移到 SDK 5

SDK 5遵循目前跨平台的公共所有者合同. 更新 从SDK 3中继承的账号:

SDK 3 (英语)SDK 5 (韩语)
account.organizations.currentaccount.organization.get
account.organizations.configureaccount.organization.update
account.billing.overviewaccount.billing.get
account.usage.breakdownaccount.usage.get
account.usage.summaryaccount.usageSummary.get
account.invoices.documentaccount.invoiceDocuments.get

议程预定发现现在使用 bookingLocations.list, (中文(简体) ), bookingOfferings.list, (中文(简体) ), bookingRequirements.get, (中文(简体) ), bookingSlots.list 财务报告和审定财务报表 nearestBookingSlots.list。 。 。 . bookings.lookup 替换 bookings.list· ; firstAvailability.get 替换 availability.first· ; resourceSchedules.update 替换 scheduleRules.replace。 。 。 . 附表规则单独使用 create 财务报告和审定财务报表 update 方法代替 upsert。 。 。 .

SURA 用途 appointments.lookup, (中文(简体) ), bookingOptions.lookup, (中文(简体) ), availability.lookup 财务报告和审定财务报表 copays.lookup 替换 appointments.list, (中文(简体) ), appointments.prepare, (中文(简体) ), availability.list 财务报告和审定财务报表 copays.list。包含个人数据的查询使用 拥有者现在的JSON请求体. 医疗也暴露 patients.lookup。 。 。 .

现在使用的账户资源标识符 apiKeyId, (中文(简体) ), billingProfileId, (中文(简体) ), invitationId, (中文(简体) ), invoiceId 财务报告和审定财务报表 memberId 替换 id,如生成的请求类型声明. 连接创建、更新和删除是公众以外的工作人员用户操作 SDK(英语:SDK). 授权工作人员使用私人运营商CLI;具有证书的业务 留在MCP之外。 账户仍然拥有和执行这些权限.

共享生成的模型出口也沿用了目前的计划名称. 更新 使用编译器的诊断器进行明确的模型导入。 客户端构建者, 答复信封, ApiError 和时间价值 保持他们现有的行为.

许可证

Apache 许可证 2.0

公布已准备好的来源承诺

出版工作流程接受现有的主分支 ref 在不创建的情况下发布 释放承诺。 设定 announce 在单独协调 CLI 发布时为假. 生成应用 scripts/forge-path-segments.patch 至被钉住的 Forge 传输中,所以路径标识符 . 或者说 .. 在请求到达不同的路径之前失败 。 如果未来的Forge版本更改了补丁代码,则生成步骤会失败.

出版进行同类型检查,SDK单元测试并按拉取请求构建. 运行 bun test ./tests 独立行使生成的公共客户.

版本与发布记录

@arbol-ai/sdk 共发布 69 个版本,首次发布于 2026/10/19;过去 12 个月发布了 69 个版本。

版本发布日期距今
5.42.0latest2026/11/071 天前
5.41.02026/11/071 天前
5.40.02026/11/061 天前
5.39.02026/11/061 天前
5.38.12026/11/052 天前
5.38.02026/11/052 天前

关于 @arbol-ai/sdk 的常见问题

@arbol-ai/sdk 是什么?

TypeScript和JavaScript的Arbol API由Cloudflare Forge从平台的公开OpenAPI中生成.

如何安装 @arbol-ai/sdk?

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

@arbol-ai/sdk 支持 TypeScript 吗?

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

@arbol-ai/sdk 支持 ESM 还是 CommonJS?

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

@arbol-ai/sdk 可以商用吗?

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

@arbol-ai/sdk 的下载量有多少?

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

@arbol-ai/sdk 还在维护吗?

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