diff --git a/README.md b/README.md index b8c657f..3839e32 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,13 @@ if (result.GroomingRisk == GroomingRisk.High) { Debug.Log($"Flags: {string.Join(", ", result.Flags)}"); } + +// Per-message breakdown (optional, returned on conversation-aware endpoints) +if (result.MessageAnalysis != null) +{ + foreach (var m in result.MessageAnalysis) + Debug.Log($"Message {m.MessageIndex}: risk={m.RiskScore}, flags={string.Join(", ", m.Flags)}, summary={m.Summary}"); +} ``` ### Unsafe Content Detection diff --git a/Runtime/Models.cs b/Runtime/Models.cs index f1e21cf..c914153 100644 --- a/Runtime/Models.cs +++ b/Runtime/Models.cs @@ -215,6 +215,7 @@ public class GroomingResult public string Rationale; public float RiskScore; public string RecommendedAction; + public List MessageAnalysis; public string Language; public string LanguageStatus; public int? CreditsUsed; @@ -567,6 +568,18 @@ public class AnalyseMultiInput public Dictionary Metadata; } + /// + /// Per-message analysis from conversation-aware detection. + /// + [Serializable] + public class MessageAnalysis + { + public int MessageIndex; + public float RiskScore; + public List Flags; + public string Summary; + } + /// /// A detected category within a detection result. /// @@ -619,6 +632,7 @@ public class DetectionResult public string LanguageStatus; public List Evidence; public AgeCalibration AgeCalibration; + public List MessageAnalysis; public int? CreditsUsed; public double? ProcessingTimeMs; public string ExternalId;