43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
|
|
import { getProvider } from '@/lib/ai/providers';
|
|
|
|
describe('Anthropic provider defaults', () => {
|
|
it('lists the latest Claude 5 models first with current token windows', () => {
|
|
const models = getProvider('anthropic')?.models ?? [];
|
|
|
|
expect(models.slice(0, 3)).toMatchObject([
|
|
{
|
|
id: 'claude-opus-5',
|
|
name: 'Claude Opus 5',
|
|
contextWindow: 1000000,
|
|
outputWindow: 128000,
|
|
},
|
|
{
|
|
id: 'claude-sonnet-5',
|
|
name: 'Claude Sonnet 5',
|
|
contextWindow: 1000000,
|
|
outputWindow: 128000,
|
|
},
|
|
{
|
|
id: 'claude-fable-5',
|
|
name: 'Claude Fable 5',
|
|
contextWindow: 1000000,
|
|
outputWindow: 128000,
|
|
},
|
|
]);
|
|
for (const model of models.slice(0, 3)) {
|
|
expect(model.capabilities).toMatchObject({
|
|
streaming: true,
|
|
tools: true,
|
|
vision: true,
|
|
});
|
|
}
|
|
expect(models[2]?.capabilities?.thinking).toMatchObject({
|
|
toggleable: false,
|
|
budgetAdjustable: false,
|
|
defaultEnabled: true,
|
|
});
|
|
});
|
|
});
|