@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
text/typescript
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,
};