nexus-agents - v2.80.0
    Preparing search index...

    Class OpenAIAdapter

    OpenAI model adapter.

    Provides a unified interface for interacting with OpenAI's GPT models. Supports completion, streaming, tool use, and vision capabilities.

    const adapter = new OpenAIAdapter({
    modelId: 'gpt-4o',
    apiKey: process.env.OPENAI_API_KEY,
    });

    const result = await adapter.complete({
    messages: [{ role: 'user', content: 'Hello!' }],
    maxTokens: 1024,
    });

    if (result.ok) {
    console.log(result.value.content);
    }

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    providerId: string

    Provider identifier (e.g., 'anthropic', 'openai')

    modelId: string

    Model identifier (e.g., 'claude-sonnet-4', 'gpt-4o')

    capabilities: readonly ModelCapability[]

    Capabilities this model supports

    logger: ILogger

    Logger for request/response logging

    Configuration for the adapter

    Methods

    • Transform a provider-specific error into a standardized ModelError.

      Maps common error patterns to appropriate error codes:

      • Rate limiting (429, quota exceeded)
      • Timeouts (ETIMEDOUT, ESOCKETTIMEDOUT)
      • Authentication (401, 403)
      • Model unavailable (503, 502)

      Parameters

      • error: unknown

        The original error from the provider

      Returns ModelError

      A standardized ModelError

    • (#2529) List models served by this OpenAI-compatible endpoint.

      Wraps GET /v1/models. Result is cached for LIST_MODELS_TTL_MS so identity resolution doesn't round-trip on every adapter. Concurrent callers share the in-flight promise.

      Throws on non-2xx so the harness-side identity resolver knows to fall back to modelId parsing — silent empty-list returns would be indistinguishable from "this gateway has no models", which a misconfigured endpoint shouldn't be allowed to claim.

      Returns Promise<readonly ModelMetadata[]>