@alvera-ai/platform-sdk
为 Alvera 平台 API 所打入的 TypeScript SDK ——管理数据湖,数据 源,工具,AI代理,互操作性合同,数据激活客户端, 工作流程,以及更多,都来自一个单一的打字客户端.
安装
npm install @alvera-ai/platform-sdk
# or: pnpm add / bun add / yarn add @alvera-ai/platform-sdk
快开始
认证是两个步骤——薄荷会话,然后构建一个打入的客户端:
import {
createSession,
createIsolatedPlatformApi,
type PlatformApi,
} from '@alvera-ai/platform-sdk'
// 1. mint a session (pass tenantSlug to scope it to a tenant)
const session = await createSession({
baseUrl: 'https://api.alvera.ai',
email,
password,
tenantSlug,
})
// 2. build a typed client
const api: PlatformApi = createIsolatedPlatformApi({
baseUrl: 'https://api.alvera.ai',
sessionToken: session.sessionToken,
})
// 3. call resources — every nested resource is tenant + datalake scoped
const { data: datalake } = await api.datalakes.create(tenantSlug, {
name: 'Production Lake',
type: 'raw',
// …db_reader_* / db_writer_* + cloud_storage credentials…
})
const { data, meta } = await api.tools.list(tenantSlug, datalake.slug)
会议范围
createSession 薄荷是三种范围之一:
- 根号 – Alvera root admin(用户签名+确认).
- 无租户 ——认证用户尚未租户;曾用于创建
租户,或接受邀请。 奥米
tenantSlug。 。 。 . - 租户范围 ——承担租户业务的犬人. 过
tenantSlug。 。 。 .
在同一进程中拥有多个客户端(例如测试或应用程序服务)
多用户)? 使用 createIsolatedPlatformApi 它造就了一个新鲜的私人
客户端. createPlatformApi 变异一个共享的单子 并且只对一个
单人持枪.
有些事情要知道
update()替换整个资源 — 没有部分更新;发送 整个身体.- 列表终点返回
{ data, meta }——去结构化,不要去结构化 直接反应. - 垃圾是服务器生成的 - 读取
slug关闭 acreate()响应; 永远 预计算. - SDK 验证不了客户端 - 身体变糟了
422 AlveraApiError带有source.pointer到违法的地方.
类型脚本配置
SDK使用过 @hey-api/client-fetch, (中文(简体) ),
其生成的代码参考 WhatWG 获取类型 - BodyInit, (中文(简体) ), RequestInit, (中文(简体) ),
Headers, (中文(简体) ), FormData等 (中文(简体) ). 这些名字住在 lib.dom.d.ts没有
@types/node因此,一个节点消费者与 "lib": ["ES2022"] 联合国
tsconfig.json 将看到错误,如 Cannot find name 'BodyInit' 何时
类型检查.
修补的是 DOM 财务报告和审定财务报表 DOM.Iterable 给您的 lib数字 :
// tsconfig.json
{
"compilerOptions": {
"lib": ["ES2022", "DOM", "DOM.Iterable"]
// ^^^^^^^^^^^^^^^^^^^^^^^
// Required by @hey-api/client-fetch — see hey-api/openapi-ts#2539.
// Type-only: adds NOTHING to the runtime — Node 18+ provides real
// fetch independently of these declarations.
}
}
这是Hey -api公开发行的作品
#2539号; 放弃 DOM
条目再次显示自定义类型。 浏览器
消费者( React, Vue, Next, Nuxt, Remix) 已启用 DOM 编号 :
DOM.Iterable 默认情况——不需要更改.
环境
带软件包的 Base URL 船, 构建时从 servers[]
框中的 OpenAPI 光谱,导出为 ENVIRONMENTS数字 :
import { ENVIRONMENTS, DEFAULT_ENVIRONMENT } from '@alvera-ai/platform-sdk'
ENVIRONMENTS.local.base_url // http://localhost:4000
ENVIRONMENTS.demo.base_url // https://demo.alvera.ai
ENVIRONMENTS.prod.base_url // https://app.alvera.ai
DEFAULT_ENVIRONMENT // 'prod'
通过选中的 base_url 输入 createSession 财务报告和审定财务报表 createIsolatedPlatformApi。 。 。 .
资源
每个资源都是客户端上输入的命名空间( E)api.<resource>.<verb>:
| 资源 | 业务 |
|---|---|
ping | 健康检查 |
sessions | verify |
auth | signUp |
admin | confirmUser |
tenants | list, (中文(简体) ), create |
invitations | list, (中文(简体) ), create, (中文(简体) ), accept |
datasets | search, (中文(简体) ), metadata, (中文(简体) ), createUserSearch |
datalakes | list, (中文(简体) ), get, (中文(简体) ), create, (中文(简体) ), metadata, (中文(简体) ), migrate, (中文(简体) ), createUploadLink, (中文(简体) ), createDownloadLink, (中文(简体) ), textToSql, (中文(简体) ), executeSql |
dataSources | list, (中文(简体) ), create, (中文(简体) ), update |
tools | list, (中文(简体) ), get, (中文(简体) ), create, (中文(简体) ), update, (中文(简体) ), delete, (中文(简体) ), testInvocation |
genericTables | list, (中文(简体) ), create |
actionStatusUpdaters | list, (中文(简体) ), create, (中文(简体) ), update |
aiAgents | list, (中文(简体) ), get, (中文(简体) ), create, (中文(简体) ), update, (中文(简体) ), delete, (中文(简体) ), invoke |
authenticatedLinks | exchange, (中文(简体) ), updateMessageTracking |
dataActivationClients | list, (中文(简体) ), get, (中文(简体) ), create, (中文(简体) ), update, (中文(简体) ), delete, (中文(简体) ), metadata, (中文(简体) ), runManually, (中文(简体) ), ingest, (中文(简体) ), ingestFile, (中文(简体) ), logs.list, (中文(简体) ), logs.get |
interoperabilityContracts | list, (中文(简体) ), get, (中文(简体) ), create, (中文(简体) ), update, (中文(简体) ), delete, (中文(简体) ), metadata, (中文(简体) ), run |
mdm | verify |
workflows | list, (中文(简体) ), get, (中文(简体) ), create, (中文(简体) ), update, (中文(简体) ), delete, (中文(简体) ), metadata, (中文(简体) ), execute, (中文(简体) ), run, (中文(简体) ), workflowLogs.list/get/download, (中文(简体) ), batchLogs.list/get/start/stop/refresh |
租户和数据湖的提供由Alvera 管理员负责——联系您 代表登上新租户.
编码代理
这个包裹载着一个 代理文件目录 下级 .agent/ 它降落在... 它降落在..
node_modules/@alvera-ai/platform-sdk/.agent/ 安装后, 以及一个代理
走开 node_modules 自动发现它。 这是自给自足的
建立针对 SDK 的应用程序或测试套件 :
.agent/AGENTS.md——指数+资源参考..agent/cookbook/有效、可操作的食谱: 商业烹饪手册(每个结果一个)和能力文件(一个能力) 每个,例如:.bulk-ingest, (中文(简体) ),ai-agent-invoke, (中文(简体) ),custom-tables, (中文(简体) ),invite-team) (中文(简体) ).
把指针接入你自己的项目 AGENTS.md (和a)
@AGENTS.md 导入到 CLAUDE.md),运行——不需要全局安装:
npx @alvera-ai/platform-sdk llm-export
它写着一个同位素管理块;重跑只替换了那个块.
文档
.agent/——消费者参考书+厨用书(套装货船)docs/sdk-architecture.md- SDK的设计
许可证
麻省理工学院——见 自由主义。 。 。 .