Skip to content

fix(providers): honor custom vision override when combo step uses custom node alias prefix (#15563) - #15806

Merged
diegosouzapw merged 2 commits into
release/v3.8.52from
fix/15563-vision-override-prefixed
Oct 8, 2026
Merged

diegosouzapw merged 2 commits into
release/v3.8.52from
fix/15563-vision-override-prefixed

Conversation

@diegosouzapw

Copy link
Copy Markdown
Collaborator

Closes #15563

Root cause

Combo steps for custom OpenAI-compatible nodes are serialized (since #14143) as { providerId: "openai-compatible-chat-<uuid>", model: "<nodePrefix>/<bareId>" }, while the Custom Models vision row is keyed by the bare id. stripOwnProviderPrefix (#14642) only stripped prefixes resolving through the static provider-alias registry, so a custom node's own prefix was kept, the override lookup missed, supportsVision was null and the combo returned 400 capability_mismatch.

Fix

stripOwnProviderPrefix now also strips the prefix when it equals (case-insensitive) the step provider's own provider_nodes.prefix (new sync helper src/lib/db/providers/nodePrefix.ts). Verbatim-id and known-registry-model guards are unchanged; other providers' prefixes are not stripped.

Test (RED -> GREEN)

tests/unit/combo-vision-custom-node-alias-prefix-15563.test.ts: bare-id control passes; the two prefixed-form assertions were RED on the unfixed base (null !== true, true !== false, per the triage run on release/v3.8.52), all 4 GREEN now (incl. a negative for a foreign prefix). Related suites (combo-vision-aware-routing, vision-bridge-custom-*, repro-8429, model-capabilities-provider-unsupported-tools) pass.

Gates

check-file-size, check-complexity, check-cognitive-complexity, eslint (with suppressions), typecheck:core, pre-commit hooks.

⚠️ base-red inherited: #15306 — unit/integration/package-artifact gates timing out, vitest open-sse/mcp-server/tests/audit.test.ts, check:ai-attribution range error

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

CI Coverage Report

  • Coverage job: skipped
  • PR test policy: success

Coverage artifact was not available for this run.

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.

fix(providers): vision override ignored when combo uses prefixed model id

1 participant