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.

127 lines (116 loc) 5.41 kB
import { applyPatch } from './tool/apply-patch'; import { codeInterpreter } from './tool/code-interpreter'; import { customTool } from './tool/custom'; import { fileSearch } from './tool/file-search'; import { imageGeneration } from './tool/image-generation'; import { localShell } from './tool/local-shell'; import { shell } from './tool/shell'; import { webSearch } from './tool/web-search'; import { webSearchPreview } from './tool/web-search-preview'; import { mcp } from './tool/mcp'; export const openaiTools = { /** * The apply_patch tool lets GPT-5.1 create, update, and delete files in your * codebase using structured diffs. Instead of just suggesting edits, the model * emits patch operations that your application applies and then reports back on, * enabling iterative, multi-step code editing workflows. * */ applyPatch, /** * Custom tools let callers constrain model output to a grammar (regex or * Lark syntax). The model returns a `custom_tool_call` output item whose * `input` field is a string matching the specified grammar. * * @param name - The name of the custom tool. * @param description - An optional description of the tool. * @param format - The output format constraint (grammar type, syntax, and definition). */ customTool, /** * The Code Interpreter tool allows models to write and run Python code in a * sandboxed environment to solve complex problems in domains like data analysis, * coding, and math. * * @param container - The container to use for the code interpreter. */ codeInterpreter, /** * File search is a tool available in the Responses API. It enables models to * retrieve information in a knowledge base of previously uploaded files through * semantic and keyword search. * * @param vectorStoreIds - The vector store IDs to use for the file search. * @param maxNumResults - The maximum number of results to return. * @param ranking - The ranking options to use for the file search. * @param filters - The filters to use for the file search. */ fileSearch, /** * The image generation tool allows you to generate images using a text prompt, * and optionally image inputs. It leverages the GPT Image model, * and automatically optimizes text inputs for improved performance. * * @param background - Background type for the generated image. One of 'auto', 'opaque', or 'transparent'. * @param inputFidelity - Input fidelity for the generated image. One of 'low' or 'high'. * @param inputImageMask - Optional mask for inpainting. Contains fileId and/or imageUrl. * @param model - The image generation model to use. Default: gpt-image-1. * @param moderation - Moderation level for the generated image. Default: 'auto'. * @param outputCompression - Compression level for the output image (0-100). * @param outputFormat - The output format of the generated image. One of 'png', 'jpeg', or 'webp'. * @param partialImages - Number of partial images to generate in streaming mode (0-3). * @param quality - The quality of the generated image. One of 'auto', 'low', 'medium', or 'high'. * @param size - The size of the generated image. One of 'auto', '1024x1024', '1024x1536', or '1536x1024'. */ imageGeneration, /** * Local shell is a tool that allows agents to run shell commands locally * on a machine you or the user provides. * * Supported models: `gpt-5-codex` and `codex-mini-latest` */ localShell, /** * The shell tool allows the model to interact with your local computer through * a controlled command-line interface. The model proposes shell commands; your * integration executes them and returns the outputs. * * Available through the Responses API for use with GPT-5.1. * * WARNING: Running arbitrary shell commands can be dangerous. Always sandbox * execution or add strict allow-/deny-lists before forwarding a command to * the system shell. */ shell, /** * Web search allows models to access up-to-date information from the internet * and provide answers with sourced citations. * * @param searchContextSize - The search context size to use for the web search. * @param userLocation - The user location to use for the web search. */ webSearchPreview, /** * Web search allows models to access up-to-date information from the internet * and provide answers with sourced citations. * * @param filters - The filters to use for the web search. * @param searchContextSize - The search context size to use for the web search. * @param userLocation - The user location to use for the web search. */ webSearch, /** * MCP (Model Context Protocol) allows models to call tools exposed by * remote MCP servers or service connectors. * * @param serverLabel - Label to identify the MCP server. * @param allowedTools - Allowed tool names or filter object. * @param authorization - OAuth access token for the MCP server/connector. * @param connectorId - Identifier for a service connector. * @param headers - Optional headers to include in MCP requests. * // param requireApproval - Approval policy ('always'|'never'|filter object). (Removed - always 'never') * @param serverDescription - Optional description of the server. * @param serverUrl - URL for the MCP server. */ mcp, };