mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-08 09:49:19 +00:00
feat(id): brand ProviderID and ModelID (#17110)
This commit is contained in:
@@ -2,12 +2,14 @@ import { describe, expect, test } from "bun:test"
|
||||
import { APICallError } from "ai"
|
||||
import { MessageV2 } from "../../src/session/message-v2"
|
||||
import type { Provider } from "../../src/provider/provider"
|
||||
import { ModelID, ProviderID } from "../../src/provider/schema"
|
||||
import { SessionID, MessageID, PartID } from "../../src/session/schema"
|
||||
|
||||
const sessionID = SessionID.make("session")
|
||||
const providerID = ProviderID.make("test")
|
||||
const model: Provider.Model = {
|
||||
id: "test-model",
|
||||
providerID: "test",
|
||||
id: ModelID.make("test-model"),
|
||||
providerID,
|
||||
api: {
|
||||
id: "test-model",
|
||||
url: "https://example.com",
|
||||
@@ -61,7 +63,7 @@ function userInfo(id: string): MessageV2.User {
|
||||
role: "user",
|
||||
time: { created: 0 },
|
||||
agent: "user",
|
||||
model: { providerID: "test", modelID: "test" },
|
||||
model: { providerID, modelID: ModelID.make("test") },
|
||||
tools: {},
|
||||
mode: "",
|
||||
} as unknown as MessageV2.User
|
||||
@@ -795,7 +797,7 @@ describe("session.message-v2.fromError", () => {
|
||||
code: "context_length_exceeded",
|
||||
},
|
||||
}
|
||||
const result = MessageV2.fromError(input, { providerID: "test" })
|
||||
const result = MessageV2.fromError(input, { providerID })
|
||||
|
||||
expect(result).toStrictEqual({
|
||||
name: "ContextOverflowError",
|
||||
@@ -830,7 +832,7 @@ describe("session.message-v2.fromError", () => {
|
||||
message: item.code === "invalid_prompt" ? item.message : undefined,
|
||||
},
|
||||
}
|
||||
const result = MessageV2.fromError(input, { providerID: "test" })
|
||||
const result = MessageV2.fromError(input, { providerID })
|
||||
|
||||
expect(result).toStrictEqual({
|
||||
name: "APIError",
|
||||
@@ -862,7 +864,7 @@ describe("session.message-v2.fromError", () => {
|
||||
responseHeaders: { "content-type": "application/json" },
|
||||
isRetryable: false,
|
||||
})
|
||||
const result = MessageV2.fromError(error, { providerID: "test" })
|
||||
const result = MessageV2.fromError(error, { providerID })
|
||||
expect(MessageV2.ContextOverflowError.isInstance(result)).toBe(true)
|
||||
})
|
||||
})
|
||||
@@ -877,14 +879,14 @@ describe("session.message-v2.fromError", () => {
|
||||
responseHeaders: { "content-type": "application/json" },
|
||||
isRetryable: false,
|
||||
}),
|
||||
{ providerID: "test" },
|
||||
{ providerID },
|
||||
)
|
||||
expect(MessageV2.ContextOverflowError.isInstance(result)).toBe(false)
|
||||
expect(MessageV2.APIError.isInstance(result)).toBe(true)
|
||||
})
|
||||
|
||||
test("serializes unknown inputs", () => {
|
||||
const result = MessageV2.fromError(123, { providerID: "test" })
|
||||
const result = MessageV2.fromError(123, { providerID })
|
||||
|
||||
expect(result).toStrictEqual({
|
||||
name: "UnknownError",
|
||||
|
||||
Reference in New Issue
Block a user