Documentation / @openassistant/utils / convertToVercelAiToolV5
Function: convertToVercelAiToolV5()
convertToVercelAiToolV5(
tool):object
Defined in: packages/utils/src/convert-vercelai.ts:33
Converts an OpenAssistantTool to an AI SDK v5 compatible tool configuration.
Parameters
tool
OpenAssistantTool<ZodTypeAny, unknown, unknown, unknown>
The OpenAssistantTool object to convert
Returns
object
A tool configuration object that can be used with the tool() function from AI SDK v5
description
description:
string=tool.description
execute()
execute: (
args,options) =>Promise<unknown>
Parameters
args
unknown
options
abortSignal?
AbortSignal
toolCallId
string
Returns
Promise<unknown>
inputSchema
inputSchema:
ZodTypeAny=tool.parameters
name
name:
string=tool.name
outputSchema
outputSchema:
ZodObject<{error:ZodOptional<ZodString>;result:ZodString;success:ZodBoolean; },"strip",ZodTypeAny, {error?:string;result:string;success:boolean; }, {error?:string;result:string;success:boolean; }>
Example
import { tool } from 'ai';
import { convertToVercelAiTool } from '@openassistant/utils';
const myTool: OpenAssistantTool = {
name: 'my-tool',
description: 'My tool description',
parameters: z.object({ input: z.string() }),
context: {},
execute: async (params) => ({ llmResult: 'result' })
};
const aiSDKTool = tool(convertToVercelAiTool(myTool));
// Use with AI SDK v5
const result = await streamText({
model: openai('gpt-4'),
messages,
tools: { myTool: aiSDKTool }
});