export interface BaseTool { type: string; } export interface FunctionTool extends BaseTool { type: 'function'; name: string; description?: string; parameters?: object; strict: true; } export interface WebSearchTool extends BaseTool { type: 'web_search'; filters?: { allowed_domains?: string[]; }; search_context_size?: 'low' | 'medium' | 'high'; user_location?: { city?: string; country?: string; region?: string; timezone?: string; type?: 'approximate'; }; } export interface FileSearchFilter { key: string; type: string; value: string | number | boolean; } export interface FileSearchTool extends BaseTool { type: 'file_search'; vector_store_ids: string[]; filters?: FileSearchFilter | { filters: FileSearchFilter[]; type: 'and' | 'or'; }; max_num_results?: string; ranking_options?: { ranker?: string; score_threshold?: number; }; } export interface ImageGenerationTool extends BaseTool { type: 'image_generation'; background?: string; input_fidelity?: string; input_image_mask?: { file_id?: string; image_url?: string; }; model?: string; moderation?: string; output_compression?: number; output_format?: string; partial_images?: number; quality?: string; size?: string; } export interface MCPTool extends BaseTool { type: 'mcp'; server_label: string; server_description?: string; server_url: string; require_approval?: 'never' | 'always' | { never?: { tool_names: string[]; }; }; allowed_tools?: string[]; authorization?: string; } export type OpenAITool = FunctionTool | WebSearchTool | FileSearchTool | ImageGenerationTool | MCPTool; //# sourceMappingURL=openAITools.d.ts.map