namespace AIStudio.Tools.ERIClient.DataModel;
///
/// Matching context returned by the data source as a result of a retrieval request.
///
/// The name of the source, e.g., a document name, database name,
/// collection name, etc.
/// What are the contents of the source? For example, is it a
/// dictionary, a book chapter, business concept, a paper, etc.
/// The path to the content, e.g., a URL, a file path, a path in a
/// graph database, etc.
/// The type of the content, e.g., text, image, video, audio, speech, etc.
/// The content that matched the user prompt. For text, you
/// return the matched text and, e.g., three words before and after it.
/// The surrounding content of the matched content.
/// For text, you may return, e.g., one sentence or paragraph before and after
/// the matched content.
/// Links to related content, e.g., links to Wikipedia articles,
/// links to sources, etc.
public readonly record struct Context(
string Name,
string Category,
string? Path,
ContentType Type,
string MatchedContent,
string[] SurroundingContent,
string[] Links);