Spaces:
Sleeping
Sleeping
Download backend/src/lib/inference/resolveProvider.test.ts from bardd/mike-backend: direct link, hf CLI and curl.
- Browser
- Download file 3.27 kB
-
https://huggingface.co/spaces/bardd/mike-backend/resolve/main/backend/src/lib/inference/resolveProvider.test.ts
- Command line
-
hf download hf://spaces/bardd/mike-backend/backend/src/lib/inference/resolveProvider.test.ts
-
curl -L -o resolveProvider.test.ts https://huggingface.co/spaces/bardd/mike-backend/resolve/main/backend/src/lib/inference/resolveProvider.test.ts
3.27 kB
| import assert from "node:assert/strict"; | |
| import test from "node:test"; | |
| import { ProviderModelMismatchError } from "./errors"; | |
| import { | |
| getModelDefaultProvider, | |
| inferenceProviderToLegacy, | |
| normalizeRequestProvider, | |
| resolveInferenceProvider, | |
| validateProviderModelPair, | |
| } from "./resolveProvider"; | |
| import { resetInferenceManifestCache } from "./config"; | |
| test.beforeEach(() => { | |
| resetInferenceManifestCache(); | |
| delete process.env.INFERENCE_MANIFEST_PATH; | |
| }); | |
| test("normalizeRequestProvider maps legacy frontend aliases", () => { | |
| assert.equal(normalizeRequestProvider("openai-api"), "proxy-openai"); | |
| assert.equal(normalizeRequestProvider("openai"), "proxy-openai"); | |
| assert.equal(normalizeRequestProvider("gemini_sdk"), "google-genai"); | |
| assert.equal(normalizeRequestProvider("gemini"), "google-genai"); | |
| }); | |
| test("explicit openai-api beats model registry default", () => { | |
| const provider = resolveInferenceProvider({ | |
| explicitRequestProvider: "openai-api", | |
| model: "gemini-3-flash-agent-high", | |
| featureId: "chat", | |
| }); | |
| assert.equal(provider, "proxy-openai"); | |
| }); | |
| test("feature override applies when explicit provider is absent", () => { | |
| const provider = resolveInferenceProvider({ | |
| model: "gemini-3-flash-agent-high", | |
| featureId: "python-review", | |
| }); | |
| assert.equal(provider, "proxy-openai"); | |
| }); | |
| test("model registry default applies when feature override is absent", () => { | |
| assert.equal( | |
| getModelDefaultProvider("gemini-3.5-flash-high"), | |
| "proxy-openai", | |
| ); | |
| assert.equal( | |
| getModelDefaultProvider("gemini-3-flash-agent-high"), | |
| "proxy-openai", | |
| ); | |
| }); | |
| test("manifest default provider applies for unknown models", () => { | |
| const provider = resolveInferenceProvider({ | |
| model: "unknown-model-id", | |
| }); | |
| assert.equal(provider, "proxy-openai"); | |
| }); | |
| test("explicit provider incompatible with model throws mismatch error", () => { | |
| assert.throws( | |
| () => | |
| resolveInferenceProvider({ | |
| explicitRequestProvider: "gemini_sdk", | |
| model: "gemini-3.5-flash-high", | |
| }), | |
| ProviderModelMismatchError, | |
| ); | |
| }); | |
| test("validateProviderModelPair returns structured mismatch result", () => { | |
| const result = validateProviderModelPair({ | |
| model: "gemini-3.5-flash-high", | |
| inferenceProvider: "gemini_sdk", | |
| featureId: "chat", | |
| }); | |
| assert.deepEqual(result, { ok: false, error: "provider_model_mismatch" }); | |
| }); | |
| test("default frontend chat payload is accepted", () => { | |
| const result = validateProviderModelPair({ | |
| model: "gemini-3.5-flash-high", | |
| inferenceProvider: "openai-api", | |
| featureId: "chat", | |
| }); | |
| assert.equal(result.ok, true); | |
| if (result.ok) { | |
| assert.equal(result.provider, "proxy-openai"); | |
| assert.equal(inferenceProviderToLegacy(result.provider), "openai"); | |
| } | |
| }); | |
| test("unknown explicit provider is rejected", () => { | |
| assert.throws( | |
| () => | |
| resolveInferenceProvider({ | |
| explicitRequestProvider: "anthropic-direct", | |
| model: "gemini-3-flash-agent-high", | |
| }), | |
| ProviderModelMismatchError, | |
| ); | |
| }); | |