UNPKG

modelmix

Version:

🧬 Reliable interface with automatic fallback for AI LLMs.

66 lines (53 loc) • 2.36 kB
const { expect } = require('chai'); const { ModelMix, MixAnthropic } = require('../index.js'); describe('Anthropic Model Registration Tests', () => { it('should register Claude Fable 5', () => { const model = ModelMix.new(); model.fable5(); expect(model.models).to.have.length(1); expect(model.models[0].key).to.equal('claude-fable-5'); expect(model.models[0].provider).to.be.instanceOf(MixAnthropic); }); it('should register Claude Fable 5 with max effort thinking', () => { const model = ModelMix.new(); model.fable5think(); expect(model.models).to.have.length(1); expect(model.models[0].key).to.equal('claude-fable-5'); expect(model.models[0].provider.options.output_config).to.deep.equal({ effort: 'max' }); expect(model.models[0].provider.options.thinking).to.deep.equal({ display: 'summarized' }); }); it('should register Claude Opus 4.8', () => { const model = ModelMix.new(); model.opus48(); expect(model.models).to.have.length(1); expect(model.models[0].key).to.equal('claude-opus-4-8'); expect(model.models[0].provider).to.be.instanceOf(MixAnthropic); }); it('should register Claude Opus 4.8 with thinking enabled', () => { const model = ModelMix.new(); model.opus48think(); expect(model.models).to.have.length(1); expect(model.models[0].key).to.equal('claude-opus-4-8'); expect(model.models[0].provider.options.thinking).to.deep.equal({ type: 'enabled', budget_tokens: 1638 }); }); it('should register Claude Sonnet 5', () => { const model = ModelMix.new(); model.sonnet5(); expect(model.models).to.have.length(1); expect(model.models[0].key).to.equal('claude-sonnet-5'); expect(model.models[0].provider).to.be.instanceOf(MixAnthropic); }); it('should register Claude Sonnet 5 with thinking enabled', () => { const model = ModelMix.new(); model.sonnet5think(); expect(model.models).to.have.length(1); expect(model.models[0].key).to.equal('claude-sonnet-5'); expect(model.models[0].provider.options.thinking).to.deep.equal({ type: 'enabled', budget_tokens: 1638 }); }); });