agent-provider-openai / Exports / IOpenAIProviderOptions
Interface: IOpenAIProviderOptions
OpenAI provider options
Indexable
▪ [key: string]: TOpenAIProviderOptionValue
Additional provider-specific options
Table of contents
Properties
Properties
apiKey
• Optional apiKey: string
OpenAI API key (required when client is not provided)
Defined in
agent-provider-openai/src/types.ts:35
organization
• Optional organization: string
OpenAI organization ID (optional)
Defined in
agent-provider-openai/src/types.ts:40
timeout
• Optional timeout: number
API request timeout (milliseconds)
Defined in
agent-provider-openai/src/types.ts:45
baseURL
• Optional baseURL: string
API base URL (default: 'https://api.openai.com/v1')
Defined in
agent-provider-openai/src/types.ts:50
responseFormat
• Optional responseFormat: "text" | "json_object" | "json_schema"
Response format (default: 'text')
- 'text': Plain text response
- 'json_object': JSON object mode (requires system message)
- 'json_schema': Structured Outputs with schema validation
Defined in
agent-provider-openai/src/types.ts:58
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, TOpenAIProviderOptionValue> |
strict? | boolean |
Defined in
agent-provider-openai/src/types.ts:63
client
• Optional client: OpenAI
OpenAI client instance (optional: will be created from apiKey if not provided)
Defined in
agent-provider-openai/src/types.ts:73
payloadLogger
• Optional payloadLogger: IPayloadLogger
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 IPayloadLogger interface
Example
// Node.js
import { FilePayloadLogger } from '@robota-sdk/agent-provider-openai/loggers/file';
const provider = new OpenAIProvider({
client: openaiClient,
payloadLogger: new FilePayloadLogger({ logDir: './logs/openai' })
});
// Browser
import { ConsolePayloadLogger } from '@robota-sdk/agent-provider-openai/loggers/console';
const provider = new OpenAIProvider({
client: openaiClient,
payloadLogger: new ConsolePayloadLogger()
});Defined in
agent-provider-openai/src/types.ts:100
executor
• Optional executor: IExecutor
Optional executor for handling AI requests
When provided, the provider will delegate all chat operations to this executor instead of making direct API calls. This enables remote execution capabilities.
Example
import { LocalExecutor, RemoteExecutor } from '@robota-sdk/agent-core';
// Local execution (registers this provider)
const localExecutor = new LocalExecutor();
localExecutor.registerProvider('openai', new OpenAIProvider({ apiKey: 'sk-...' }));
// Remote execution
const remoteExecutor = new RemoteExecutor({
serverUrl: 'https://api.robota.io',
userApiKey: 'user-token-123'
});
const provider = new OpenAIProvider({
executor: remoteExecutor // No direct API key needed
});Defined in
agent-provider-openai/src/types.ts:127
logger
• Optional logger: ILogger
Logger instance for internal OpenAI provider logging
Default Value
SilentLogger