Skip to content

docs(responses-api-proxy): refresh Azure example for v1 Responses API#173

Closed
andrei-hasna wants to merge 3 commits into
mainfrom
openloops/open-codewith/a0202bd3-257c-4b43-b98b-3c6eadbd24c8-2fd77a5e
Closed

docs(responses-api-proxy): refresh Azure example for v1 Responses API#173
andrei-hasna wants to merge 3 commits into
mainfrom
openloops/open-codewith/a0202bd3-257c-4b43-b98b-3c6eadbd24c8-2fd77a5e

Conversation

@andrei-hasna

Copy link
Copy Markdown
Contributor

Summary

Refreshes the stale Azure example in codex-rs/responses-api-proxy/README.md to Microsoft's current Azure OpenAI v1 Responses API and clarifies how the proxy's fixed Authorization: Bearer <key> header maps to Azure authentication.

  • --upstream-url example updated from the legacy dated form (.../openai/deployments/YOUR_DEPLOYMENT/responses?api-version=2025-04-01-preview) to the current v1 form https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses, which no longer requires a dated api-version query parameter.
  • Documents auth expectations for the proxy's fixed bearer header: Azure v1 accepts the resource API key as a bearer token (as the standard OpenAI() client does for key-based auth), or pipe a Microsoft Entra ID access token instead. The Azure api-key: <key> header form is not produced by this proxy.
  • Notes that legacy dated upstream URLs and custom model_providers query_params = { api-version = "..." } configs keep working — no compatibility removed.

Adds an additive test_deserialize_azure_v1_model_provider_toml covering the v1 /openai/v1 base_url with no query_params, leaving the legacy test_deserialize_azure_model_provider_toml (dated api-version) test unchanged.

Sources (accessed 2026-07-07)

Validation

  • just test-fast -p codex-model-provider-info azure — 4 passed (incl. new + legacy Azure tests)
  • just test-fast -p codex-core azure_overrides — 1 passed
  • just test-fast -p codex-cli doctor — 91 passed
  • just fmt — clean

🤖 Generated with Claude Code

…shed catalog

Commit #101 (5faaf4a) intentionally refreshed provider catalog metadata
and fallbacks but left three assertions pinned to pre-refresh expectations:

- codex-api parses_nvidia_models_response: deepseek-v4-flash now advertises
  tools (consistent with the direct DeepSeek provider and the passing
  nvidia_deepseek_v4_models_support_tools test), so expect ["tools"].
- app-server anthropic_fallback_models_include_fable_default: claude-sonnet-5
  was added to the anthropic fallback list (len 4 -> 5).
- app-server cerebras_fallback_models_include_selectable_default: gemma-4-31b
  was added to the cerebras fallback list (len 2 -> 3).

Ground truth verified against known-provider-models tests that assert the
new models exist.
Update the Azure --upstream-url example in the responses-api-proxy README to the current v1 form https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses, which no longer needs a dated api-version query parameter. Explain how the proxy's fixed Authorization: Bearer <key> header maps to Azure auth, including API-key and Microsoft Entra ID token flows, while noting that legacy dated upstream URLs and query_params api-version configs keep working.

Add an additive test_deserialize_azure_v1_model_provider_toml covering the v1 /openai/v1 base_url with no query_params, without modifying the legacy test_deserialize_azure_model_provider_toml compatibility test.

Sources (accessed 2026-07-07):

- https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/responses

- https://learn.microsoft.com/en-us/azure/foundry/openai/api-version-lifecycle
@andrei-hasna
andrei-hasna force-pushed the openloops/open-codewith/a0202bd3-257c-4b43-b98b-3c6eadbd24c8-2fd77a5e branch from 78212db to 7da4318 Compare July 7, 2026 03:49
@andrei-hasna

Copy link
Copy Markdown
Contributor Author

Closing as superseded by #207. Replacement #207 carries the current provider/docs cleanup slice and explicitly lists this PR in its carried scope. Please continue review on #207.

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.

1 participant