using Mscc.GenerativeAI; namespace AiAgent.Core.Models; public static class ArticleWithReferencesSchema { public static Schema Value => new() { Type = ParameterType.Object, Properties = new Dictionary { { "Today's Date", new Schema { Type = ParameterType.String, Description = "The current date and time of query execution, formatted as: Sunday, October 19, 2025 at 22:34." } }, { "Title", new Schema { Type = ParameterType.String, Description = "A catchy, colon-separated two-part journalistic title for the article." } }, { "Summary", new Schema { Type = ParameterType.String, Description = "A concise, non-self-referential Summary summarising the article." } }, { "Sections", new Schema { Type = ParameterType.Array, Description = "An array of article sections, each containing a one-part heading and its content with citations.", Items = new Schema { Type = ParameterType.Object, Properties = new Dictionary { { "Heading", new Schema { Type = ParameterType.String, Description = "A single-part section heading." } }, { "Content", new Schema { Type = ParameterType.String, Description = "The full text content of the section, including granular in-text citations." } } }, Required = ["Heading", "Content"] } } }, { "Conclusion", new Schema { Type = ParameterType.String, Description = "The full text of the concluding section, with granular in-text citations." } }, { "References", new Schema { Type = ParameterType.Array, Description = "A list of source references with supporting information.", Items = new Schema { Type = ParameterType.Object, Properties = new Dictionary { { "Reference Number", new Schema { Type = ParameterType.Integer, Description = "A sequential reference number." } }, { "Reference Text", new Schema { Type = ParameterType.String, Description = "The title or description of the source article or document." } }, { "Reference URL", new Schema { Type = ParameterType.String, Description = "The full, working URL of the source." } }, { "Reference Justification", new Schema { Type = ParameterType.String, Description = "A short explanation of why this source was used and what facts it supports." } } }, Required = [ "Reference Number", "Reference Text", "Reference URL", "Reference Justification" ] } } } }, Required = ["Today's Date", "Title", "Summary", "Sections", "Conclusion", "References"] }; }