feat(agent): refresh assistant model catalog
This commit is contained in:
@@ -88,16 +88,28 @@ describe("listLlmModels", () => {
|
||||
assert.equal(result.degraded, true);
|
||||
});
|
||||
|
||||
it("uses an unadvertised fallback alias instead of unrelated provider models", async () => {
|
||||
it("fetches the typed uncensored catalog when uncensored is the fallback route", async () => {
|
||||
const requests: Request[] = [];
|
||||
const result = await listLlmModels({
|
||||
config: { ...openAiConfig, model: "uncensored" },
|
||||
fetchImpl: async () =>
|
||||
Response.json({
|
||||
data: [{ id: "auto" }, { id: "qwen3:8b" }, { id: "qwen3-coder:30b" }],
|
||||
}),
|
||||
fetchImpl: async (input, init) => {
|
||||
requests.push(new Request(input, init));
|
||||
return Response.json({
|
||||
data: [
|
||||
{ id: "uncensored" },
|
||||
{ id: "gemma4-uncensored:26b" },
|
||||
{ id: "dolphin-mistral:latest" },
|
||||
],
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
assert.deepEqual(result.models, [{ id: "uncensored", label: "uncensored" }]);
|
||||
assert.equal(requests[0]?.url, "https://llm.example.test/v1/models?type=uncensored");
|
||||
assert.deepEqual(result.models, [
|
||||
{ id: "dolphin-mistral:latest", label: "dolphin-mistral:latest" },
|
||||
{ id: "gemma4-uncensored:26b", label: "gemma4-uncensored:26b" },
|
||||
{ id: "uncensored", label: "uncensored" },
|
||||
]);
|
||||
assert.equal(result.fallbackModel, "uncensored");
|
||||
assert.equal(result.degraded, false);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user