{"record":{"id":"cae56c7be474e2cc","repo":"JuliusBrussee/caveman","slug":"tools-w","errorCode":null,"errorMessage":"tools: %w","messagePattern":"tools: %w","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"engine/pixel/transform_gemini.go","lineNumber":256,"sourceCode":"\tif err := json.Unmarshal(body, &raw); err != nil {\n\t\treturn geminiGenerateContent{}, err\n\t}\n\treq := geminiGenerateContent{extra: raw}\n\tif v, ok := raw[\"contents\"]; ok {\n\t\tif err := json.Unmarshal(v, &req.Contents); err != nil {\n\t\t\treturn geminiGenerateContent{}, fmt.Errorf(\"contents: %w\", err)\n\t\t}\n\t}\n\tif v, ok := raw[\"systemInstruction\"]; ok && len(bytes.TrimSpace(v)) > 0 && !bytes.Equal(bytes.TrimSpace(v), []byte(\"null\")) {\n\t\tvar inst geminiInstruction\n\t\tif err := json.Unmarshal(v, &inst); err != nil {\n\t\t\treturn geminiGenerateContent{}, fmt.Errorf(\"systemInstruction: %w\", err)\n\t\t}\n\t\treq.SystemInstruction = &inst\n\t}\n\tif v, ok := raw[\"tools\"]; ok {\n\t\tif err := json.Unmarshal(v, &req.Tools); err != nil {\n\t\t\treturn geminiGenerateContent{}, fmt.Errorf(\"tools: %w\", err)\n\t\t}\n\t}\n\treturn req, nil\n}\n\nfunc geminiGlobalMediaResolution(raw map[string]json.RawMessage) (string, bool) {\n\tvar config json.RawMessage\n\tfor _, key := range []string{\"generationConfig\", \"generation_config\"} {\n\t\tif value, found := raw[key]; found {\n\t\t\tif config != nil {\n\t\t\t\treturn \"\", false\n\t\t\t}\n\t\t\tconfig = value\n\t\t}\n\t}\n\tif config == nil {\n\t\treturn \"default\", true\n\t}","sourceCodeStart":238,"sourceCodeEnd":274,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/engine/pixel/transform_gemini.go#L238-L274","documentation":"Error \"tools: %w\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at engine/pixel/transform_gemini.go:256 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the tools field transform error."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"27d5a3981a347890211bb1bf2439e5c821a63bc9","analyzedAt":"2026-08-15T09:26:11.751Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}