Skip to content

Documentation v1.0.0


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 ​

typescript
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 }
});

Released under the MIT License.