using AIStudio.Tools.ToolCallingSystem; namespace AIStudio.Chat; /// /// One part of the system prompt, as it stands in the text sent to the provider. /// /// /// Recorded by ChatThread.BuildSystemPrompt while it assembles the text, so that whoever shows the /// prompt learns where each paragraph came from from the one place which decided it, instead of /// working it out again. /// /// Where the part comes from. /// The text of the part, exactly as it stands in the system prompt. public sealed record SystemPromptPart(SystemPromptPartKind Kind, string Text) { /// /// The name of the chat template or the profile the part comes from; empty for every other part. /// public string SourceName { get; init; } = string.Empty; /// /// The tools whose usage policy the part states; empty for every other part. /// public IReadOnlyList Tools { get; init; } = []; }