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.