mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-11 01:32:22 +03:00
Root cause: three interconnected issues caused Vertex partner Claude models to fail with 'Expected input to contain field: messages': 1. resolveChatCoreTargetFormat short-circuited on apiFormat='responses' before consulting model-level targetFormat overrides 2. resolveModelOrError had its own ad-hoc resolution that never consulted the custom-model targetFormat override 3. Vertex executor routed all partner models (including Claude) to the generic OpenAI-compatible endpoint instead of Anthropic's rawPredict Fix: - targetFormat.ts: model-level overrides now take precedence over apiFormat - chatHelpers.ts: use resolveChatCoreTargetFormat instead of inline logic - chat.ts: forward resolved modelTargetFormat through modelInfo - vertex.ts: route Claude models to rawPredict with Anthropic-format body, synthesize real SSE events from rawPredict's JSON response for streaming - Tests: new #8994 repro test + updated URL assertions Co-authored-by: Will Gordon <wgordon@redhat.com>