fix: show custom vision models in LLM selector and model list

Expose user-added imageToText custom models as vision-capable chat
models in the default LLM selector and /v1/models, map custom service
kinds to runtime capabilities, and keep typed filtering for
/v1/models/{kind}.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Sutarto Jordan Chrisfivo
2026-06-18 09:13:27 +07:00
committed by decolua
co-authored by Cursor
parent 047fdc8960
commit 5e5e78d3e8
4 changed files with 57 additions and 8 deletions
@@ -0,0 +1,15 @@
import { describe, expect, it } from "vitest";
import { capabilitiesFromServiceKind } from "../../open-sse/providers/capabilities.js";
describe("capabilitiesFromServiceKind", () => {
it("maps imageToText custom models to vision-capable runtime models", () => {
expect(capabilitiesFromServiceKind("imageToText")).toMatchObject({ vision: true });
});
it("maps media output/input custom model kinds to runtime capabilities", () => {
expect(capabilitiesFromServiceKind("image")).toMatchObject({ imageOutput: true });
expect(capabilitiesFromServiceKind("stt")).toMatchObject({ audioInput: true });
expect(capabilitiesFromServiceKind("tts")).toMatchObject({ audioOutput: true });
});
});