openai / Exports / OpenAIProviderOptions
Interface: OpenAIProviderOptions
OpenAI provider options
Hierarchy
↳
OpenAIProviderOptions
Table of contents
Properties
Properties
apiKey
• Optional
apiKey: string
OpenAI API key (required when client is not provided)
Defined in
organization
• Optional
organization: string
OpenAI organization ID (optional)
Defined in
timeout
• Optional
timeout: number
API request timeout (milliseconds)
Defined in
baseURL
• Optional
baseURL: string
API base URL (default: 'https://api.openai.com/v1')
Defined in
responseFormat
• Optional
responseFormat: "text"
| "json_object"
| "json_schema"
Response format (default: 'text')
- 'text': Plain text response
- 'json_object': Legacy JSON mode (requires system message)
- 'json_schema': Structured Outputs with schema validation
Defined in
jsonSchema
• Optional
jsonSchema: Object
JSON schema for structured outputs (required when responseFormat is 'json_schema')
Type declaration
Name | Type |
---|---|
name | string |
description? | string |
schema? | Record <string , any > |
strict? | boolean |
Defined in
client
• Optional
client: OpenAI
OpenAI client instance (optional: will be created from apiKey if not provided)
Defined in
payloadLogger
• Optional
payloadLogger: PayloadLogger
Payload logger instance for debugging API requests/responses
Use different implementations based on your environment:
- FilePayloadLogger: Node.js file-based logging
- ConsolePayloadLogger: Browser console-based logging
- Custom: Implement PayloadLogger interface
Example
// Node.js
import { FilePayloadLogger } from '@robota-sdk/openai/loggers/file';
const provider = new OpenAIProvider({
client: openaiClient,
payloadLogger: new FilePayloadLogger({ logDir: './logs/openai' })
});
// Browser
import { ConsolePayloadLogger } from '@robota-sdk/openai/loggers/console';
const provider = new OpenAIProvider({
client: openaiClient,
payloadLogger: new ConsolePayloadLogger()
});
Defined in
logger
• Optional
logger: any
Logger instance for internal OpenAI provider logging
Default Value
SilentLogger