feat: initial release v0.3.0
This commit is contained in:
41
tests/unit/llm/reasoning-capability.test.ts
Normal file
41
tests/unit/llm/reasoning-capability.test.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import {
|
||||
isLikelyOpenAIReasoningModel,
|
||||
shouldUseOpenAIReasoningProviderOptions,
|
||||
} from '@/lib/llm/reasoning-capability'
|
||||
|
||||
describe('llm/reasoning-capability', () => {
|
||||
it('identifies likely OpenAI reasoning model ids', () => {
|
||||
expect(isLikelyOpenAIReasoningModel('o3-mini')).toBe(true)
|
||||
expect(isLikelyOpenAIReasoningModel('gpt-5.2')).toBe(true)
|
||||
expect(isLikelyOpenAIReasoningModel('claude-sonnet-4-6')).toBe(false)
|
||||
})
|
||||
|
||||
it('enables reasoning provider options for native openai provider', () => {
|
||||
expect(shouldUseOpenAIReasoningProviderOptions({
|
||||
providerKey: 'openai',
|
||||
modelId: 'gpt-5.2',
|
||||
})).toBe(true)
|
||||
})
|
||||
|
||||
it('enables reasoning provider options for openai-compatible only when apiMode is openai-official', () => {
|
||||
expect(shouldUseOpenAIReasoningProviderOptions({
|
||||
providerKey: 'openai-compatible',
|
||||
providerApiMode: 'openai-official',
|
||||
modelId: 'gpt-5.2',
|
||||
})).toBe(true)
|
||||
|
||||
expect(shouldUseOpenAIReasoningProviderOptions({
|
||||
providerKey: 'openai-compatible',
|
||||
modelId: 'gpt-5.2',
|
||||
})).toBe(false)
|
||||
})
|
||||
|
||||
it('disables reasoning provider options for non-openai models even on openai-compatible gateways', () => {
|
||||
expect(shouldUseOpenAIReasoningProviderOptions({
|
||||
providerKey: 'openai-compatible',
|
||||
providerApiMode: 'openai-official',
|
||||
modelId: 'claude-sonnet-4-6',
|
||||
})).toBe(false)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user