feat: add Azure OpenAI LLMAdapter (#24)#143
Merged
JackChen-me merged 1 commit intoApr 21, 2026
Merged
Conversation
- New AzureOpenAIAdapter using AzureOpenAI client from openai SDK - Registered 'azure-openai' in SupportedProvider and createAdapter() - model field is primary deployment name; AZURE_OPENAI_DEPLOYMENT as fallback - Default api-version: 2024-10-21 - Example in examples/providers/azure-openai.ts - 14 tests covering chat, stream, tool_use, deployment fallback, error path - Updated README.md, README_zh.md, examples/README.md, src/cli/oma.ts
Member
|
LGTM, merged. Will probably dedupe the stream logic between this and openai.ts at some point, not your problem. |
3 tasks
JackChen-me
added a commit
that referenced
this pull request
Apr 22, 2026
* docs: restructure Ecosystem section, add Engram integration Merge Used by and Integrations into one ## Ecosystem section with three tiers (In production, Integrations free, Featured Partner $3,000/yr). Drop Philosophy section (covered in DECISIONS.md). Add Engram to free tier with maintainer's original tagline verbatim. Mirror in README_zh.md. * chore: add repository, homepage, and bugs npm metadata Standard fields so npm and GitHub surface source links. * docs: README consistency pass - Architecture diagram: add AzureOpenAIAdapter (missed when #143 landed). - Quick Start: promote CLI (oma) to ### subheading for discoverability. - Ecosystem: drop hardcoded "5,500+ stars"; shield badge is the live source. - Intro: bump "Opus 4.6" example to "Opus 4.7" (prose only; code defaults unchanged, to revisit separately). - Supported providers: drop the "Gemma 4" sentence that contradicted the 5-model list below it. - Stats images: bump cache-buster to 20260423 for contrib.rocks and star-history so GitHub camo refetches. Mirror in README_zh.md.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
AzureOpenAIas a first-class provider (provider: 'azure-openai') with a dedicated adapter using theAzureOpenAIclient from theopenaiSDK.Why
Azure OpenAI's deployment-based URL scheme and
api-versionquery parameter don't work cleanly with a plainbaseURLoverride, so a dedicated adapter is warranted.Fixes #24
Design decision:
modelvsAZURE_OPENAI_DEPLOYMENTThe issue spec lists
AZURE_OPENAI_DEPLOYMENTas an env var. After reviewing how existing providers work, I kept the primary pattern consistent with the rest of the framework: themodelfield inAgentConfigis the deployment name, same as how other providers usemodel.AZURE_OPENAI_DEPLOYMENTis supported as an optional fallback — ifmodelis blank, the adapter falls back to the env var, and throws a clear error if neither is set.Env vars
AZURE_OPENAI_API_KEYAZURE_OPENAI_ENDPOINThttps://my-resource.openai.azure.comAZURE_OPENAI_API_VERSION2024-10-21AZURE_OPENAI_DEPLOYMENTmodelfield is blankChecklist
npm run lintpassesnpm testpasses (647 total, 14 new for this adapter)