38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import { afterEach, expect, test } from 'bun:test'
|
|
|
|
import { getMaxOutputTokensForModel } from '../services/api/claude.ts'
|
|
import {
|
|
getContextWindowForModel,
|
|
getModelMaxOutputTokens,
|
|
} from './context.ts'
|
|
|
|
const originalEnv = {
|
|
CLAUDE_CODE_USE_OPENAI: process.env.CLAUDE_CODE_USE_OPENAI,
|
|
CLAUDE_CODE_MAX_OUTPUT_TOKENS: process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS,
|
|
}
|
|
|
|
afterEach(() => {
|
|
process.env.CLAUDE_CODE_USE_OPENAI = originalEnv.CLAUDE_CODE_USE_OPENAI
|
|
process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS =
|
|
originalEnv.CLAUDE_CODE_MAX_OUTPUT_TOKENS
|
|
})
|
|
|
|
test('deepseek-chat uses provider-specific context and output caps', () => {
|
|
process.env.CLAUDE_CODE_USE_OPENAI = '1'
|
|
delete process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS
|
|
|
|
expect(getContextWindowForModel('deepseek-chat')).toBe(128_000)
|
|
expect(getModelMaxOutputTokens('deepseek-chat')).toEqual({
|
|
default: 8_192,
|
|
upperLimit: 8_192,
|
|
})
|
|
expect(getMaxOutputTokensForModel('deepseek-chat')).toBe(8_192)
|
|
})
|
|
|
|
test('deepseek-chat clamps oversized max output overrides to the provider limit', () => {
|
|
process.env.CLAUDE_CODE_USE_OPENAI = '1'
|
|
process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS = '32000'
|
|
|
|
expect(getMaxOutputTokensForModel('deepseek-chat')).toBe(8_192)
|
|
})
|