Skip to content

[managed] Enable OpenAI managed-proxy fallback routing in provider bootstrap#26211

Merged
noanflaherty merged 1 commit into
noanflaherty/managed-openai-native-web-searchfrom
run-plan/managed-openai-web/pr-1
Apr 17, 2026
Merged

[managed] Enable OpenAI managed-proxy fallback routing in provider bootstrap#26211
noanflaherty merged 1 commit into
noanflaherty/managed-openai-native-web-searchfrom
run-plan/managed-openai-web/pr-1

Conversation

@noanflaherty
Copy link
Copy Markdown
Contributor

@noanflaherty noanflaherty commented Apr 17, 2026

Summary

  • Enable OpenAI as a managed inference provider with proxy path /v1/runtime-proxy/openai
  • Add managed-proxy context, integration, and secret-route tests for OpenAI
  • Existing Anthropic/Gemini managed behavior remains unchanged

Part of plan: managed-openai-native-web-search.md (PR 1 of 4)


Open with Devin

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 1 additional finding in Devin Review.

Open in Devin Review

Comment on lines 29 to 33
openai: {
name: "openai",
managed: false,
managed: true,
proxyPath: "/v1/runtime-proxy/openai",
},
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 OpenAI SDK baseURL behavior with proxy path is correct but worth noting

When using the managed proxy, the OpenAI SDK's baseURL is set to something like https://platform.example.com/v1/runtime-proxy/openai. The SDK appends its own API paths (e.g. /responses) to this base, yielding https://platform.example.com/v1/runtime-proxy/openai/responses. This matches how the Anthropic SDK handles its baseURL for the anthropic managed proxy. The platform proxy server must be configured to handle this path structure — but that's a server-side concern in vellum-assistant-platform, not a bug here.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@noanflaherty noanflaherty merged commit 9c3f06f into noanflaherty/managed-openai-native-web-search Apr 17, 2026
12 checks passed
@noanflaherty noanflaherty deleted the run-plan/managed-openai-web/pr-1 branch April 17, 2026 21:04
noanflaherty added a commit that referenced this pull request Apr 17, 2026
* [managed] Enable OpenAI managed-proxy fallback routing in provider bootstrap (#26211)

* [openai] Route inference-provider-native web search to Responses native web_search tool (#26212)

* [macOS] Allow managed inference provider selection beyond Anthropic (#26218)

* [macOS] Allow managed inference provider selection beyond Anthropic

* fix: capture draftProvider before async Task to prevent race condition

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* [macOS] Allow provider-native web search when managed inference provider supports it (#26230)

* [macOS] Allow provider-native web search when managed inference provider supports it

* fix: gate mode-specific web search invalidation on modeChanging to prevent false-positive alerts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: generalize alert message to cover both mode and provider changes

* fix: scope provider-native invalidation to your-own web search mode

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: emit server_tool_start/complete events for OpenAI native web search (#26240)

* fix: render web_search_call output items in LLM context diagnostics (#26243)

* fix: add server_tool_use content blocks and tests for OpenAI native web search (#26246)

* fix: diagnostics polish — web_search_call tests, tool count fix, loop consistency (#26250)

* fix: emit paired web_search_tool_result blocks to prevent repairHistory corruption

The OpenAI Responses provider emitted server_tool_use content blocks for
web_search_call items but did not emit matching web_search_tool_result blocks.
repairHistory() treats any unpaired server_tool_use as an interrupted search
and injects a synthetic web_search_tool_result_error, which corrupts
conversation history by making successful searches appear as failures.

After each server_tool_use block, also emit a paired web_search_tool_result
with empty content (since OpenAI weaves search results into the text output).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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