Skip to content

openai / Exports / OpenAIProviderOptions

Interface: OpenAIProviderOptions

OpenAI provider options

Hierarchy

Table of contents

Properties

Properties

apiKey

Optional apiKey: string

OpenAI API key (required when client is not provided)

Defined in

types.ts:28


organization

Optional organization: string

OpenAI organization ID (optional)

Defined in

types.ts:33


timeout

Optional timeout: number

API request timeout (milliseconds)

Defined in

types.ts:38


baseURL

Optional baseURL: string

API base URL (default: 'https://api.openai.com/v1')

Defined in

types.ts:43


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

types.ts:51


jsonSchema

Optional jsonSchema: Object

JSON schema for structured outputs (required when responseFormat is 'json_schema')

Type declaration

NameType
namestring
description?string
schema?Record<string, any>
strict?boolean

Defined in

types.ts:56


client

Optional client: OpenAI

OpenAI client instance (optional: will be created from apiKey if not provided)

Defined in

types.ts:66


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

typescript
// 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

types.ts:93


logger

Optional logger: any

Logger instance for internal OpenAI provider logging

Default Value

ts
SilentLogger

Defined in

types.ts:99

Released under the MIT License.