/* Copyright (c) 2025 Bernier LLC This file is licensed to the client under a limited-use license. The client may use and modify this code only within the scope of the project it was delivered for. Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC. */ import { AIProviderConfig } from '@bernierllc/ai-provider-core'; /** * OpenAI Provider Configuration */ export interface OpenAIProviderConfig extends AIProviderConfig { providerName: 'openai'; organizationId?: string; baseURL?: string; timeout?: number; maxRetries?: number; } /** * OpenAI Function Definition (for function calling) */ export interface OpenAIFunction { name: string; description: string; parameters: { type: 'object'; properties: Record; required?: string[]; }; } /** * OpenAI Vision Request */ export interface OpenAIVisionRequest { imageUrl: string; prompt: string; model?: string; maxTokens?: number; } /** * OpenAI Model Pricing Information */ export interface OpenAIModelPricing { inputPrice: number; // USD per 1K tokens outputPrice: number; // USD per 1K tokens }