mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-05 08:33:10 +00:00
feat(id): brand ProviderID and ModelID (#17110)
This commit is contained in:
@@ -302,8 +302,8 @@ test("getModel returns model for valid provider/model", async () => {
|
||||
fn: async () => {
|
||||
const model = await Provider.getModel("anthropic", "claude-sonnet-4-20250514")
|
||||
expect(model).toBeDefined()
|
||||
expect(model.providerID).toBe("anthropic")
|
||||
expect(model.id).toBe("claude-sonnet-4-20250514")
|
||||
expect(String(model.providerID)).toBe("anthropic")
|
||||
expect(String(model.id)).toBe("claude-sonnet-4-20250514")
|
||||
const language = await Provider.getLanguage(model)
|
||||
expect(language).toBeDefined()
|
||||
},
|
||||
@@ -353,14 +353,14 @@ test("getModel throws ModelNotFoundError for invalid provider", async () => {
|
||||
|
||||
test("parseModel correctly parses provider/model string", () => {
|
||||
const result = Provider.parseModel("anthropic/claude-sonnet-4")
|
||||
expect(result.providerID).toBe("anthropic")
|
||||
expect(result.modelID).toBe("claude-sonnet-4")
|
||||
expect(String(result.providerID)).toBe("anthropic")
|
||||
expect(String(result.modelID)).toBe("claude-sonnet-4")
|
||||
})
|
||||
|
||||
test("parseModel handles model IDs with slashes", () => {
|
||||
const result = Provider.parseModel("openrouter/anthropic/claude-3-opus")
|
||||
expect(result.providerID).toBe("openrouter")
|
||||
expect(result.modelID).toBe("anthropic/claude-3-opus")
|
||||
expect(String(result.providerID)).toBe("openrouter")
|
||||
expect(String(result.modelID)).toBe("anthropic/claude-3-opus")
|
||||
})
|
||||
|
||||
test("defaultModel returns first available model when no config set", async () => {
|
||||
@@ -406,8 +406,8 @@ test("defaultModel respects config model setting", async () => {
|
||||
},
|
||||
fn: async () => {
|
||||
const model = await Provider.defaultModel()
|
||||
expect(model.providerID).toBe("anthropic")
|
||||
expect(model.modelID).toBe("claude-sonnet-4-20250514")
|
||||
expect(String(model.providerID)).toBe("anthropic")
|
||||
expect(String(model.modelID)).toBe("claude-sonnet-4-20250514")
|
||||
},
|
||||
})
|
||||
})
|
||||
@@ -632,7 +632,7 @@ test("getModel uses realIdByKey for aliased models", async () => {
|
||||
|
||||
const model = await Provider.getModel("anthropic", "my-sonnet")
|
||||
expect(model).toBeDefined()
|
||||
expect(model.id).toBe("my-sonnet")
|
||||
expect(String(model.id)).toBe("my-sonnet")
|
||||
expect(model.name).toBe("My Sonnet Alias")
|
||||
},
|
||||
})
|
||||
@@ -960,8 +960,8 @@ test("getSmallModel respects config small_model override", async () => {
|
||||
fn: async () => {
|
||||
const model = await Provider.getSmallModel("anthropic")
|
||||
expect(model).toBeDefined()
|
||||
expect(model?.providerID).toBe("anthropic")
|
||||
expect(model?.id).toBe("claude-sonnet-4-20250514")
|
||||
expect(String(model?.providerID)).toBe("anthropic")
|
||||
expect(String(model?.id)).toBe("claude-sonnet-4-20250514")
|
||||
},
|
||||
})
|
||||
})
|
||||
@@ -1605,7 +1605,7 @@ test("getProvider returns provider info", async () => {
|
||||
fn: async () => {
|
||||
const provider = await Provider.getProvider("anthropic")
|
||||
expect(provider).toBeDefined()
|
||||
expect(provider?.id).toBe("anthropic")
|
||||
expect(String(provider?.id)).toBe("anthropic")
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { describe, expect, test } from "bun:test"
|
||||
import { ProviderTransform } from "../../src/provider/transform"
|
||||
import { ModelID, ProviderID } from "../../src/provider/schema"
|
||||
|
||||
const OUTPUT_TOKEN_MAX = 32000
|
||||
|
||||
@@ -740,8 +741,8 @@ describe("ProviderTransform.message - DeepSeek reasoning content", () => {
|
||||
const result = ProviderTransform.message(
|
||||
msgs,
|
||||
{
|
||||
id: "deepseek/deepseek-chat",
|
||||
providerID: "deepseek",
|
||||
id: ModelID.make("deepseek/deepseek-chat"),
|
||||
providerID: ProviderID.make("deepseek"),
|
||||
api: {
|
||||
id: "deepseek-chat",
|
||||
url: "https://api.deepseek.com",
|
||||
@@ -802,8 +803,8 @@ describe("ProviderTransform.message - DeepSeek reasoning content", () => {
|
||||
const result = ProviderTransform.message(
|
||||
msgs,
|
||||
{
|
||||
id: "openai/gpt-4",
|
||||
providerID: "openai",
|
||||
id: ModelID.make("openai/gpt-4"),
|
||||
providerID: ProviderID.make("openai"),
|
||||
api: {
|
||||
id: "gpt-4",
|
||||
url: "https://api.openai.com",
|
||||
|
||||
Reference in New Issue
Block a user