Skip to content

feat: Add OpenAI GPT adapter for multi-provider LLM support#19

Draft
Copilot wants to merge 1 commit intomainfrom
copilot/add-openai-gpt-adapter
Draft

feat: Add OpenAI GPT adapter for multi-provider LLM support#19
Copilot wants to merge 1 commit intomainfrom
copilot/add-openai-gpt-adapter

Conversation

Copy link
Copy Markdown

Copilot AI commented Apr 6, 2026

CAIMS was hardcoded to Anthropic Claude. This adds an OpenAI adapter and a provider factory so deployments can switch between providers via environment variable.

New files

  • lib/adapters/openai.tsOpenAIAdapter implementing the same LLMAdapter interface (chat() + judge()). Uses native fetch against the OpenAI chat completions API with exponential backoff retries. Supports OPENAI_BASE_URL for OpenAI-compatible endpoints.
  • lib/adapters/index.tsgetAdapter() factory reads CAIMS_LLM_PROVIDER env var, returns the appropriate singleton. Defaults to anthropic.

Provider selection

# .env
CAIMS_LLM_PROVIDER=openai        # or anthropic (default)
OPENAI_API_KEY=sk-...
OPENAI_BASE_URL=https://api.openai.com/v1   # optional, for compatible APIs

The existing chat route already calls getAdapter() — no route changes needed.

Tests

  • __tests__/openai.test.ts — 11 tests: response mapping, request shape, custom base URL, missing key, empty content, API errors
  • __tests__/adapter-factory.test.ts — 8 tests: default provider, env var parsing (case/whitespace insensitive), explicit override, unknown provider error

Copilot AI linked an issue Apr 6, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Add OpenAI GPT adapter for multi-provider support feat: Add OpenAI GPT adapter for multi-provider LLM support Apr 6, 2026
Copilot AI requested a review from pixelstrade-dev April 6, 2026 07:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Good First Issue] Add OpenAI GPT adapter for multi-provider support

2 participants