{"record":{"id":"d65abfc56fb8b2d6","repo":"chenhg5/cc-connect","slug":"s-s-d65abf","errorCode":null,"errorMessage":"[%s] %s","messagePattern":"\\[%s\\] %s","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agent/gemini/session.go","lineNumber":387,"sourceCode":"\t}\n\n\tif output != \"\" {\n\t\tevt := core.Event{Type: core.EventToolResult, ToolName: toolID, Content: truncate(output, 500)}\n\t\tselect {\n\t\tcase gs.events <- evt:\n\t\tcase <-gs.ctx.Done():\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (gs *geminiSession) handleError(raw map[string]any) {\n\tseverity, _ := raw[\"severity\"].(string)\n\tmessage, _ := raw[\"message\"].(string)\n\n\tif message != \"\" {\n\t\tslog.Warn(\"geminiSession: error event\", \"severity\", severity, \"message\", message)\n\t\tevt := core.Event{Type: core.EventError, Error: fmt.Errorf(\"[%s] %s\", severity, message)}\n\t\tselect {\n\t\tcase gs.events <- evt:\n\t\tcase <-gs.ctx.Done():\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (gs *geminiSession) handleResult(raw map[string]any) {\n\tgs.flushPendingAsText()\n\n\tstatus, _ := raw[\"status\"].(string)\n\n\tvar errMsg string\n\tif status == \"error\" {\n\t\terrObj, _ := raw[\"error\"].(map[string]any)\n\t\tif errObj != nil {\n\t\t\terrMsg, _ = errObj[\"message\"].(string)","sourceCodeStart":369,"sourceCodeEnd":405,"githubUrl":"https://github.com/chenhg5/cc-connect/blob/4000b2338aa6e850c99df54f8b0ed6ed7460b401/agent/gemini/session.go#L369-L405","documentation":"Formats a Gemini CLI stream error event into an EventError: the severity field and message text from the JSON 'error' notification are combined as '[severity] message'. It relays agent-side runtime errors (API failures, tool errors) to the user rather than a cc-connect failure.","triggerScenarios":"Thrown at agent/gemini/session.go:387 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the bracketed message — it comes from the Gemini CLI itself","Address the reported cause (quota, auth, network) and resend","If severity is informational, no action may be needed"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4000b2338aa6e850c99df54f8b0ed6ed7460b401","analyzedAt":"2026-09-06T11:45:09.575Z","contentChangedAt":"2026-09-06T11:45:09.575Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}