on main help sign in
feat: add support or gemini 3+ thinking levels
841165eAndrey Nering
internal/agent/coordinator.go+10−3
@@ -317,9 +317,16 @@ func getProviderOptions(model Model, providerCfg config.ProviderConfig) fantasy.
317 case google.Name:
317 case google.Name:
318 _, hasReasoning := mergedOptions["thinking_config"]
318 _, hasReasoning := mergedOptions["thinking_config"]
319 if !hasReasoning {
319 if !hasReasoning {
320+ if strings.HasPrefix(model.CatwalkCfg.ID, "gemini-2") {
320− mergedOptions["thinking_config"] = map[string]any{
321+ mergedOptions["thinking_config"] = map[string]any{
321− "thinking_budget": 2000,
322+ "thinking_budget": 2000,
323+ "include_thoughts": true,
324+ }
325+ } else {
326+ mergedOptions["thinking_config"] = map[string]any{
327+ "thinking_level": model.ModelCfg.ReasoningEffort,
322− "include_thoughts": true,
328+ "include_thoughts": true,
329+ }
323 }
330 }
324 }
331 }
325 parsed, err := google.ParseOptions(mergedOptions)
332 parsed, err := google.ParseOptions(mergedOptions)