Skip to content

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

NameType
namestring
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

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

typescript
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

ts
SilentLogger

Defined in

agent-provider-openai/src/types.ts:133

Released under the MIT License.