@ decocms/ 绑定
定义通过模式背景协议工具暴露的能力的打出,可重复使用的合同.
| 属性 | 数值 |
|---|---|
| 工作空间 | @decocms/bindings (单位:千美元)packages/bindings(中文(简体) ) |
| 仁爱 | TypeScript 合同库 |
| 运行时间 | 节点.js 24+ |
| 分发 | 公共 npm 软件包 |
概览
捆绑是一份与Zod输入和输出计划对齐的MCP工具名列表. 它给生产者和消费者一个共享的描述,说明一种能力没有 将两边连接到 Studio 应用程序 .
软件包包括绑定原始,打入客户端适配器,连接 类型,以及著名的收藏合同、语言模型、对象 存储, MCP 配置, 助手, 提示, AI网关计费, 触发器, 和活动订阅者.
责任
- 定义
Binder财务报告和审定财务报表ToolBinder所需和可选工具的合同. - 检查工具列表中是否包含每个需要约束的成员 .
- 为现有的MCP客户端或MCP连接生产打入的客户端.
- 出版可重复使用的Zod schemas和TypeScript类型,用于知名的合同.
- 定义收藏查询、页码、排序和 CRUD 形状.
使用量
安装公共软件包 :
bun add @decocms/bindings
定义绑定并检查 MCP 工具列表是否执行 :
import {
createBindingChecker,
type Binder,
} from "@decocms/bindings";
import { z } from "zod";
const SEARCH_BINDING = [
{
name: "SEARCH" as const,
inputSchema: z.object({ query: z.string() }),
outputSchema: z.object({ results: z.array(z.string()) }),
},
{
name: "SEARCH_SUGGEST" as const,
inputSchema: z.object({ prefix: z.string() }),
outputSchema: z.object({ suggestions: z.array(z.string()) }),
opt: true,
},
] as const satisfies Binder;
const checker = createBindingChecker(SEARCH_BINDING);
const supported = checker.isImplementedBy([{ name: "SEARCH" }]);
支持的软件包导出 :
| 导入路径 | 表面 |
|---|---|
@decocms/bindings | 绑定原始相加事件用户、触发相加和对象存储导出 |
@decocms/bindings/collections | 收集计划、工厂和类型 |
@decocms/bindings/llm | 已贬值的语言模型装订 |
@decocms/bindings/object-storage | 对象存储绑定 |
@decocms/bindings/connection | MCP 连接描述符类型 |
@decocms/bindings/client | 已打入 MCP 客户端和 HTTP 传输 |
@decocms/bindings/mcp | MCP 配置绑定 |
@decocms/bindings/assistant | 助理收藏装订 |
@decocms/bindings/prompt | 快速计划和类型 |
@decocms/bindings/ai-gateway | AI 网关帐单装订 |
@decocms/bindings/trigger | 触发绑定和输入客户端 |
建筑
src/core/binder.ts 拥有绑定模型、相容性检查器并输入
客户工厂. src/core/client/ 修改一个活的 MCP 客户端或
连接描述器为可调用、可绑定形状的方法.
src/well-known/ 包含特定能力计划和工具清单。 这个
软件包导出映射只显示上述支持的切入点
根管故意只再出口最常见的共享合同.
收藏绑定生成 COLLECTION_<NAME>_LIST 财务报告和审定财务报表
COLLECTION_<NAME>_GET (b) 作为必要的工具。 除非我们.. readOnly: true 已经设定,他们
还描述可选的创建、更新和删除工具。 犬类基地
实体计划包括身份、头衔、描述、时间戳和审计
字段.
发展
从寄存器根运行命令 :
bun install
bun run --cwd=packages/bindings check
bun run --cwd=packages/bindings test
以 :
bun test packages/bindings/test/mcp.test.ts
软件包直接发布 TypeScript 源头, 没有单独的构建 剧本.
边界
这个一揽子计划拥有能力合同,而不是执行合同。 数据库访问, 授权、 HTTP 路由处理、 Studio 应用程序状态以及 UI 行为 属于别处.
不导入未发布的文件 src/;使用软件包导出。 不添加
应用别名或联系到 apps/api 或者说 apps/web。 。 。 .
createBindingChecker 目前核查所需工具名称的覆盖范围,包括
正则表达式名称和可选条目。 计划仍然是
装订合同,但检查器目前不执行结构方案
兼容性验证.
这个 /llm 绑定目标为更古老的 AI SDK 提供者抽象化
堕地. 新模式集成使用本地提供者适配器而不是
扩大这个约束.