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; } = [];
}