86fbc5fc15
# Conflicts: # docs/config-catalog.md # docs/user/guide/providers.i18n.yaml # packages/llm/llm-pi-ai/README.i18n.yaml # packages/llm/llm-pi-ai/README.md # packages/llm/llm-pi-ai/README.zh.md # packages/llm/llm-pi-ai/tests/config.spec.ts
33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { Config } from '../src/config.ts'
|
|
|
|
describe('reasoning schema boundary', () => {
|
|
const configWith = (model: Record<string, unknown>): (() => unknown) =>
|
|
() => Config({
|
|
providers: {
|
|
'acme-gateway': {
|
|
api: 'openai-completions',
|
|
baseURL: 'https://acme.test',
|
|
models: [{ id: 'm', ...model }],
|
|
},
|
|
},
|
|
})
|
|
|
|
it('rejects a level pi-ai does not know at the write that produced it', () => {
|
|
expect(configWith({ reasoningEfforts: { ultra: 'x' } })).toThrow(/"off"/)
|
|
expect(configWith({ reasoningEfforts: { high: 42 } })).toThrow()
|
|
})
|
|
|
|
it('keeps false distinguishable from an absent declaration', () => {
|
|
type Materialized = { providers: Record<string, { models?: { reasoningEfforts?: unknown }[] }> }
|
|
const withFalse = configWith({ reasoningEfforts: false })() as Materialized
|
|
expect(withFalse.providers['acme-gateway']?.models?.[0]?.reasoningEfforts).toBe(false)
|
|
const absent = configWith({})() as Materialized
|
|
expect(absent.providers['acme-gateway']?.models?.[0]?.reasoningEfforts).toBeUndefined()
|
|
})
|
|
|
|
it('rejects a thinking format outside the offered set', () => {
|
|
expect(configWith({ compat: { thinkingFormat: 'quantum' } })).toThrow(/expected/)
|
|
})
|
|
})
|