UNPKG

@ai-sdk/openai

Version:

The **[OpenAI provider](https://ai-sdk.dev/providers/ai-sdk-providers/openai)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the OpenAI chat and completion APIs and embedding model support for the OpenAI embeddings API.

73 lines (64 loc) 1.52 kB
import { createProviderToolFactoryWithOutputSchema, lazySchema, zodSchema, } from '@ai-sdk/provider-utils'; import { z } from 'zod/v4'; export const localShellInputSchema = lazySchema(() => zodSchema( z.object({ action: z.object({ type: z.literal('exec'), command: z.array(z.string()), timeoutMs: z.number().optional(), user: z.string().optional(), workingDirectory: z.string().optional(), env: z.record(z.string(), z.string()).optional(), }), }), ), ); export const localShellOutputSchema = lazySchema(() => zodSchema(z.object({ output: z.string() })), ); export const localShell = createProviderToolFactoryWithOutputSchema< { /** * Execute a shell command on the server. */ action: { type: 'exec'; /** * The command to run. */ command: string[]; /** * Optional timeout in milliseconds for the command. */ timeoutMs?: number; /** * Optional user to run the command as. */ user?: string; /** * Optional working directory to run the command in. */ workingDirectory?: string; /** * Environment variables to set for the command. */ env?: Record<string, string>; }; }, { /** * The output of local shell tool call. */ output: string; }, {} >({ id: 'openai.local_shell', inputSchema: localShellInputSchema, outputSchema: localShellOutputSchema, });