Repository navigation
[v4/p6-vendors] fix(providers): vendor behaviour follows the upstream packages - #240
Closed
cunninghamcard-bit wants to merge 1 commit into
Closed
cunninghamcard-bit wants to merge 1 commit into
cunninghamcard-bit wants to merge 1 commit into
Conversation
Closes the vendor differences left after the move to factories, checked against each pinned upstream package: - Factories, request settings, base URLs, empty keys and provider names follow upstream; vendor option schemas live in each package and vendor namespaces are spelled through the package constants. - Vendor features upstream has and aimux lacked are ported, including the image-model middleware. - Stream error events become error parts; Cohere and Mistral detect media types as upstream does; Bedrock converter errors and Anthropic ids follow upstream; the Azure user-agent uses the package namespace. - The OpenAI and OpenAI-compatible chat models drive the tool-call tracker with their package's options and flush pending tool calls through it. - API requests follow cross-origin redirects and drop credentials on the way. A local runtime's optional key has its own credential kind. - create_provider lists every built-in name when a name misses. - Decision providers follow call-level retries and identity-only replay; the migrated recording fixtures are marked schema 3. Tests: the upstream-ported model tests (sixteen files, plus the Bedrock and Anthropic remaining cases) are kept, AI SDK protocol samples are recorded under a mocked fetch, the DeepSeek cassette replay is kept, and the hand-written tests the factories replace are deleted. An ignored live SigV4 test checks against STS, Bedrock and Polly. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A3WxDBWBA4ituJjXsHaEAa
4 of 12 tasks
6 tasks
10 of 12 tasks
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.
Requested by li
Summary
Before: after the move to factories, a number of vendor behaviours still differ from the pinned upstream packages, some upstream vendor features are missing, and several upstream-ported tests were deleted.
After: factories, request settings, base URLs, empty keys and provider names follow upstream; vendor option schemas live in each package; the missing vendor features are ported. Stream error events become error parts, API requests follow cross-origin redirects without credentials, and the upstream-ported model tests are kept.
Type of change
Checklist
cargo fmt --all -- --checkpassescargo clippy --workspace --all-targets -- -D warningspassescargo test --workspacepasses (cassette playback — no network/keys)README.md,docs/,rfc/,bindings/README.md)Notes for reviewers
Status: Draft, opened early so the series layout can be reviewed. The items under "Planned in follow-up pushes" land on this branch before it is marked ready.
cargo test --workspacehas not been run on this branch yet.supportsMultiPartToolContentkept as a public setting; the Architecture audit: R3 remaining — structured AiMuxError (R1+R2 done in #93) #90 endpoint regression test rewritten into the preset tests; Azure's token decorator honouringOmit; OpenAIfunction_callfinish reason and nestedcached_tokens; user-agent versions read from the pinned versions; Bedrock and anthropic-aws signing per upstream signer.🤖 Generated with Claude Code
https://claude.ai/code/session_01A3WxDBWBA4ituJjXsHaEAa