* fix(openai): harden Chat-to-Responses compatibility Add a shared Responses-to-Chat stream state machine and use it from the OpenAI relay path. Preserve assistant text alongside tool calls, bind tool argument deltas by output_index, map incomplete finish reasons, support reasoning/custom tool events, and buffer upstream SSE for non-stream Chat clients. Add deterministic service tests and relay SSE tests for the conversion path. Related to #5745. * refactor: rename openaicompat to relayconvert for improved clarity * feat(gemini): support responses request conversion * feat: add responses to chat conversion support * fix: harden responses chat conversion edge cases
15 lines
588 B
Go
15 lines
588 B
Go
package service
|
|
|
|
import (
|
|
"github.com/QuantumNous/new-api/service/relayconvert"
|
|
"github.com/QuantumNous/new-api/setting/model_setting"
|
|
)
|
|
|
|
func ShouldChatCompletionsUseResponsesPolicy(policy model_setting.ChatCompletionsToResponsesPolicy, channelID int, channelType int, model string) bool {
|
|
return relayconvert.ShouldChatCompletionsUseResponsesPolicy(policy, channelID, channelType, model)
|
|
}
|
|
|
|
func ShouldChatCompletionsUseResponsesGlobal(channelID int, channelType int, model string) bool {
|
|
return relayconvert.ShouldChatCompletionsUseResponsesGlobal(channelID, channelType, model)
|
|
}
|