fix(providers): bound native fetch timeouts

This commit is contained in:
Peter Steinberger
2026-04-27 03:33:51 +01:00
parent dc78d58448
commit 348728c28c
5 changed files with 14 additions and 0 deletions

View File

@@ -417,6 +417,9 @@ describe("ollama setup", () => {
expect(fetchMock).toHaveBeenCalledTimes(2);
expect(fetchMock.mock.calls[1][0]).toContain("/api/pull");
const pullInit = fetchMock.mock.calls[1][1];
expect(pullInit?.signal).toBeInstanceOf(AbortSignal);
expect(pullInit?.signal?.aborted).toBe(false);
});
it("skips pull when model is already available", async () => {

View File

@@ -42,6 +42,7 @@ const OLLAMA_SUGGESTED_MODELS_LOCAL = [OLLAMA_DEFAULT_MODEL];
const OLLAMA_SUGGESTED_MODELS_CLOUD = ["kimi-k2.5:cloud", "minimax-m2.7:cloud", "glm-5.1:cloud"];
const OLLAMA_CONTEXT_ENRICH_LIMIT = 200;
const OLLAMA_CLOUD_MAX_DISCOVERED_MODELS = 500;
const OLLAMA_PULL_REQUEST_TIMEOUT_MS = 30_000;
type OllamaSetupOptions = {
customBaseUrl?: string;
@@ -172,6 +173,7 @@ async function pullOllamaModelCore(params: {
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ name: modelName }),
},
timeoutMs: OLLAMA_PULL_REQUEST_TIMEOUT_MS,
policy: buildOllamaBaseUrlSsrFPolicy(baseUrl),
auditContext: "ollama-setup.pull",
});