mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
fix: honor session model for provider runtime
This commit is contained in:
parent
2961a49fc3
commit
869aeb0e77
@ -165,6 +165,32 @@ describe('ConversationService', () => {
|
||||
expect(env.CLAUDE_CODE_ENTRYPOINT).toBeUndefined()
|
||||
})
|
||||
|
||||
test('buildChildEnv uses the session-selected model for session-scoped providers', async () => {
|
||||
const providerService = new ProviderService()
|
||||
const provider = await providerService.addProvider({
|
||||
presetId: 'custom',
|
||||
name: 'Switchable',
|
||||
apiKey: 'provider-key',
|
||||
baseUrl: 'https://api.switchable.example',
|
||||
apiFormat: 'openai_chat',
|
||||
models: {
|
||||
main: 'old-provider-main',
|
||||
haiku: 'new-provider-haiku',
|
||||
sonnet: 'new-provider-sonnet',
|
||||
opus: 'new-provider-opus',
|
||||
},
|
||||
})
|
||||
|
||||
const service = new ConversationService() as any
|
||||
const env = (await service.buildChildEnv('/tmp', undefined, {
|
||||
providerId: provider.id,
|
||||
model: 'new-provider-sonnet',
|
||||
})) as Record<string, string>
|
||||
|
||||
expect(env.ANTHROPIC_BASE_URL).toBe(`http://127.0.0.1:3456/proxy/providers/${provider.id}`)
|
||||
expect(env.ANTHROPIC_MODEL).toBe('new-provider-sonnet')
|
||||
})
|
||||
|
||||
test('buildChildEnv can force official auth even when a custom default provider exists', async () => {
|
||||
const ccHahaDir = path.join(tmpDir, 'cc-haha')
|
||||
await fs.mkdir(ccHahaDir, { recursive: true })
|
||||
|
||||
@ -556,6 +556,9 @@ export class ConversationService {
|
||||
typeof options?.providerId === 'string'
|
||||
? await this.providerService.getProviderRuntimeEnv(options.providerId)
|
||||
: null
|
||||
if (explicitProviderEnv && options?.model?.trim()) {
|
||||
explicitProviderEnv.ANTHROPIC_MODEL = options.model.trim()
|
||||
}
|
||||
|
||||
return {
|
||||
...cleanEnv,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user