diff --git a/src/ucode/databricks.py b/src/ucode/databricks.py index d9533340..48f60033 100644 --- a/src/ucode/databricks.py +++ b/src/ucode/databricks.py @@ -2024,12 +2024,14 @@ def build_skills_mcp_url(workspace: str, locations: list[str]) -> str: # Maps the gateway routing dialect a coding tool speaks to the Model Provider # Service `provider_type`s it can be backed by. claude speaks Anthropic's API, # which both the `anthropic` and `amazon_bedrock` provider types serve (Bedrock -# just exposes different model ids); codex speaks OpenAI's; gemini speaks +# just exposes different model ids); codex speaks OpenAI's, which the `openai`, +# `azure_openai`, and `microsoft_foundry` provider types all serve (the gateway +# fronts Azure OpenAI and Foundry with the OpenAI surface); gemini speaks # Google's, served by a Gemini Enterprise provider. Tags are the short form # produced by `_provider_type_tag` (e.g. `amazon_bedrock`). _TOOL_PROVIDER_TYPES: dict[str, tuple[str, ...]] = { "claude": ("anthropic", "amazon_bedrock"), - "codex": ("openai",), + "codex": ("openai", "azure_openai", "microsoft_foundry"), "gemini": ("gemini_enterprise",), } diff --git a/tests/test_managed_setup.py b/tests/test_managed_setup.py index 76b38f5f..91d07b3b 100644 --- a/tests/test_managed_setup.py +++ b/tests/test_managed_setup.py @@ -361,8 +361,10 @@ def test_claude_supports_anthropic_and_bedrock(self): assert supports_provider_service("claude", "anthropic") assert supports_provider_service("claude", "amazon_bedrock") - def test_codex_supports_openai(self): + def test_codex_supports_openai_azure_and_foundry(self): assert supports_provider_service("codex", "openai") + assert supports_provider_service("codex", "azure_openai") + assert supports_provider_service("codex", "microsoft_foundry") def test_claude_does_not_support_openai(self): assert not supports_provider_service("claude", "openai")