// Copyright (c) Microsoft. All rights reserved.
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Text.Json.Serialization;
using Microsoft.Shared.DiagnosticIds;
namespace Microsoft.Agents.AI;
///
/// Represents a result from searching files, containing the file name, a content snippet, and matching lines.
///
[Experimental(DiagnosticIds.Experiments.AgentsAIExperiments)]
public sealed class FileSearchResult
{
///
/// Gets or sets the name of the file that matched the search.
///
[JsonPropertyName("fileName")]
public string FileName { get; set; } = string.Empty;
///
/// Gets or sets a snippet of content from the file around the first match.
///
[JsonPropertyName("snippet")]
public string Snippet { get; set; } = string.Empty;
///
/// Gets or sets the lines where matches were found.
///
[JsonPropertyName("matchingLines")]
public List MatchingLines { get; set; } = [];
}