csharp-sdk/src/ModelContextProtocol/ProgressNotificationValue.cs
Rob Chambers 77871c5aac
AI seeded comments from robch and then edited by stephentoub (#238)
* AI generated `///` comment updates

* Fix compilation issues

* Fix incorrect XML comment structure

* Update all Client comments

* Update all Configuration comments

* Update all Messages comments

* Update all Transport comments

* Update all Types comments

* Update all Server comments

* Undo some commenting

---------

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2025-04-10 01:30:44 -04:00

26 lines
1.2 KiB
C#

namespace ModelContextProtocol;
/// <summary>Provides a progress value that can be sent using <see cref="IProgress{ProgressNotificationValue}"/>.</summary>
public record struct ProgressNotificationValue
{
/// <summary>
/// Gets or sets the progress thus far.
/// </summary>
/// <remarks>
/// <para>
/// This value typically represents either a percentage (0-100) or the number of items processed so far (when used with the <see cref="Total"/> property).
/// </para>
/// <para>
/// When reporting progress, this value should increase monotonically as the operation proceeds.
/// Values are typically between 0 and 100 when representing percentages, or can be any positive number
/// when representing completed items in combination with the <see cref="Total"/> property.
/// </para>
/// </remarks>
public required float Progress { get; init; }
/// <summary>Gets or sets the total number of items to process (or total progress required), if known.</summary>
public float? Total { get; init; }
/// <summary>Gets or sets an optional message describing the current progress.</summary>
public string? Message { get; init; }
}