@ agentproto/ 工具
参考实施情况
AIP-14 ToOL.md (英语) defineTool 合同.
供应商中立工具注册原始:作者写单曲
defineTool({...}) 模块 + 可选侧车 TOOL.md 明显,和任何
框架专用适配器(@agentproto/adapter-mastra, (中文(简体) ), @agencies/tool-langchain, (中文(简体) ),
@agencies/tool-a2a,.)可以将由此产生的包装包起来 ToolHandle 进入其本土
工具 API.
import { defineTool, ToolError } from "@agentproto/tool"
import { z } from "zod"
export default defineTool({
id: "echo",
description: "Returns its input verbatim.",
inputSchema: z.object({ message: z.string() }),
outputSchema: z.object({ echo: z.string() }),
mutates: [],
approval: "auto",
execute: async ({ input }) => {
if (input.message.length > 10_000) {
throw new ToolError({
code: "input_invalid",
message: "message too long",
})
}
return { echo: input.message }
},
})
主持人打电话 handle.execute({ input, context })。运行时间验证
input 反对 inputSchema (以
ToolError({ code: "input_invalid" }) 的形状不匹配)
身体,然后验证身体的回反 outputSchema。错误旅行
断接: 成功返回值; 失败丢出 ToolError 那个
适配器必须装入标准 ToolResult<T> 信封上写着.
光谱
见 AIP-14 联合国 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}为峡谷 defineTool
合同和合规规则。 此软件包是 TypeScript 引用
执行.
适应软件包
@agentproto/adapter-mastra—— 说toMastraTool(handle, ctx)(计划)@agencies/tool-langchain——(计划)@agencies/tool-a2a——(计划)