<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Extensions.AI.OpenAI</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Shared.Diagnostics.Throw">
            <summary>
            Defines static methods used to throw exceptions.
            </summary>
            <remarks>
            The main purpose is to reduce code size, improve performance, and standardize exception
            messages.
            </remarks>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfNull``1(``0,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentNullException"/> if the specified argument is <see langword="null"/>.
            </summary>
            <typeparam name="T">Argument type to be checked for <see langword="null"/>.</typeparam>
            <param name="argument">Object to be checked for <see langword="null"/>.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfNullOrMemberNull``2(``0,``1,System.String,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentNullException"/> if the specified argument is <see langword="null"/>,
            or <see cref="T:System.ArgumentException" /> if the specified member is <see langword="null"/>.
            </summary>
            <typeparam name="TParameter">Argument type to be checked for <see langword="null"/>.</typeparam>
            <typeparam name="TMember">Member type to be checked for <see langword="null"/>.</typeparam>
            <param name="argument">Argument to be checked for <see langword="null"/>.</param>
            <param name="member">Object member to be checked for <see langword="null"/>.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <param name="memberName">The name of the member.</param>
            <returns>The original value of <paramref name="member"/>.</returns>
            <example>
            <code language="csharp">
            Throws.IfNullOrMemberNull(myObject, myObject?.MyProperty)
            </code>
            </example>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfMemberNull``2(``0,``1,System.String,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentException" /> if the specified member is <see langword="null"/>.
            </summary>
            <typeparam name="TParameter">Argument type.</typeparam>
            <typeparam name="TMember">Member type to be checked for <see langword="null"/>.</typeparam>
            <param name="argument">Argument to which member belongs.</param>
            <param name="member">Object member to be checked for <see langword="null"/>.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <param name="memberName">The name of the member.</param>
            <returns>The original value of <paramref name="member"/>.</returns>
            <example>
            <code language="csharp">
            Throws.IfMemberNull(myObject, myObject.MyProperty)
            </code>
            </example>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfNullOrWhitespace(System.String,System.String)">
            <summary>
            Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
            if the specified string is <see langword="null"/> or whitespace respectively.
            </summary>
            <param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfNullOrEmpty(System.String,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentNullException"/> if the string is <see langword="null"/>,
            or <see cref="T:System.ArgumentException"/> if it is empty.
            </summary>
            <param name="argument">String to be checked for <see langword="null"/> or empty.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfBufferTooSmall(System.Int32,System.Int32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentException"/> if the argument's buffer size is less than the required buffer size.
            </summary>
            <param name="bufferSize">The actual buffer size.</param>
            <param name="requiredSize">The required buffer size.</param>
            <param name="paramName">The name of the parameter to be checked.</param>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfOutOfRange``1(``0,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the enum value is not valid.
            </summary>
            <param name="argument">The argument to evaluate.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <typeparam name="T">The type of the enumeration.</typeparam>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfNullOrEmpty``1(System.Collections.Generic.IEnumerable{``0},System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentNullException"/> if the collection is <see langword="null"/>,
            or <see cref="T:System.ArgumentException"/> if it is empty.
            </summary>
            <param name="argument">The collection to evaluate.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <typeparam name="T">The type of objects in the collection.</typeparam>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.ArgumentNullException(System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentNullException"/>.
            </summary>
            <param name="paramName">The name of the parameter that caused the exception.</param>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.ArgumentNullException(System.String,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentNullException"/>.
            </summary>
            <param name="paramName">The name of the parameter that caused the exception.</param>
            <param name="message">A message that describes the error.</param>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.ArgumentOutOfRangeException(System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/>.
            </summary>
            <param name="paramName">The name of the parameter that caused the exception.</param>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.ArgumentOutOfRangeException(System.String,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/>.
            </summary>
            <param name="paramName">The name of the parameter that caused the exception.</param>
            <param name="message">A message that describes the error.</param>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.ArgumentOutOfRangeException(System.String,System.Object,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/>.
            </summary>
            <param name="paramName">The name of the parameter that caused the exception.</param>
            <param name="actualValue">The value of the argument that caused this exception.</param>
            <param name="message">A message that describes the error.</param>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.ArgumentException(System.String,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentException"/>.
            </summary>
            <param name="paramName">The name of the parameter that caused the exception.</param>
            <param name="message">A message that describes the error.</param>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.ArgumentException(System.String,System.String,System.Exception)">
            <summary>
            Throws an <see cref="T:System.ArgumentException"/>.
            </summary>
            <param name="paramName">The name of the parameter that caused the exception.</param>
            <param name="message">A message that describes the error.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
            <remarks>
            If the <paramref name="innerException"/> is not a <see langword="null"/>, the current exception is raised in a catch
            block that handles the inner exception.
            </remarks>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.InvalidOperationException(System.String)">
            <summary>
            Throws an <see cref="T:System.InvalidOperationException"/>.
            </summary>
            <param name="message">A message that describes the error.</param>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.InvalidOperationException(System.String,System.Exception)">
            <summary>
            Throws an <see cref="T:System.InvalidOperationException"/>.
            </summary>
            <param name="message">A message that describes the error.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThan(System.Int32,System.Int32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/>  if the specified number is less than min.
            </summary>
            <param name="argument">Number to be expected being less than min.</param>
            <param name="min">The number that must be less than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThan(System.Int32,System.Int32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater than max.
            </summary>
            <param name="argument">Number to be expected being greater than max.</param>
            <param name="max">The number that must be greater than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThanOrEqual(System.Int32,System.Int32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is less or equal than min.
            </summary>
            <param name="argument">Number to be expected being less or equal than min.</param>
            <param name="min">The number that must be less or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThanOrEqual(System.Int32,System.Int32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater or equal than max.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="max">The number that must be greater or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfOutOfRange(System.Int32,System.Int32,System.Int32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is not in the specified range.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="min">The lower bound of the allowed range of argument values.</param>
            <param name="max">The upper bound of the allowed range of argument values.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfZero(System.Int32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is equal to 0.
            </summary>
            <param name="argument">Number to be expected being not equal to zero.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThan(System.UInt32,System.UInt32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/>  if the specified number is less than min.
            </summary>
            <param name="argument">Number to be expected being less than min.</param>
            <param name="min">The number that must be less than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThan(System.UInt32,System.UInt32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater than max.
            </summary>
            <param name="argument">Number to be expected being greater than max.</param>
            <param name="max">The number that must be greater than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThanOrEqual(System.UInt32,System.UInt32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is less or equal than min.
            </summary>
            <param name="argument">Number to be expected being less or equal than min.</param>
            <param name="min">The number that must be less or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThanOrEqual(System.UInt32,System.UInt32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater or equal than max.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="max">The number that must be greater or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfOutOfRange(System.UInt32,System.UInt32,System.UInt32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is not in the specified range.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="min">The lower bound of the allowed range of argument values.</param>
            <param name="max">The upper bound of the allowed range of argument values.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfZero(System.UInt32,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is equal to 0.
            </summary>
            <param name="argument">Number to be expected being not equal to zero.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThan(System.Int64,System.Int64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/>  if the specified number is less than min.
            </summary>
            <param name="argument">Number to be expected being less than min.</param>
            <param name="min">The number that must be less than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThan(System.Int64,System.Int64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater than max.
            </summary>
            <param name="argument">Number to be expected being greater than max.</param>
            <param name="max">The number that must be greater than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThanOrEqual(System.Int64,System.Int64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is less or equal than min.
            </summary>
            <param name="argument">Number to be expected being less or equal than min.</param>
            <param name="min">The number that must be less or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThanOrEqual(System.Int64,System.Int64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater or equal than max.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="max">The number that must be greater or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfOutOfRange(System.Int64,System.Int64,System.Int64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is not in the specified range.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="min">The lower bound of the allowed range of argument values.</param>
            <param name="max">The upper bound of the allowed range of argument values.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfZero(System.Int64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is equal to 0.
            </summary>
            <param name="argument">Number to be expected being not equal to zero.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThan(System.UInt64,System.UInt64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/>  if the specified number is less than min.
            </summary>
            <param name="argument">Number to be expected being less than min.</param>
            <param name="min">The number that must be less than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThan(System.UInt64,System.UInt64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater than max.
            </summary>
            <param name="argument">Number to be expected being greater than max.</param>
            <param name="max">The number that must be greater than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThanOrEqual(System.UInt64,System.UInt64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is less or equal than min.
            </summary>
            <param name="argument">Number to be expected being less or equal than min.</param>
            <param name="min">The number that must be less or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThanOrEqual(System.UInt64,System.UInt64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater or equal than max.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="max">The number that must be greater or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfOutOfRange(System.UInt64,System.UInt64,System.UInt64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is not in the specified range.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="min">The lower bound of the allowed range of argument values.</param>
            <param name="max">The upper bound of the allowed range of argument values.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfZero(System.UInt64,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is equal to 0.
            </summary>
            <param name="argument">Number to be expected being not equal to zero.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThan(System.Double,System.Double,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is less than min.
            </summary>
            <param name="argument">Number to be expected being less than min.</param>
            <param name="min">The number that must be less than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThan(System.Double,System.Double,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater than max.
            </summary>
            <param name="argument">Number to be expected being greater than max.</param>
            <param name="max">The number that must be greater than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfLessThanOrEqual(System.Double,System.Double,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is less or equal than min.
            </summary>
            <param name="argument">Number to be expected being less or equal than min.</param>
            <param name="min">The number that must be less or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfGreaterThanOrEqual(System.Double,System.Double,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is greater or equal than max.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="max">The number that must be greater or equal than the argument.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfOutOfRange(System.Double,System.Double,System.Double,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is not in the specified range.
            </summary>
            <param name="argument">Number to be expected being greater or equal than max.</param>
            <param name="min">The lower bound of the allowed range of argument values.</param>
            <param name="max">The upper bound of the allowed range of argument values.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="M:Microsoft.Shared.Diagnostics.Throw.IfZero(System.Double,System.String)">
            <summary>
            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> if the specified number is equal to 0.
            </summary>
            <param name="argument">Number to be expected being not equal to zero.</param>
            <param name="paramName">The name of the parameter being checked.</param>
            <returns>The original value of <paramref name="argument"/>.</returns>
        </member>
        <member name="T:Microsoft.Shared.Collections.Empty">
            <summary>
            Defines static methods used to optimize the use of empty collections.
            </summary>
        </member>
        <member name="M:Microsoft.Shared.Collections.Empty.ReadOnlyCollection``1">
            <summary>
            Returns an optimized empty collection.
            </summary>
            <typeparam name="T">The type of the collection.</typeparam>
            <returns>Returns an efficient static instance of an empty collection.</returns>
        </member>
        <member name="M:Microsoft.Shared.Collections.Empty.Enumerable``1">
            <summary>
            Returns an optimized empty collection.
            </summary>
            <typeparam name="T">The type of the collection.</typeparam>
            <returns>Returns an efficient static instance of an empty collection.</returns>
        </member>
        <member name="M:Microsoft.Shared.Collections.Empty.ReadOnlyList``1">
            <summary>
            Returns an optimized empty collection.
            </summary>
            <typeparam name="T">The type of the collection.</typeparam>
            <returns>Returns an efficient static instance of an empty list.</returns>
        </member>
        <member name="M:Microsoft.Shared.Collections.Empty.ReadOnlyDictionary``2">
            <summary>
            Returns an optimized empty dictionary.
            </summary>
            <typeparam name="TKey">The key type of the dictionary.</typeparam>
            <typeparam name="TValue">The value type of the dictionary.</typeparam>
            <returns>Returns an efficient static instance of an empty dictionary.</returns>
        </member>
        <member name="T:Microsoft.Shared.Collections.EmptyCollectionExtensions">
            <summary>
            Defines static methods used to optimize the use of empty collections.
            </summary>
        </member>
        <member name="M:Microsoft.Shared.Collections.EmptyCollectionExtensions.EmptyIfNull``1(System.Collections.Generic.IReadOnlyCollection{``0})">
            <summary>
            Returns an optimized empty collection if the input is <see langword="null"/> or empty, otherwise returns the input.
            </summary>
            <typeparam name="T">The type of the collection.</typeparam>
            <param name="collection">The collection to check for <see langword="null"/> or empty.</param>
            <returns>Returns a static instance of an empty type if the input collection is <see langword="null"/> or empty, otherwise the collection.</returns>
            <remarks>
            Substituting a static collection whenever an empty collection is needed helps in two ways. First,
            it allows the original empty collection to be garbage collected, freeing memory. Second, the
            empty collection that is returned is optimized to not allocated memory whenever the collection is
            enumerated.
            </remarks>
        </member>
        <member name="M:Microsoft.Shared.Collections.EmptyCollectionExtensions.EmptyIfNull``1(System.Collections.Generic.ICollection{``0})">
            <summary>
            Returns an optimized empty collection if the input is <see langword="null"/> or empty, otherwise returns the input.
            </summary>
            <typeparam name="T">The type of the collection.</typeparam>
            <param name="collection">The collection to check for <see langword="null"/> or empty.</param>
            <returns>Returns a static instance of an empty type if the input collection is <see langword="null"/> or empty, otherwise the collection.</returns>
            <remarks>
            Substituting a static collection whenever an empty collection is needed helps in two ways. First,
            it allows the original empty collection to be garbage collected, freeing memory. Second, the
            empty collection that is returned is optimized to not allocated memory whenever the collection is
            enumerated.
            </remarks>
        </member>
        <member name="M:Microsoft.Shared.Collections.EmptyCollectionExtensions.EmptyIfNull``1(System.Collections.Generic.IReadOnlyList{``0})">
            <summary>
            Returns an optimized empty collection if the input is <see langword="null"/> or empty, otherwise returns the input.
            </summary>
            <typeparam name="T">The type of the collection.</typeparam>
            <param name="list">The collection to check for <see langword="null"/> or empty.</param>
            <returns>Returns a static instance of an empty type if the input collection is <see langword="null"/> or empty, otherwise the collection.</returns>
            <remarks>
            Substituting a static collection whenever an empty collection is needed helps in two ways. First,
            it allows the original empty collection to be garbage collected, freeing memory. Second, the
            empty collection that is returned is optimized to not allocated memory whenever the collection is
            enumerated.
            </remarks>
        </member>
        <member name="M:Microsoft.Shared.Collections.EmptyCollectionExtensions.EmptyIfNull``1(System.Collections.Generic.IList{``0})">
            <summary>
            Returns an optimized empty list if the input is <see langword="null"/> or empty, otherwise returns the input.
            </summary>
            <typeparam name="T">The type of the collection.</typeparam>
            <param name="list">The list to check for <see langword="null"/> or empty.</param>
            <returns>Returns a static instance of an empty type if the input collection is <see langword="null"/> or empty, otherwise the collection.</returns>
            <remarks>
            Substituting a static list whenever an empty collection is needed helps in two ways. First,
            it allows the original empty collection to be garbage collected, freeing memory. Second, the
            empty collection that is returned is optimized to not allocated memory whenever the collection is
            enumerated.
            </remarks>
        </member>
        <member name="M:Microsoft.Shared.Collections.EmptyCollectionExtensions.EmptyIfNull``1(``0[])">
            <summary>
            Returns an optimized empty array if the input is <see langword="null"/> or empty, otherwise returns the input.
            </summary>
            <typeparam name="T">The type of the array.</typeparam>
            <param name="array">The array to check for <see langword="null"/> or empty.</param>
            <returns>Returns a static instance of an empty array if the input array is <see langword="null"/> or empty, otherwise the array.</returns>
        </member>
        <member name="M:Microsoft.Shared.Collections.EmptyCollectionExtensions.EmptyIfNull``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Returns an optimized empty collection if the input is <see langword="null"/> or can be determined to be empty, otherwise returns the input.
            </summary>
            <typeparam name="T">The type of the collection.</typeparam>
            <param name="enumerable">The collection to check for <see langword="null"/> or empty.</param>
            <returns>Returns a static instance of an empty type if the input collection is <see langword="null"/> or empty, otherwise the collection.</returns>
            <remarks>
            This method does not enumerate the collection.
            </remarks>
        </member>
        <member name="M:Microsoft.Shared.Collections.EmptyCollectionExtensions.EmptyIfNull``2(System.Collections.Generic.IReadOnlyDictionary{``0,``1})">
            <summary>
            Returns an optimized empty dictionary if the input is <see langword="null"/> or can be determined to be empty, otherwise returns the input.
            </summary>
            <typeparam name="TKey">The key type of the dictionary.</typeparam>
            <typeparam name="TValue">The value type of the dictionary.</typeparam>
            <param name="dictionary">The dictionary to check for <see langword="null"/> or empty.</param>
            <returns>Returns a static instance of an empty type if the input dictionary is <see langword="null"/> or empty, otherwise the dictionary.</returns>
            <remarks>
            Note that this method does not enumerate the dictionary.
            </remarks>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIAssistantsChatClient">
            <summary>Represents an <see cref="T:Microsoft.Extensions.AI.IChatClient"/> for an OpenAI <see cref="T:OpenAI.Assistants.AssistantClient"/>.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIAssistantsChatClient._client">
            <summary>The underlying <see cref="T:OpenAI.Assistants.AssistantClient" />.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIAssistantsChatClient._metadata">
            <summary>Metadata for the client.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIAssistantsChatClient._assistantId">
            <summary>The ID of the agent to use.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIAssistantsChatClient._defaultThreadId">
            <summary>The thread ID to use if none is supplied in <see cref="P:Microsoft.Extensions.AI.ChatOptions.ConversationId"/>.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIAssistantsChatClient._assistantTools">
            <summary>List of tools associated with the assistant.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIAssistantsChatClient.#ctor(OpenAI.Assistants.AssistantClient,System.String,System.String)">
            <summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.OpenAIAssistantsChatClient"/> class for the specified <see cref="T:OpenAI.Assistants.AssistantClient"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIAssistantsChatClient.#ctor(OpenAI.Assistants.AssistantClient,OpenAI.Assistants.Assistant,System.String)">
            <summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.OpenAIAssistantsChatClient"/> class for the specified <see cref="T:OpenAI.Assistants.AssistantClient"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIAssistantsChatClient.GetService(System.Type,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIAssistantsChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIAssistantsChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIAssistantsChatClient.System#IDisposable#Dispose">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIAssistantsChatClient.ToOpenAIAssistantsFunctionToolDefinition(Microsoft.Extensions.AI.AIFunction,Microsoft.Extensions.AI.ChatOptions)">
            <summary>Converts an Extensions function to an OpenAI assistants function tool.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIAssistantsChatClient.CreateRunOptionsAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
            <summary>
            Creates the <see cref="T:OpenAI.Assistants.RunCreationOptions"/> to use for the request and extracts any function result contents 
            that need to be submitted as tool results.
            </summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIAssistantsChatClient.ConvertFunctionResultsToToolOutput(System.Collections.Generic.List{Microsoft.Extensions.AI.FunctionResultContent},System.Collections.Generic.List{OpenAI.Assistants.ToolOutput}@)">
            <summary>Convert <see cref="T:Microsoft.Extensions.AI.FunctionResultContent"/> instances to <see cref="T:OpenAI.Assistants.ToolOutput"/> instances.</summary>
            <param name="toolResults">The tool results to process.</param>
            <param name="toolOutputs">The generated list of tool outputs, if any could be created.</param>
            <returns>The run ID associated with the corresponding function call requests.</returns>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIChatClient">
            <summary>Represents an <see cref="T:Microsoft.Extensions.AI.IChatClient"/> for an OpenAI <see cref="T:OpenAI.OpenAIClient"/> or <see cref="T:OpenAI.Chat.ChatClient"/>.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIChatClient._metadata">
            <summary>Metadata about the client.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIChatClient._chatClient">
            <summary>The underlying <see cref="T:OpenAI.Chat.ChatClient" />.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.#ctor(OpenAI.Chat.ChatClient)">
            <summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.OpenAIChatClient"/> class for the specified <see cref="T:OpenAI.Chat.ChatClient"/>.</summary>
            <param name="chatClient">The underlying client.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="chatClient"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.Microsoft#Extensions#AI#IChatClient#GetService(System.Type,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.System#IDisposable#Dispose">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.ToOpenAIChatTool(Microsoft.Extensions.AI.AIFunction,Microsoft.Extensions.AI.ChatOptions)">
            <summary>Converts an Extensions function to an OpenAI chat tool.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.ToOpenAIChatMessages(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions)">
            <summary>Converts an Extensions chat message enumerable to an OpenAI chat message enumerable.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.ToOpenAIChatContent(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.AIContent})">
            <summary>Converts a list of <see cref="T:Microsoft.Extensions.AI.AIContent"/> to a list of <see cref="T:OpenAI.Chat.ChatMessageContentPart"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.ToOpenAIOptions(Microsoft.Extensions.AI.ChatOptions)">
            <summary>Converts an extensions options instance to an OpenAI options instance.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.FromOpenAIChatRole(OpenAI.Chat.ChatMessageRole)">
            <summary>Converts an OpenAI role to an Extensions role.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.ConvertContentParts(OpenAI.Chat.ChatMessageContent,System.Collections.Generic.IList{Microsoft.Extensions.AI.AIContent})">
            <summary>Creates <see cref="T:Microsoft.Extensions.AI.AIContent"/>s from <see cref="T:OpenAI.Chat.ChatMessageContent"/>.</summary>
            <param name="content">The content parts to convert into a content.</param>
            <param name="results">The result collection into which to write the resulting content.</param>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.ToAIContent(OpenAI.Chat.ChatMessageContentPart)">
            <summary>Creates an <see cref="T:Microsoft.Extensions.AI.AIContent"/> from a <see cref="T:OpenAI.Chat.ChatMessageContentPart"/>.</summary>
            <param name="contentPart">The content part to convert into a content.</param>
            <returns>The constructed <see cref="T:Microsoft.Extensions.AI.AIContent"/>, or <see langword="null"/> if the content part could not be converted.</returns>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIChatClient.FromOpenAIFinishReason(System.Nullable{OpenAI.Chat.ChatFinishReason})">
            <summary>Converts an OpenAI finish reason to an Extensions finish reason.</summary>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIChatClient.FunctionCallInfo">
            <summary>POCO representing function calling info. Used to concatenation information for a single function call from across multiple streaming updates.</summary>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIClientExtensions">
            <summary>Provides extension methods for working with <see cref="T:OpenAI.OpenAIClient"/>s.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIClientExtensions.StrictKey">
            <summary>Key into AdditionalProperties used to store a strict option.</summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIClientExtensions.DefaultOpenAIEndpoint">
            <summary>Gets the default OpenAI endpoint.</summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIClientExtensions.ChatRoleDeveloper">
            <summary>Gets a <see cref="T:Microsoft.Extensions.AI.ChatRole"/> for "developer".</summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIClientExtensions.StrictSchemaTransformCache">
            <summary>
            Gets the JSON schema transformer cache conforming to OpenAI <b>strict</b> / structured output restrictions per
            https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#supported-schemas.
            </summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.AsIChatClient(OpenAI.Chat.ChatClient)">
            <summary>Gets an <see cref="T:Microsoft.Extensions.AI.IChatClient"/> for use with this <see cref="T:OpenAI.Chat.ChatClient"/>.</summary>
            <param name="chatClient">The client.</param>
            <returns>An <see cref="T:Microsoft.Extensions.AI.IChatClient"/> that can be used to converse via the <see cref="T:OpenAI.Chat.ChatClient"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="chatClient"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.AsIChatClient(OpenAI.Responses.OpenAIResponseClient)">
            <summary>Gets an <see cref="T:Microsoft.Extensions.AI.IChatClient"/> for use with this <see cref="T:OpenAI.Responses.OpenAIResponseClient"/>.</summary>
            <param name="responseClient">The client.</param>
            <returns>An <see cref="T:Microsoft.Extensions.AI.IChatClient"/> that can be used to converse via the <see cref="T:OpenAI.Responses.OpenAIResponseClient"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="responseClient"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.AsIChatClient(OpenAI.Assistants.AssistantClient,System.String,System.String)">
            <summary>Gets an <see cref="T:Microsoft.Extensions.AI.IChatClient"/> for use with this <see cref="T:OpenAI.Assistants.AssistantClient"/>.</summary>
            <param name="assistantClient">The <see cref="T:OpenAI.Assistants.AssistantClient"/> instance to be accessed as an <see cref="T:Microsoft.Extensions.AI.IChatClient"/>.</param>
            <param name="assistantId">The unique identifier of the assistant with which to interact.</param>
            <param name="threadId">
            An optional existing thread identifier for the chat session. This serves as a default, and may be overridden per call to
            <see cref="M:Microsoft.Extensions.AI.IChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)"/> or <see cref="M:Microsoft.Extensions.AI.IChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)"/> via the <see cref="P:Microsoft.Extensions.AI.ChatOptions.ConversationId"/>
            property. If no thread ID is provided via either mechanism, a new thread will be created for the request.
            </param>
            <returns>An <see cref="T:Microsoft.Extensions.AI.IChatClient"/> instance configured to interact with the specified agent and thread.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="assistantClient"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="assistantId"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="assistantId"/> is empty or composed entirely of whitespace.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.AsIChatClient(OpenAI.Assistants.AssistantClient,OpenAI.Assistants.Assistant,System.String)">
            <summary>Gets an <see cref="T:Microsoft.Extensions.AI.IChatClient"/> for use with this <see cref="T:OpenAI.Assistants.AssistantClient"/>.</summary>
            <param name="assistantClient">The <see cref="T:OpenAI.Assistants.AssistantClient"/> instance to be accessed as an <see cref="T:Microsoft.Extensions.AI.IChatClient"/>.</param>
            <param name="assistant">The <see cref="T:OpenAI.Assistants.Assistant"/> with which to interact.</param>
            <param name="threadId">
            An optional existing thread identifier for the chat session. This serves as a default, and may be overridden per call to
            <see cref="M:Microsoft.Extensions.AI.IChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)"/> or <see cref="M:Microsoft.Extensions.AI.IChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)"/> via the <see cref="P:Microsoft.Extensions.AI.ChatOptions.ConversationId"/>
            property. If no thread ID is provided via either mechanism, a new thread will be created for the request.
            </param>
            <returns>An <see cref="T:Microsoft.Extensions.AI.IChatClient"/> instance configured to interact with the specified agent and thread.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="assistantClient"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="assistant"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.AsISpeechToTextClient(OpenAI.Audio.AudioClient)">
            <summary>Gets an <see cref="T:Microsoft.Extensions.AI.ISpeechToTextClient"/> for use with this <see cref="T:OpenAI.Audio.AudioClient"/>.</summary>
            <param name="audioClient">The client.</param>
            <returns>An <see cref="T:Microsoft.Extensions.AI.ISpeechToTextClient"/> that can be used to transcribe audio via the <see cref="T:OpenAI.Audio.AudioClient"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="audioClient"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.AsIImageGenerator(OpenAI.Images.ImageClient)">
            <summary>Gets an <see cref="T:Microsoft.Extensions.AI.IImageGenerator"/> for use with this <see cref="T:OpenAI.Images.ImageClient"/>.</summary>
            <param name="imageClient">The client.</param>
            <returns>An <see cref="T:Microsoft.Extensions.AI.IImageGenerator"/> that can be used to generate images via the <see cref="T:OpenAI.Images.ImageClient"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="imageClient"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.AsIEmbeddingGenerator(OpenAI.Embeddings.EmbeddingClient,System.Nullable{System.Int32})">
            <summary>Gets an <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> for use with this <see cref="T:OpenAI.Embeddings.EmbeddingClient"/>.</summary>
            <param name="embeddingClient">The client.</param>
            <param name="defaultModelDimensions">The number of dimensions to generate in each embedding.</param>
            <returns>An <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> that can be used to generate embeddings via the <see cref="T:OpenAI.Embeddings.EmbeddingClient"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="embeddingClient"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.HasStrict(System.Collections.Generic.IReadOnlyDictionary{System.String,System.Object})">
            <summary>Gets whether the properties specify that strict schema handling is desired.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.ToOpenAIFunctionParameters(Microsoft.Extensions.AI.AIFunction,System.Nullable{System.Boolean})">
            <summary>Extracts from an <see cref="T:Microsoft.Extensions.AI.AIFunction"/> the parameters and strictness setting for use with OpenAI's APIs.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.ParseCallContent(System.String,System.String,System.String)">
            <summary>Creates a new instance of <see cref="T:Microsoft.Extensions.AI.FunctionCallContent"/> parsing arguments using a specified encoding and parser.</summary>
            <param name="json">The input arguments to be parsed.</param>
            <param name="callId">The function call ID.</param>
            <param name="name">The function name.</param>
            <returns>A new instance of <see cref="T:Microsoft.Extensions.AI.FunctionCallContent"/> containing the parse result.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="callId"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="name"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIClientExtensions.ParseCallContent(System.BinaryData,System.String,System.String)">
            <summary>Creates a new instance of <see cref="T:Microsoft.Extensions.AI.FunctionCallContent"/> parsing arguments using a specified encoding and parser.</summary>
            <param name="utf8json">The input arguments to be parsed.</param>
            <param name="callId">The function call ID.</param>
            <param name="name">The function name.</param>
            <returns>A new instance of <see cref="T:Microsoft.Extensions.AI.FunctionCallContent"/> containing the parse result.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="callId"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="name"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIClientExtensions.ToolJson">
            <summary>Used to create the JSON payload for an OpenAI tool description.</summary>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator">
            <summary>An <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> for an OpenAI <see cref="T:OpenAI.Embeddings.EmbeddingClient"/>.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator.DefaultOpenAIEndpoint">
            <summary>Default OpenAI endpoint.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator._metadata">
            <summary>Metadata about the embedding generator.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator._embeddingClient">
            <summary>The underlying <see cref="T:OpenAI.Chat.ChatClient" />.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator._dimensions">
            <summary>The number of dimensions produced by the generator.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator.#ctor(OpenAI.Embeddings.EmbeddingClient,System.Nullable{System.Int32})">
            <summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator"/> class.</summary>
            <param name="embeddingClient">The underlying client.</param>
            <param name="defaultModelDimensions">The number of dimensions to generate in each embedding.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="embeddingClient"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="defaultModelDimensions"/> is not positive.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator.GenerateAsync(System.Collections.Generic.IEnumerable{System.String},Microsoft.Extensions.AI.EmbeddingGenerationOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator.System#IDisposable#Dispose">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator.Microsoft#Extensions#AI#IEmbeddingGenerator#GetService(System.Type,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator.CreateMetadata(System.String,System.String,System.String,System.Nullable{System.Int32})">
            <summary>Creates the <see cref="T:Microsoft.Extensions.AI.EmbeddingGeneratorMetadata"/> for this instance.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIEmbeddingGenerator.ToOpenAIOptions(Microsoft.Extensions.AI.EmbeddingGenerationOptions)">
            <summary>Converts an extensions options instance to an OpenAI options instance.</summary>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIImageGenerator">
            <summary>Represents an <see cref="T:Microsoft.Extensions.AI.IImageGenerator"/> for an OpenAI <see cref="T:OpenAI.OpenAIClient"/> or <see cref="T:OpenAI.Images.ImageClient"/>.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIImageGenerator._metadata">
            <summary>Metadata about the client.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIImageGenerator._imageClient">
            <summary>The underlying <see cref="T:OpenAI.Images.ImageClient" />.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIImageGenerator.#ctor(OpenAI.Images.ImageClient)">
            <summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.OpenAIImageGenerator"/> class for the specified <see cref="T:OpenAI.Images.ImageClient"/>.</summary>
            <param name="imageClient">The underlying client.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="imageClient"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIImageGenerator.GenerateAsync(Microsoft.Extensions.AI.ImageGenerationRequest,Microsoft.Extensions.AI.ImageGenerationOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIImageGenerator.GetService(System.Type,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIImageGenerator.System#IDisposable#Dispose">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIImageGenerator.ToOpenAIImageSize(System.Nullable{System.Drawing.Size})">
            <summary>
            Converts a <see cref="T:System.Drawing.Size"/> to an OpenAI <see cref="T:OpenAI.Images.GeneratedImageSize"/>.
            </summary>
            <param name="requestedSize">User's requested size.</param>
            <returns>Closest supported size.</returns>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIImageGenerator.ToImageGenerationResponse(OpenAI.Images.GeneratedImageCollection)">
            <summary>Converts a <see cref="T:OpenAI.Images.GeneratedImageCollection"/> to a <see cref="T:Microsoft.Extensions.AI.ImageGenerationResponse"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIImageGenerator.ToOpenAIImageGenerationOptions(Microsoft.Extensions.AI.ImageGenerationOptions)">
            <summary>Converts a <see cref="T:Microsoft.Extensions.AI.ImageGenerationOptions"/> to a <see cref="T:OpenAI.Images.ImageGenerationOptions"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIImageGenerator.ToOpenAIImageEditOptions(Microsoft.Extensions.AI.ImageGenerationOptions)">
            <summary>Converts a <see cref="T:Microsoft.Extensions.AI.ImageGenerationOptions"/> to a <see cref="T:OpenAI.Images.ImageEditOptions"/>.</summary>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIJsonContext">
            <summary>Source-generated JSON type information for use by all OpenAI implementations.</summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.Boolean">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.ToolJson">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.DictionaryStringJsonElement">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.HashSetString">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.IDictionaryStringObject">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.IEnumerableString">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.JsonElement">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.Object">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.String">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.StringArray">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.Default">
            <summary>
            The default <see cref="T:System.Text.Json.Serialization.JsonSerializerContext"/> associated with a default <see cref="T:System.Text.Json.JsonSerializerOptions"/> instance.
            </summary>
        </member>
        <member name="P:Microsoft.Extensions.AI.OpenAIJsonContext.GeneratedSerializerOptions">
            <summary>
            The source-generated options associated with this context.
            </summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIJsonContext.#ctor">
            <inheritdoc/>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIJsonContext.#ctor(System.Text.Json.JsonSerializerOptions)">
            <inheritdoc/>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIJsonContext.GetTypeInfo(System.Type)">
            <inheritdoc/>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIRealtimeConversationClient">
            <summary>Provides helpers for interacting with OpenAI Realtime.</summary>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIResponsesChatClient">
            <summary>Represents an <see cref="T:Microsoft.Extensions.AI.IChatClient"/> for an <see cref="T:OpenAI.Responses.OpenAIResponseClient"/>.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIResponsesChatClient._metadata">
            <summary>Metadata about the client.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAIResponsesChatClient._responseClient">
            <summary>The underlying <see cref="T:OpenAI.Responses.OpenAIResponseClient" />.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.#ctor(OpenAI.Responses.OpenAIResponseClient)">
            <summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.OpenAIResponsesChatClient"/> class for the specified <see cref="T:OpenAI.Responses.OpenAIResponseClient"/>.</summary>
            <param name="responseClient">The underlying client.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="responseClient"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.Microsoft#Extensions#AI#IChatClient#GetService(System.Type,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.System#IDisposable#Dispose">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.ToChatRole(System.Nullable{OpenAI.Responses.MessageRole})">
            <summary>Creates a <see cref="T:Microsoft.Extensions.AI.ChatRole"/> from a <see cref="T:OpenAI.Responses.MessageRole"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.ToFinishReason(System.Nullable{OpenAI.Responses.ResponseIncompleteStatusReason})">
            <summary>Creates a <see cref="T:Microsoft.Extensions.AI.ChatFinishReason"/> from a <see cref="T:OpenAI.Responses.ResponseIncompleteStatusReason"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.ToOpenAIResponseCreationOptions(Microsoft.Extensions.AI.ChatOptions)">
            <summary>Converts a <see cref="T:Microsoft.Extensions.AI.ChatOptions"/> to a <see cref="T:OpenAI.Responses.ResponseCreationOptions"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.ToOpenAIResponseItems(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions)">
            <summary>Convert a sequence of <see cref="T:Microsoft.Extensions.AI.ChatMessage"/>s to <see cref="T:OpenAI.Responses.ResponseItem"/>s.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.ToUsageDetails(OpenAI.Responses.OpenAIResponse)">
            <summary>Extract usage details from an <see cref="T:OpenAI.Responses.OpenAIResponse"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.ToAIContents(System.Collections.Generic.IEnumerable{OpenAI.Responses.ResponseContentPart})">
            <summary>Convert a sequence of <see cref="T:OpenAI.Responses.ResponseContentPart"/>s to a list of <see cref="T:Microsoft.Extensions.AI.AIContent"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.PopulateAnnotations(OpenAI.Responses.ResponseContentPart,Microsoft.Extensions.AI.AIContent)">
            <summary>Converts any annotations from <paramref name="source"/> and stores them in <paramref name="destination"/>.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.ToResponseContentParts(System.Collections.Generic.IList{Microsoft.Extensions.AI.AIContent})">
            <summary>Convert a list of <see cref="T:Microsoft.Extensions.AI.AIContent"/>s to a list of <see cref="T:OpenAI.Responses.ResponseContentPart"/>.</summary>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAIResponsesChatClient.FunctionCallInfo">
            <summary>POCO representing function calling info.</summary>
            <remarks>Used to concatenation information for a single function call from across multiple streaming updates.</remarks>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAIResponsesChatClient.FunctionCallInfo.#ctor(OpenAI.Responses.FunctionCallResponseItem)">
            <summary>POCO representing function calling info.</summary>
            <remarks>Used to concatenation information for a single function call from across multiple streaming updates.</remarks>
        </member>
        <member name="T:Microsoft.Extensions.AI.OpenAISpeechToTextClient">
            <summary>Represents an <see cref="T:Microsoft.Extensions.AI.ISpeechToTextClient"/> for an OpenAI <see cref="T:OpenAI.OpenAIClient"/> or <see cref="T:OpenAI.Audio.AudioClient"/>.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAISpeechToTextClient.Filename">
            <summary>Filename to use when audio lacks a name.</summary>
            <remarks>This information internally is required but is only being used to create a header name in the multipart request.</remarks>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAISpeechToTextClient._metadata">
            <summary>Metadata about the client.</summary>
        </member>
        <member name="F:Microsoft.Extensions.AI.OpenAISpeechToTextClient._audioClient">
            <summary>The underlying <see cref="T:OpenAI.Audio.AudioClient" />.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAISpeechToTextClient.#ctor(OpenAI.Audio.AudioClient)">
            <summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.OpenAISpeechToTextClient"/> class for the specified <see cref="T:OpenAI.Audio.AudioClient"/>.</summary>
            <param name="audioClient">The underlying client.</param>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAISpeechToTextClient.GetService(System.Type,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAISpeechToTextClient.GetTextAsync(System.IO.Stream,Microsoft.Extensions.AI.SpeechToTextOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAISpeechToTextClient.GetStreamingTextAsync(System.IO.Stream,Microsoft.Extensions.AI.SpeechToTextOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAISpeechToTextClient.System#IDisposable#Dispose">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAISpeechToTextClient.ToOpenAITranscriptionOptions(Microsoft.Extensions.AI.SpeechToTextOptions)">
            <summary>Converts an extensions options instance to an OpenAI transcription options instance.</summary>
        </member>
        <member name="M:Microsoft.Extensions.AI.OpenAISpeechToTextClient.ToOpenAITranslationOptions(Microsoft.Extensions.AI.SpeechToTextOptions)">
            <summary>Converts an extensions options instance to an OpenAI translation options instance.</summary>
        </member>
        <member name="T:System.Net.ServerSentEvents.SseFormatter">
            <summary>
            Provides methods for formatting server-sent events.
            </summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseFormatter.WriteAsync(System.Collections.Generic.IAsyncEnumerable{System.Net.ServerSentEvents.SseItem{System.String}},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Writes the <paramref name="source"/> of server-sent events to the <paramref name="destination"/> stream.
            </summary>
            <param name="source">The events to write to the stream.</param>
            <param name="destination">The destination stream to write the events.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that can be used to cancel the write operation.</param>
            <returns>A task that represents the asynchronous write operation.</returns>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseFormatter.WriteAsync``1(System.Collections.Generic.IAsyncEnumerable{System.Net.ServerSentEvents.SseItem{``0}},System.IO.Stream,System.Action{System.Net.ServerSentEvents.SseItem{``0},System.Buffers.IBufferWriter{System.Byte}},System.Threading.CancellationToken)">
            <summary>
            Writes the <paramref name="source"/> of server-sent events to the <paramref name="destination"/> stream.
            </summary>
            <typeparam name="T">The data type of the event.</typeparam>
            <param name="source">The events to write to the stream.</param>
            <param name="destination">The destination stream to write the events.</param>
            <param name="itemFormatter">The formatter for the data field of given event.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that can be used to cancel the write operation.</param>
            <returns>A task that represents the asynchronous write operation.</returns>
        </member>
        <member name="T:System.Net.ServerSentEvents.SseItem`1">
            <summary>Represents a server-sent event.</summary>
            <typeparam name="T">Specifies the type of data payload in the event.</typeparam>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseItem`1._eventType">
            <summary>The event's type.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseItem`1._eventId">
            <summary>The event's id.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseItem`1._reconnectionInterval">
            <summary>The event's reconnection interval.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseItem`1.#ctor(`0,System.String)">
            <summary>Initializes a new instance of the <see cref="T:System.Net.ServerSentEvents.SseItem`1"/> struct.</summary>
            <param name="data">The event's payload.</param>
            <param name="eventType">The event's type.</param>
            <exception cref="T:System.ArgumentException">Thrown when <paramref name="eventType"/> contains a line break.</exception>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseItem`1.Data">
            <summary>Gets the event's payload.</summary>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseItem`1.EventType">
            <summary>Gets the event's type.</summary>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseItem`1.EventId">
            <summary>Gets the event's id.</summary>
            <exception cref="T:System.ArgumentException">Thrown when the value contains a line break.</exception>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseItem`1.ReconnectionInterval">
            <summary>Gets the event's retry interval.</summary>
            <remarks>
            When specified on an event, instructs the client to update its reconnection time to the specified value.
            </remarks>
        </member>
        <member name="T:System.Net.ServerSentEvents.SseItemParser`1">
            <summary>Encapsulates a method for parsing the bytes payload of a server-sent event.</summary>
            <typeparam name="T">Specifies the type of the return value of the parser.</typeparam>
            <param name="eventType">The event's type.</param>
            <param name="data">The event's payload bytes.</param>
            <returns>The parsed <typeparamref name="T"/>.</returns>
        </member>
        <member name="T:System.Net.ServerSentEvents.SseParser">
            <summary>Provides a parser for parsing server-sent events.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser.EventTypeDefault">
            <summary>The default <see cref="P:System.Net.ServerSentEvents.SseItem`1.EventType"/> ("message") for an event that did not explicitly specify a type.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser.Create(System.IO.Stream)">
            <summary>Creates a parser for parsing a <paramref name="sseStream"/> of server-sent events into a sequence of <see cref="T:System.Net.ServerSentEvents.SseItem`1"/> values.</summary>
            <param name="sseStream">The stream containing the data to parse.</param>
            <returns>
            The enumerable of strings, which can be enumerated synchronously or asynchronously. The strings
            are decoded from the UTF8-encoded bytes of the payload of each event.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="sseStream"/> is null.</exception>
            <remarks>
            This overload has behavior equivalent to calling <see cref="M:System.Net.ServerSentEvents.SseParser.Create``1(System.IO.Stream,System.Net.ServerSentEvents.SseItemParser{``0})"/> with a delegate
            that decodes the data of each event using <see cref="P:System.Text.Encoding.UTF8"/>'s GetString method.
            </remarks>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser.Create``1(System.IO.Stream,System.Net.ServerSentEvents.SseItemParser{``0})">
            <summary>Creates a parser for parsing a <paramref name="sseStream"/> of server-sent events into a sequence of <see cref="T:System.Net.ServerSentEvents.SseItem`1"/> values.</summary>
            <typeparam name="T">Specifies the type of data in each event.</typeparam>
            <param name="sseStream">The stream containing the data to parse.</param>
            <param name="itemParser">The parser to use to transform each payload of bytes into a data element.</param>
            <returns>The enumerable, which can be enumerated synchronously or asynchronously.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="sseStream"/> or <paramref name="itemParser"/> is null.</exception>
        </member>
        <member name="T:System.Net.ServerSentEvents.SseParser`1">
            <summary>Provides a parser for server-sent events information.</summary>
            <typeparam name="T">Specifies the type of data parsed from an event.</typeparam>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1.CR">
            <summary>Carriage Return.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1.LF">
            <summary>Line Feed.</summary>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseParser`1.CRLF">
            <summary>Carriage Return Line Feed.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1.TimeSpan_MaxValueMilliseconds">
            <summary>The maximum number of milliseconds representible by <see cref="T:System.TimeSpan"/>.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1.DefaultArrayPoolRentSize">
            <summary>The default size of an ArrayPool buffer to rent.</summary>
            <remarks>Larger size used by default to minimize number of reads. Smaller size used in debug to stress growth/shifting logic.</remarks>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._stream">
            <summary>The stream to be parsed.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._itemParser">
            <summary>The parser delegate used to transform bytes into a <typeparamref name="T"/>.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._used">
            <summary>Indicates whether the enumerable has already been used for enumeration.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer">
            <summary>Buffer, either empty or rented, containing the data being read from the stream while looking for the next line.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._lineOffset">
            <summary>The starting offset of valid data in <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer"/>.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._lineLength">
            <summary>The length of valid data in <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer"/>, starting from <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineOffset"/>.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._newlineIndex">
            <summary>The index in <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer"/> where a newline ('\r', '\n', or "\r\n") was found.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._lastSearchedForNewline">
            <summary>The index in <see cref="F:System.Net.ServerSentEvents.SseParser`1._lineBuffer"/> of characters already checked for newlines.</summary>
            <remarks>
            This is to avoid O(LineLength^2) behavior in the rare case where we have long lines that are built-up over multiple reads.
            We want to avoid re-checking the same characters we've already checked over and over again.
            </remarks>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._eof">
            <summary>Set when eof has been reached in the stream.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._dataBuffer">
            <summary>Rented buffer containing buffered data for the next event.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._dataLength">
            <summary>The length of valid data in <see cref="F:System.Net.ServerSentEvents.SseParser`1._dataBuffer"/>, starting from index 0.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._dataAppended">
            <summary>Whether data has been appended to <see cref="F:System.Net.ServerSentEvents.SseParser`1._dataBuffer"/>.</summary>
            <remarks>This can be different than <see cref="F:System.Net.ServerSentEvents.SseParser`1._dataLength"/> != 0 if empty data was appended.</remarks>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._eventType">
            <summary>The event type for the next event.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._eventId">
            <summary>The event id for the next event.</summary>
        </member>
        <member name="F:System.Net.ServerSentEvents.SseParser`1._nextReconnectionInterval">
            <summary>The reconnection interval for the next event.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.#ctor(System.IO.Stream,System.Net.ServerSentEvents.SseItemParser{`0})">
            <summary>Initializes a new instance of the <see cref="T:System.Net.ServerSentEvents.SseParser`1"/> class.</summary>
            <param name="stream">The stream to parse.</param>
            <param name="itemParser">The function to use to parse payload bytes into a <typeparamref name="T"/>.</param>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.Enumerate">
            <summary>Gets an enumerable of the server-sent events from this parser.</summary>
            <exception cref="T:System.InvalidOperationException">The parser has already been enumerated. Such an exception may propagate out of a call to <see cref="M:System.Collections.IEnumerator.MoveNext"/>.</exception>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.EnumerateAsync(System.Threading.CancellationToken)">
            <summary>Gets an asynchronous enumerable of the server-sent events from this parser.</summary>
            <param name="cancellationToken">The cancellation token to use to cancel the enumeration.</param>
            <exception cref="T:System.InvalidOperationException">The parser has already been enumerated. May propagate out of a call to <see cref="M:System.Collections.Generic.IAsyncEnumerator`1.MoveNextAsync"/>.</exception>
            <exception cref="T:System.OperationCanceledException">The enumeration was canceled. May propagate out of a call to <see cref="M:System.Collections.Generic.IAsyncEnumerator`1.MoveNextAsync"/>.</exception>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.GetNextSearchOffsetAndLength(System.Int32@,System.Int32@)">
            <summary>Gets the next index and length with which to perform a newline search.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.ShiftOrGrowLineBufferIfNecessary">
            <summary>
            If there's no room remaining in the line buffer, either shifts the contents
            left or grows the buffer in order to make room for the next read.
            </summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.ProcessLine(System.Net.ServerSentEvents.SseItem{`0}@,System.Int32@)">
            <summary>Processes a complete line from the SSE stream.</summary>
            <param name="sseItem">The parsed item if the method returns true.</param>
            <param name="advance">How many characters to advance in the line buffer.</param>
            <returns>true if an SSE item was successfully parsed; otherwise, false.</returns>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseParser`1.LastEventId">
            <summary>Gets the last event ID.</summary>
            <remarks>This value is updated any time a new last event ID is parsed. It is not reset between SSE items.</remarks>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseParser`1.ReconnectionInterval">
            <summary>Gets the reconnection interval.</summary>
            <remarks>
            If no retry event was received, this defaults to <see cref="F:System.Threading.Timeout.InfiniteTimeSpan"/>, and it will only
            ever be <see cref="F:System.Threading.Timeout.InfiniteTimeSpan"/> in that situation. If a client wishes to retry, the server-sent
            events specification states that the interval may then be decided by the client implementation and should be a
            few seconds.
            </remarks>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.ThrowIfNotFirstEnumeration">
            <summary>Transitions the object to a used state, throwing if it's already been used.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.FillLineBuffer">
            <summary>Reads data from the stream into the line buffer.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.FillLineBufferAsync(System.Threading.CancellationToken)">
            <summary>Reads data asynchronously from the stream into the line buffer.</summary>
        </member>
        <member name="P:System.Net.ServerSentEvents.SseParser`1.Utf8Bom">
            <summary>Gets the UTF8 BOM.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.SkipBomIfPresent">
            <summary>Called at the beginning of processing to skip over an optional UTF8 byte order mark.</summary>
        </member>
        <member name="M:System.Net.ServerSentEvents.SseParser`1.GrowBuffer(System.Byte[]@,System.Int32)">
            <summary>Grows the buffer, returning the existing one to the ArrayPool and renting an ArrayPool replacement.</summary>
        </member>
        <member name="T:OpenAI.Assistants.MicrosoftExtensionsAIAssistantsExtensions">
            <summary>Provides extension methods for working with content associated with OpenAI.Assistants.</summary>
        </member>
        <member name="M:OpenAI.Assistants.MicrosoftExtensionsAIAssistantsExtensions.AsOpenAIAssistantsFunctionToolDefinition(Microsoft.Extensions.AI.AIFunction)">
            <summary>Creates an OpenAI <see cref="T:OpenAI.Assistants.FunctionToolDefinition"/> from an <see cref="T:Microsoft.Extensions.AI.AIFunction"/>.</summary>
            <param name="function">The function to convert.</param>
            <returns>An OpenAI <see cref="T:OpenAI.Assistants.FunctionToolDefinition"/> representing <paramref name="function"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="function"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions">
            <summary>Provides extension methods for working with content associated with OpenAI.Chat.</summary>
        </member>
        <member name="M:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsOpenAIChatTool(Microsoft.Extensions.AI.AIFunction)">
            <summary>Creates an OpenAI <see cref="T:OpenAI.Chat.ChatTool"/> from an <see cref="T:Microsoft.Extensions.AI.AIFunction"/>.</summary>
            <param name="function">The function to convert.</param>
            <returns>An OpenAI <see cref="T:OpenAI.Chat.ChatTool"/> representing <paramref name="function"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="function"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsOpenAIChatMessages(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions)">
            <summary>Creates a sequence of OpenAI <see cref="T:OpenAI.Chat.ChatMessage"/> instances from the specified input messages.</summary>
            <param name="messages">The input messages to convert.</param>
            <param name="options">The options employed while processing <paramref name="messages"/>.</param>
            <returns>A sequence of OpenAI chat messages.</returns>
        </member>
        <member name="M:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsOpenAIChatCompletion(Microsoft.Extensions.AI.ChatResponse)">
            <summary>Creates an OpenAI <see cref="T:OpenAI.Chat.ChatCompletion"/> from a <see cref="T:Microsoft.Extensions.AI.ChatResponse"/>.</summary>
            <param name="response">The <see cref="T:Microsoft.Extensions.AI.ChatResponse"/> to convert to a <see cref="T:OpenAI.Chat.ChatCompletion"/>.</param>
            <returns>A converted <see cref="T:OpenAI.Chat.ChatCompletion"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="response"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsOpenAIStreamingChatCompletionUpdatesAsync(System.Collections.Generic.IAsyncEnumerable{Microsoft.Extensions.AI.ChatResponseUpdate},System.Threading.CancellationToken)">
            <summary>
            Creates a sequence of OpenAI <see cref="T:OpenAI.Chat.StreamingChatCompletionUpdate"/> instances from the specified
            sequence of <see cref="T:Microsoft.Extensions.AI.ChatResponseUpdate"/> instances.
            </summary>
            <param name="responseUpdates">The update instances.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to monitor for cancellation requests. The default is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
            <returns>A sequence of converted <see cref="T:Microsoft.Extensions.AI.ChatResponseUpdate"/> instances.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="responseUpdates"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsChatMessages(System.Collections.Generic.IEnumerable{OpenAI.Chat.ChatMessage})">
            <summary>Creates a sequence of <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> instances from the specified input messages.</summary>
            <param name="messages">The input messages to convert.</param>
            <returns>A sequence of Microsoft.Extensions.AI chat messages.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="messages"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsChatResponse(OpenAI.Chat.ChatCompletion,OpenAI.Chat.ChatCompletionOptions)">
            <summary>Creates a Microsoft.Extensions.AI <see cref="T:Microsoft.Extensions.AI.ChatResponse"/> from a <see cref="T:OpenAI.Chat.ChatCompletion"/>.</summary>
            <param name="chatCompletion">The <see cref="T:OpenAI.Chat.ChatCompletion"/> to convert to a <see cref="T:Microsoft.Extensions.AI.ChatResponse"/>.</param>
            <param name="options">The options employed in the creation of the response.</param>
            <returns>A converted <see cref="T:Microsoft.Extensions.AI.ChatResponse"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="chatCompletion"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsChatResponseUpdatesAsync(System.Collections.Generic.IAsyncEnumerable{OpenAI.Chat.StreamingChatCompletionUpdate},OpenAI.Chat.ChatCompletionOptions,System.Threading.CancellationToken)">
            <summary>
            Creates a sequence of Microsoft.Extensions.AI <see cref="T:Microsoft.Extensions.AI.ChatResponseUpdate"/> instances from the specified
            sequence of OpenAI <see cref="T:OpenAI.Chat.StreamingChatCompletionUpdate"/> instances.
            </summary>
            <param name="chatCompletionUpdates">The update instances.</param>
            <param name="options">The options employed in the creation of the response.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to monitor for cancellation requests. The default is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
            <returns>A sequence of converted <see cref="T:Microsoft.Extensions.AI.ChatResponseUpdate"/> instances.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="chatCompletionUpdates"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.ToChatMessageRole(System.Nullable{Microsoft.Extensions.AI.ChatRole})">
            <summary>Converts the <see cref="T:Microsoft.Extensions.AI.ChatRole"/> to a <see cref="T:OpenAI.Chat.ChatMessageRole"/>.</summary>
        </member>
        <member name="M:OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.ToChatFinishReason(System.Nullable{Microsoft.Extensions.AI.ChatFinishReason})">
            <summary>Converts the <see cref="T:Microsoft.Extensions.AI.ChatFinishReason"/> to a <see cref="T:OpenAI.Chat.ChatFinishReason"/>.</summary>
        </member>
        <member name="T:OpenAI.Realtime.MicrosoftExtensionsAIRealtimeExtensions">
            <summary>Provides extension methods for working with content associated with OpenAI.Realtime.</summary>
        </member>
        <member name="M:OpenAI.Realtime.MicrosoftExtensionsAIRealtimeExtensions.AsOpenAIConversationFunctionTool(Microsoft.Extensions.AI.AIFunction)">
            <summary>Creates an OpenAI <see cref="T:OpenAI.Realtime.ConversationFunctionTool"/> from an <see cref="T:Microsoft.Extensions.AI.AIFunction"/>.</summary>
            <param name="function">The function to convert.</param>
            <returns>An OpenAI <see cref="T:OpenAI.Realtime.ConversationFunctionTool"/> representing <paramref name="function"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="function"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions">
            <summary>Provides extension methods for working with content associated with OpenAI.Responses.</summary>
        </member>
        <member name="M:OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsOpenAIResponseTool(Microsoft.Extensions.AI.AIFunction)">
            <summary>Creates an OpenAI <see cref="T:OpenAI.Responses.ResponseTool"/> from an <see cref="T:Microsoft.Extensions.AI.AIFunction"/>.</summary>
            <param name="function">The function to convert.</param>
            <returns>An OpenAI <see cref="T:OpenAI.Responses.ResponseTool"/> representing <paramref name="function"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="function"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsOpenAIResponseItems(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions)">
            <summary>Creates a sequence of OpenAI <see cref="T:OpenAI.Responses.ResponseItem"/> instances from the specified input messages.</summary>
            <param name="messages">The input messages to convert.</param>
            <param name="options">The options employed while processing <paramref name="messages"/>.</param>
            <returns>A sequence of OpenAI response items.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="messages"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsChatMessages(System.Collections.Generic.IEnumerable{OpenAI.Responses.ResponseItem})">
            <summary>Creates a sequence of <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> instances from the specified input items.</summary>
            <param name="items">The input messages to convert.</param>
            <returns>A sequence of <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> instances.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="items"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsChatResponse(OpenAI.Responses.OpenAIResponse,OpenAI.Responses.ResponseCreationOptions)">
            <summary>Creates a Microsoft.Extensions.AI <see cref="T:Microsoft.Extensions.AI.ChatResponse"/> from an <see cref="T:OpenAI.Responses.OpenAIResponse"/>.</summary>
            <param name="response">The <see cref="T:OpenAI.Responses.OpenAIResponse"/> to convert to a <see cref="T:Microsoft.Extensions.AI.ChatResponse"/>.</param>
            <param name="options">The options employed in the creation of the response.</param>
            <returns>A converted <see cref="T:Microsoft.Extensions.AI.ChatResponse"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="response"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsChatResponseUpdatesAsync(System.Collections.Generic.IAsyncEnumerable{OpenAI.Responses.StreamingResponseUpdate},OpenAI.Responses.ResponseCreationOptions,System.Threading.CancellationToken)">
            <summary>
            Creates a sequence of Microsoft.Extensions.AI <see cref="T:Microsoft.Extensions.AI.ChatResponseUpdate"/> instances from the specified
            sequence of OpenAI <see cref="T:OpenAI.Responses.StreamingResponseUpdate"/> instances.
            </summary>
            <param name="responseUpdates">The update instances.</param>
            <param name="options">The options employed in the creation of the response.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to monitor for cancellation requests. The default is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
            <returns>A sequence of converted <see cref="T:Microsoft.Extensions.AI.ChatResponseUpdate"/> instances.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="responseUpdates"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsOpenAIResponse(Microsoft.Extensions.AI.ChatResponse,Microsoft.Extensions.AI.ChatOptions)">
            <summary>Creates an OpenAI <see cref="T:OpenAI.Responses.OpenAIResponse"/> from a <see cref="T:Microsoft.Extensions.AI.ChatResponse"/>.</summary>
            <param name="response">The response to convert.</param>
            <param name="options">The options employed in the creation of the response.</param>
            <returns>The created <see cref="T:OpenAI.Responses.OpenAIResponse"/>.</returns>
        </member>
    </members>
</doc>
