diff --git a/internal/agent/coordinator.go b/internal/agent/coordinator.go index 943c3efc41b33ea9f261b4ffc7256b6f544beff9..6cf28f4569c7a76d3527dd007d9096977753ad56 100644 --- a/internal/agent/coordinator.go +++ b/internal/agent/coordinator.go @@ -297,9 +297,20 @@ func getProviderOptions(model Model, providerCfg config.ProviderConfig) fantasy. if !hasReasoningEffort && model.ModelCfg.ReasoningEffort != "" { mergedOptions["reasoning_effort"] = model.ModelCfg.ReasoningEffort } - parsed, err := openaicompat.ParseOptions(mergedOptions) - if err == nil { - options[openaicompat.Name] = parsed + if providerCfg.ID == string(catwalk.InferenceProviderCopilot) && openai.IsResponsesModel(model.CatwalkCfg.ID) { + if openai.IsResponsesReasoningModel(model.CatwalkCfg.ID) { + mergedOptions["reasoning_summary"] = "auto" + mergedOptions["include"] = []openai.IncludeType{openai.IncludeReasoningEncryptedContent} + } + parsed, err := openai.ParseResponsesOptions(mergedOptions) + if err == nil { + options[openaicompat.Name] = parsed + } + } else { + parsed, err := openaicompat.ParseOptions(mergedOptions) + if err == nil { + options[openaicompat.Name] = parsed + } } }