mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-24 16:32:29 +00:00
54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
buildMistralCatalogModels,
|
|
buildMistralModelDefinition,
|
|
MISTRAL_DEFAULT_CONTEXT_WINDOW,
|
|
MISTRAL_DEFAULT_COST,
|
|
MISTRAL_DEFAULT_MAX_TOKENS,
|
|
MISTRAL_DEFAULT_MODEL_ID,
|
|
} from "./model-definitions.js";
|
|
|
|
describe("mistral model definitions", () => {
|
|
it("uses current Pi pricing for the bundled default model", () => {
|
|
expect(buildMistralModelDefinition()).toMatchObject({
|
|
id: MISTRAL_DEFAULT_MODEL_ID,
|
|
contextWindow: MISTRAL_DEFAULT_CONTEXT_WINDOW,
|
|
maxTokens: MISTRAL_DEFAULT_MAX_TOKENS,
|
|
cost: MISTRAL_DEFAULT_COST,
|
|
});
|
|
|
|
expect(MISTRAL_DEFAULT_COST).toEqual({
|
|
input: 0.5,
|
|
output: 1.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
});
|
|
});
|
|
|
|
it("publishes a curated set of current Mistral catalog models", () => {
|
|
expect(buildMistralCatalogModels()).toEqual(
|
|
expect.arrayContaining([
|
|
expect.objectContaining({
|
|
id: "codestral-latest",
|
|
input: ["text"],
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
}),
|
|
expect.objectContaining({
|
|
id: "magistral-small",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
contextWindow: 128000,
|
|
maxTokens: 128000,
|
|
}),
|
|
expect.objectContaining({
|
|
id: "pixtral-large-latest",
|
|
input: ["text", "image"],
|
|
contextWindow: 128000,
|
|
maxTokens: 128000,
|
|
}),
|
|
]),
|
|
);
|
|
});
|
|
});
|