StellarXipher/Assets/Packages/Microsoft.Extensions.AI.Abstractions.9.1.0-preview.1.25064.3/lib/netstandard2.0/Microsoft.Extensions.AI.Abstractions.xml
2025-02-12 19:41:54 -05:00

3559 lines
240 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.AI.Abstractions</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.RequiredMemberAttribute">
<summary>Specifies that a type has required members or that a member is required.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute">
<summary>
Tags parameter that should be filled with specific caller name.
</summary>
</member>
<member name="M:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute"/> class.
</summary>
<param name="parameterName">Function parameter to take the name from.</param>
</member>
<member name="P:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute.ParameterName">
<summary>
Gets name of the function parameter that name should be taken from.
</summary>
</member>
<member name="T:System.Runtime.CompilerServices.SkipLocalsInitAttribute">
<summary>
Used to indicate to the compiler that the <c>.locals init</c>
flag should not be set in method headers.
</summary>
<remarks>
This attribute is unsafe because it may reveal uninitialized memory to
the application in certain instances (e.g., reading from uninitialized
stackalloc'd memory). If applied to a method directly, the attribute
applies to that method and all nested functions (lambdas, local
functions) below it. If applied to a type or module, it applies to all
methods nested inside. This attribute is intentionally not permitted on
assemblies. Use at the module level instead to apply to multiple type
declarations.
</remarks>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be <see langword="null" />.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be <see langword="null" />.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be <see langword="null" />.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be <see langword="null" />.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
<summary>
Indicates that certain members on a specified <see cref="T:System.Type"/> are accessed dynamically,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which members are being accessed during the execution
of a program.
This attribute is valid on members whose type is <see cref="T:System.Type"/> or <see cref="T:System.String"/>.
When this attribute is applied to a location of type <see cref="T:System.String"/>, the assumption is
that the string represents a fully qualified type name.
When this attribute is applied to a class, interface, or struct, the members specified
can be accessed dynamically on <see cref="T:System.Type"/> instances returned from calling
<see cref="M:System.Object.GetType"/> on instances of that class, interface, or struct.
If the attribute is applied to a method it's treated as a special case and it implies
the attribute should be applied to the "this" parameter of the method. As such the attribute
should only be used on instance methods of types assignable to System.Type (or string, but no methods
will use it there).
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute"/> class
with the specified member types.
</summary>
<param name="memberTypes">The types of members dynamically accessed.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
<summary>
Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
of members dynamically accessed.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
<summary>
Specifies the types of members that are dynamically accessed.
This enumeration has a <see cref="T:System.FlagsAttribute"/> attribute that allows a
bitwise combination of its member values.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
<summary>
Specifies no members.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
<summary>
Specifies the default, parameterless public constructor.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
<summary>
Specifies all public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
<summary>
Specifies all non-public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
<summary>
Specifies all public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
<summary>
Specifies all non-public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
<summary>
Specifies all public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
<summary>
Specifies all non-public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
<summary>
Specifies all public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
<summary>
Specifies all non-public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
<summary>
Specifies all public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
<summary>
Specifies all non-public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
<summary>
Specifies all public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
<summary>
Specifies all non-public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
<summary>
Specifies all interfaces implemented by the type.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
<summary>
Specifies all members.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute">
<summary>
States a dependency that one member has on another.
</summary>
<remarks>
This can be used to inform tooling of a dependency that is otherwise not evident purely from
metadata and IL, for example a member relied on via reflection.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute"/> class
with the specified signature of a member on the same type as the consumer.
</summary>
<param name="memberSignature">The signature of the member depended on.</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.Type)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute"/> class
with the specified signature of a member on a <see cref="T:System.Type"/>.
</summary>
<param name="memberSignature">The signature of the member depended on.</param>
<param name="type">The <see cref="T:System.Type"/> containing <paramref name="memberSignature"/>.</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute"/> class
with the specified signature of a member on a type in an assembly.
</summary>
<param name="memberSignature">The signature of the member depended on.</param>
<param name="typeName">The full name of the type containing the specified member.</param>
<param name="assemblyName">The assembly name of the type containing the specified member.</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.Type)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute"/> class
with the specified types of members on a <see cref="T:System.Type"/>.
</summary>
<param name="memberTypes">The types of members depended on.</param>
<param name="type">The <see cref="T:System.Type"/> containing the specified members.</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute"/> class
with the specified types of members on a type in an assembly.
</summary>
<param name="memberTypes">The types of members depended on.</param>
<param name="typeName">The full name of the type containing the specified members.</param>
<param name="assemblyName">The assembly name of the type containing the specified members.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberSignature">
<summary>
Gets the signature of the member depended on.
</summary>
<remarks>
Either <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberSignature"/> must be a valid string or <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberTypes"/>
must not equal <see cref="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None"/>, but not both.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberTypes">
<summary>
Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
of members depended on.
</summary>
<remarks>
Either <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberSignature"/> must be a valid string or <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberTypes"/>
must not equal <see cref="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None"/>, but not both.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Type">
<summary>
Gets the <see cref="T:System.Type"/> containing the specified member.
</summary>
<remarks>
If neither <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Type"/> nor <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.TypeName"/> are specified,
the type of the consumer is assumed.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.TypeName">
<summary>
Gets the full name of the type containing the specified member.
</summary>
<remarks>
If neither <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Type"/> nor <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.TypeName"/> are specified,
the type of the consumer is assumed.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.AssemblyName">
<summary>
Gets the assembly name of the specified type.
</summary>
<remarks>
<see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.AssemblyName"/> is only valid when <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.TypeName"/> is specified.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Condition">
<summary>
Gets or sets the condition in which the dependency is applicable, e.g. "DEBUG".
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute">
<summary>
/// Indicates that the specified member requires assembly files to be on disk.
</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute"/> class.
</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute"/> class.
</summary>
<param name="message">
A message that contains information about the need for assembly files to be on disk.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute.Message">
<summary>
Gets an optional message that contains information about the need for
assembly files to be on disk.
</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute.Url">
<summary>
Gets or sets an optional URL that contains more information about the member,
why it requires assembly files to be on disk, and what options a consumer has
to deal with it.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
<summary>
Indicates that the specified method requires the ability to generate new code at runtime,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which methods are unsafe to call when compiling ahead of time.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute"/> class
with the specified message.
</summary>
<param name="message">
A message that contains information about the usage of dynamic code.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
<summary>
Gets a message that contains information about the usage of dynamic code.
</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
<summary>
Gets or sets an optional URL that contains more information about the method,
why it requires dynamic code, and what options a consumer has to deal with it.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute">
<summary>
/// Indicates that the specified method requires dynamic access to code that is not referenced
statically, for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which methods are unsafe to call when removing unreferenced
code from an application.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute"/> class
with the specified message.
</summary>
<param name="message">
A message that contains information about the usage of unreferenced code.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Message">
<summary>
Gets a message that contains information about the usage of unreferenced code.
</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Url">
<summary>
Gets or sets an optional URL that contains more information about the method,
why it requires unreferenced code, and what options a consumer has to deal with it.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
<summary>
/// Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
single code artifact.
</summary>
<remarks>
<see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> is different than
<see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute"/> in that it doesn't have a
<see cref="T:System.Diagnostics.ConditionalAttribute"/>. So it is always preserved in the compiled assembly.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/>
class, specifying the category of the tool and the identifier for an analysis rule.
</summary>
<param name="category">The category for the attribute.</param>
<param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
<summary>
Gets the category identifying the classification of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> property describes the tool or tool analysis category
for which a message suppression attribute applies.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
<summary>
Gets the identifier of the analysis tool rule to be suppressed.
</summary>
<remarks>
Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId"/>
properties form a unique check identifier.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
<summary>
Gets or sets the scope of the code that is relevant for the attribute.
</summary>
<remarks>
The Scope property is an optional argument that specifies the metadata scope for which
the attribute is relevant.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
<summary>
Gets or sets a fully qualified path that represents the target of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target"/> property is an optional argument identifying the analysis target
of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
Because it is fully qualified, it can be long, particularly for targets such as parameters.
The analysis tool user interface should be capable of automatically formatting the parameter.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
<summary>
Gets or sets an optional argument expanding on exclusion criteria.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId"/> property is an optional argument that specifies additional
exclusion where the literal metadata target is not sufficiently precise. For example,
the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> cannot be applied within a method,
and it may be desirable to suppress a violation against a statement in the method that will
give a rule violation, but not against all statements in the method.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
<summary>
Gets or sets the justification for suppressing the code analysis message.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute">
<summary>Specifies the syntax used in a string.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.#ctor(System.String)">
<summary>Initializes the <see cref="T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute"/> with the identifier of the syntax used.</summary>
<param name="syntax">The syntax identifier.</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.#ctor(System.String,System.Object[])">
<summary>Initializes the <see cref="T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute"/> with the identifier of the syntax used.</summary>
<param name="syntax">The syntax identifier.</param>
<param name="arguments">Optional arguments associated with the specific syntax employed.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Syntax">
<summary>Gets the identifier of the syntax used.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Arguments">
<summary>Optional arguments associated with the specific syntax employed.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.CompositeFormat">
<summary>The syntax identifier for strings containing composite formats for string formatting.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.DateOnlyFormat">
<summary>The syntax identifier for strings containing date format specifiers.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.DateTimeFormat">
<summary>The syntax identifier for strings containing date and time format specifiers.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.EnumFormat">
<summary>The syntax identifier for strings containing <see cref="T:System.Enum"/> format specifiers.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.GuidFormat">
<summary>The syntax identifier for strings containing <see cref="T:System.Guid"/> format specifiers.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Json">
<summary>The syntax identifier for strings containing JavaScript Object Notation (JSON).</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.NumericFormat">
<summary>The syntax identifier for strings containing numeric format specifiers.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Regex">
<summary>The syntax identifier for strings containing regular expressions.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.TimeOnlyFormat">
<summary>The syntax identifier for strings containing time format specifiers.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.TimeSpanFormat">
<summary>The syntax identifier for strings containing <see cref="T:System.TimeSpan"/> format specifiers.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Uri">
<summary>The syntax identifier for strings containing URIs.</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Xml">
<summary>The syntax identifier for strings containing XML.</summary>
</member>
<member name="T:System.Text.Json.Schema.JsonSchemaExporter">
<summary>
Maps .NET types to JSON schema objects using contract metadata from <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo"/> instances.
</summary>
</member>
<member name="M:System.Text.Json.Schema.JsonSchemaExporter.GetJsonSchemaAsNode(System.Text.Json.JsonSerializerOptions,System.Type,System.Text.Json.Schema.JsonSchemaExporterOptions)">
<summary>
Generates a JSON schema corresponding to the contract metadata of the specified type.
</summary>
<param name="options">The options instance from which to resolve the contract metadata.</param>
<param name="type">The root type for which to generate the JSON schema.</param>
<param name="exporterOptions">The exporterOptions object controlling the schema generation.</param>
<returns>A new <see cref="T:System.Text.Json.Nodes.JsonNode"/> instance defining the JSON schema for <paramref name="type"/>.</returns>
<exception cref="T:System.ArgumentNullException">One of the specified parameters is <see langword="null" />.</exception>
<exception cref="T:System.NotSupportedException">The <paramref name="options"/> parameter contains unsupported exporterOptions.</exception>
</member>
<member name="M:System.Text.Json.Schema.JsonSchemaExporter.GetJsonSchemaAsNode(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Text.Json.Schema.JsonSchemaExporterOptions)">
<summary>
Generates a JSON schema corresponding to the specified contract metadata.
</summary>
<param name="typeInfo">The contract metadata for which to generate the schema.</param>
<param name="exporterOptions">The exporterOptions object controlling the schema generation.</param>
<returns>A new <see cref="T:System.Text.Json.Nodes.JsonNode"/> instance defining the JSON schema for <paramref name="typeInfo"/>.</returns>
<exception cref="T:System.ArgumentNullException">One of the specified parameters is <see langword="null" />.</exception>
<exception cref="T:System.NotSupportedException">The <paramref name="typeInfo"/> parameter contains unsupported exporterOptions.</exception>
</member>
<member name="M:System.Text.Json.Schema.JsonSchemaExporter.GenerationState.TryGetExistingJsonPointer(System.Text.Json.Schema.JsonSchemaExporterContext@,System.String@)">
<summary>
Registers the current schema node generation context; if it has already been generated return a JSON pointer to its location.
</summary>
</member>
<member name="T:System.Text.Json.Schema.JsonSchemaExporterContext">
<summary>
Defines the context in which a JSON schema within a type graph is being generated.
</summary>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterContext.Path">
<summary>
Gets the path to the schema document currently being generated.
</summary>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterContext.TypeInfo">
<summary>
Gets the <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo"/> for the type being processed.
</summary>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterContext.DeclaringType">
<summary>
Gets the declaring type of the property or parameter being processed.
</summary>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterContext.BaseTypeInfo">
<summary>
Gets the type info for the polymorphic base type if generated as a derived type.
</summary>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterContext.PropertyInfo">
<summary>
Gets the <see cref="T:System.Text.Json.Serialization.Metadata.JsonPropertyInfo"/> if the schema is being generated for a property.
</summary>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterContext.ParameterInfo">
<summary>
Gets the <see cref="T:System.Reflection.ParameterInfo"/> if a constructor parameter
has been associated with the accompanying <see cref="P:System.Text.Json.Schema.JsonSchemaExporterContext.PropertyInfo"/>.
</summary>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterContext.PropertyAttributeProvider">
<summary>
Gets the <see cref="T:System.Reflection.ICustomAttributeProvider"/> corresponding to the property or field being processed.
</summary>
</member>
<member name="T:System.Text.Json.Schema.JsonSchemaExporterOptions">
<summary>
Controls the behavior of the <see cref="T:System.Text.Json.Schema.JsonSchemaExporter"/> class.
</summary>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterOptions.Default">
<summary>
Gets the default configuration object used by <see cref="T:System.Text.Json.Schema.JsonSchemaExporter"/>.
</summary>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterOptions.TreatNullObliviousAsNonNullable">
<summary>
Gets a value indicating whether non-nullable schemas should be generated for null oblivious reference types.
</summary>
<remarks>
Defaults to <see langword="false"/>. Due to restrictions in the run-time representation of nullable reference types
most occurrences are null oblivious and are treated as nullable by the serializer. A notable exception to that rule
are nullability annotations of field, property and constructor parameters which are represented in the contract metadata.
</remarks>
</member>
<member name="P:System.Text.Json.Schema.JsonSchemaExporterOptions.TransformSchemaNode">
<summary>
Gets a callback that is invoked for every schema that is generated within the type graph.
</summary>
</member>
<member name="T:System.Reflection.NullabilityInfo">
<summary>
A class that represents nullability info.
</summary>
</member>
<member name="P:System.Reflection.NullabilityInfo.Type">
<summary>
The <see cref="T:System.Type" /> of the member or generic parameter
to which this NullabilityInfo belongs.
</summary>
</member>
<member name="P:System.Reflection.NullabilityInfo.ReadState">
<summary>
The nullability read state of the member.
</summary>
</member>
<member name="P:System.Reflection.NullabilityInfo.WriteState">
<summary>
The nullability write state of the member.
</summary>
</member>
<member name="P:System.Reflection.NullabilityInfo.ElementType">
<summary>
If the member type is an array, gives the <see cref="T:System.Reflection.NullabilityInfo" /> of the elements of the array, null otherwise.
</summary>
</member>
<member name="P:System.Reflection.NullabilityInfo.GenericTypeArguments">
<summary>
If the member type is a generic type, gives the array of <see cref="T:System.Reflection.NullabilityInfo" /> for each type parameter.
</summary>
</member>
<member name="T:System.Reflection.NullabilityState">
<summary>
An enum that represents nullability state.
</summary>
</member>
<member name="F:System.Reflection.NullabilityState.Unknown">
<summary>
Nullability context not enabled (oblivious).
</summary>
</member>
<member name="F:System.Reflection.NullabilityState.NotNull">
<summary>
Non nullable value or reference type.
</summary>
</member>
<member name="F:System.Reflection.NullabilityState.Nullable">
<summary>
Nullable value or reference type.
</summary>
</member>
<member name="T:System.Reflection.NullabilityInfoContext">
<summary>
Provides APIs for populating nullability information/context from reflection members:
<see cref="T:System.Reflection.ParameterInfo"/>, <see cref="T:System.Reflection.FieldInfo"/>, <see cref="T:System.Reflection.PropertyInfo"/> and <see cref="T:System.Reflection.EventInfo"/>.
</summary>
</member>
<member name="M:System.Reflection.NullabilityInfoContext.Create(System.Reflection.ParameterInfo)">
<summary>
Populates <see cref="T:System.Reflection.NullabilityInfo" /> for the given <see cref="T:System.Reflection.ParameterInfo" />.
If the nullablePublicOnly feature is set for an assembly, like it does in .NET SDK, the private and/or internal member's
nullability attributes are omitted, in this case the API will return NullabilityState.Unknown state.
</summary>
<param name="parameterInfo">The parameter which nullability info gets populated.</param>
<exception cref="T:System.ArgumentNullException">If the parameterInfo parameter is null.</exception>
<returns><see cref="T:System.Reflection.NullabilityInfo" />.</returns>
</member>
<member name="M:System.Reflection.NullabilityInfoContext.Create(System.Reflection.PropertyInfo)">
<summary>
Populates <see cref="T:System.Reflection.NullabilityInfo" /> for the given <see cref="T:System.Reflection.PropertyInfo" />.
If the nullablePublicOnly feature is set for an assembly, like it does in .NET SDK, the private and/or internal member's
nullability attributes are omitted, in this case the API will return NullabilityState.Unknown state.
</summary>
<param name="propertyInfo">The parameter which nullability info gets populated.</param>
<exception cref="T:System.ArgumentNullException">If the propertyInfo parameter is null.</exception>
<returns><see cref="T:System.Reflection.NullabilityInfo" />.</returns>
</member>
<member name="M:System.Reflection.NullabilityInfoContext.Create(System.Reflection.EventInfo)">
<summary>
Populates <see cref="T:System.Reflection.NullabilityInfo" /> for the given <see cref="T:System.Reflection.EventInfo" />.
If the nullablePublicOnly feature is set for an assembly, like it does in .NET SDK, the private and/or internal member's
nullability attributes are omitted, in this case the API will return NullabilityState.Unknown state.
</summary>
<param name="eventInfo">The parameter which nullability info gets populated.</param>
<exception cref="T:System.ArgumentNullException">If the eventInfo parameter is null.</exception>
<returns><see cref="T:System.Reflection.NullabilityInfo" />.</returns>
</member>
<member name="M:System.Reflection.NullabilityInfoContext.Create(System.Reflection.FieldInfo)">
<summary>
Populates <see cref="T:System.Reflection.NullabilityInfo" /> for the given <see cref="T:System.Reflection.FieldInfo" />
If the nullablePublicOnly feature is set for an assembly, like it does in .NET SDK, the private and/or internal member's
nullability attributes are omitted, in this case the API will return NullabilityState.Unknown state.
</summary>
<param name="fieldInfo">The parameter which nullability info gets populated.</param>
<exception cref="T:System.ArgumentNullException">If the fieldInfo parameter is null.</exception>
<returns><see cref="T:System.Reflection.NullabilityInfo" />.</returns>
</member>
<member name="T:System.Reflection.NullabilityInfoHelpers">
<summary>
Polyfills for System.Private.CoreLib internals.
</summary>
</member>
<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.AdditionalPropertiesDictionary">
<summary>Provides a dictionary used as the AdditionalProperties dictionary on Microsoft.Extensions.AI objects.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary"/> class.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary"/> class.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary"/> class.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary.Clone">
<summary>Creates a shallow clone of the properties dictionary.</summary>
<returns>
A shallow clone of the properties dictionary. The instance will not be the same as the current instance,
but it will contain all of the same key-value pairs.
</returns>
</member>
<member name="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1">
<summary>Provides a dictionary used as the AdditionalProperties dictionary on Microsoft.Extensions.AI objects.</summary>
<typeparam name="TValue">The type of the values in the dictionary.</typeparam>
</member>
<member name="F:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1._dictionary">
<summary>The underlying dictionary.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1"/> class.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.#ctor(System.Collections.Generic.IDictionary{System.String,`0})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1"/> class.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,`0}})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1"/> class.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Clone">
<summary>Creates a shallow clone of the properties dictionary.</summary>
<returns>
A shallow clone of the properties dictionary. The instance will not be the same as the current instance,
but it will contain all of the same key-value pairs.
</returns>
</member>
<member name="P:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Item(System.String)">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Keys">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Values">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Count">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,TValue}}#IsReadOnly">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#IReadOnlyDictionary{System#String,TValue}#Keys">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#IReadOnlyDictionary{System#String,TValue}#Values">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Add(System.String,`0)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.TryAdd(System.String,`0)">
<summary>Attempts to add the specified key and value to the dictionary.</summary>
<param name="key">The key of the element to add.</param>
<param name="value">The value of the element to add.</param>
<returns><see langword="true"/> if the key/value pair was added to the dictionary successfully; otherwise, <see langword="false"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,TValue}}#Add(System.Collections.Generic.KeyValuePair{System.String,`0})">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Clear">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,TValue}}#Contains(System.Collections.Generic.KeyValuePair{System.String,`0})">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.ContainsKey(System.String)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{System.String,`0}[],System.Int32)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.GetEnumerator">
<summary>
Returns an enumerator that iterates through the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1"/>.
</summary>
<returns>An <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator"/> that enumerates the contents of the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{System#String,TValue}}#GetEnumerator">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#IEnumerable#GetEnumerator">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Remove(System.String)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,TValue}}#Remove(System.Collections.Generic.KeyValuePair{System.String,`0})">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.TryGetValue``1(System.String,``0@)">
<summary>Attempts to extract a typed value from the dictionary.</summary>
<typeparam name="T">Specifies the type of the value to be retrieved.</typeparam>
<param name="key">The key to locate.</param>
<param name="value">
The value retrieved from the dictionary, if found and successfully converted to the requested type;
otherwise, the default value of <typeparamref name="T"/>.
</param>
<returns>
<see langword="true"/> if a non-<see langword="null"/> value was found for <paramref name="key"/>
in the dictionary and converted to the requested type; otherwise, <see langword="false"/>.
</returns>
<remarks>
If a non-<see langword="null"/> value is found for the key in the dictionary, but the value is not of the requested type and is
an <see cref="T:System.IConvertible"/> object, the method attempts to convert the object to the requested type.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.TryGetValue(System.String,`0@)">
<summary>Gets the value associated with the specified key.</summary>
<returns><see langword="true"/> if the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1"/> contains an element with the specified key; otherwise <see langword="false"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#IDictionary{System#String,TValue}#TryGetValue(System.String,`0@)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.System#Collections#Generic#IReadOnlyDictionary{System#String,TValue}#TryGetValue(System.String,`0@)">
<inheritdoc />
</member>
<member name="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator">
<summary>Enumerates the elements of an <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1"/>.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator._dictionaryEnumerator">
<summary>The wrapped dictionary enumerator.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator.#ctor(System.Collections.Generic.Dictionary{System.String,`0}.Enumerator)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator"/> struct with the dictionary enumerator to wrap.</summary>
<param name="dictionaryEnumerator">The dictionary enumerator to wrap.</param>
</member>
<member name="P:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator.Current">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator.System#Collections#IEnumerator#Current">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator.Dispose">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator.MoveNext">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator.Reset">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.Enumerator.Reset``1(``0@)">
<summary>Calls <see cref="M:System.Collections.IEnumerator.Reset"/> on an enumerator.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.DebugView">
<summary>Provides a debugger view for the collection.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AdditionalPropertiesDictionary`1.DebugView.#ctor(Microsoft.Extensions.AI.AdditionalPropertiesDictionary{`0})">
<summary>Provides a debugger view for the collection.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AITool">
<summary>Represents a tool that can be specified to an AI service.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AITool.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AITool"/> class.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AutoChatToolMode">
<summary>
Indicates that an <see cref="T:Microsoft.Extensions.AI.IChatClient"/> is free to select any of the available tools, or none at all.
</summary>
<remarks>
Use <see cref="P:Microsoft.Extensions.AI.ChatToolMode.Auto"/> to get an instance of <see cref="T:Microsoft.Extensions.AI.AutoChatToolMode"/>.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.AutoChatToolMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AutoChatToolMode"/> class.</summary>
<remarks>Use <see cref="P:Microsoft.Extensions.AI.ChatToolMode.Auto"/> to get an instance of <see cref="T:Microsoft.Extensions.AI.AutoChatToolMode"/>.</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.AutoChatToolMode.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.AutoChatToolMode.GetHashCode">
<inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.AI.ChatClientExtensions">
<summary>Provides a collection of static methods for extending <see cref="T:Microsoft.Extensions.AI.IChatClient"/> instances.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatClientExtensions.GetService``1(Microsoft.Extensions.AI.IChatClient,System.Object)">
<summary>Asks the <see cref="T:Microsoft.Extensions.AI.IChatClient"/> for an object of type <typeparamref name="TService"/>.</summary>
<typeparam name="TService">The type of the object to be retrieved.</typeparam>
<param name="client">The client.</param>
<param name="serviceKey">An optional key that can be used to help identify the target service.</param>
<returns>The found object, otherwise <see langword="null"/>.</returns>
<remarks>
The purpose of this method is to allow for the retrieval of strongly typed services that may be provided by the <see cref="T:Microsoft.Extensions.AI.IChatClient"/>,
including itself or any services it might be wrapping.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.ChatClientExtensions.CompleteAsync(Microsoft.Extensions.AI.IChatClient,System.String,Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
<summary>Sends a user chat text message to the model and returns the response messages.</summary>
<param name="client">The chat client.</param>
<param name="chatMessage">The text content for the chat message to send.</param>
<param name="options">The chat options to configure the request.</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>The response messages generated by the client.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.ChatClientExtensions.CompleteStreamingAsync(Microsoft.Extensions.AI.IChatClient,System.String,Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
<summary>Sends a user chat text message to the model and streams the response messages.</summary>
<param name="client">The chat client.</param>
<param name="chatMessage">The text content for the chat message to send.</param>
<param name="options">The chat options to configure the request.</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>The response messages generated by the client.</returns>
</member>
<member name="T:Microsoft.Extensions.AI.ChatClientMetadata">
<summary>Provides metadata about an <see cref="T:Microsoft.Extensions.AI.IChatClient"/>.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatClientMetadata.#ctor(System.String,System.Uri,System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatClientMetadata"/> class.</summary>
<param name="providerName">
The name of the chat completion provider, if applicable. Where possible, this should map to the
appropriate name defined in the OpenTelemetry Semantic Conventions for Generative AI systems.
</param>
<param name="providerUri">The URL for accessing the chat completion provider, if applicable.</param>
<param name="modelId">The ID of the chat completion model used, if applicable.</param>
</member>
<member name="P:Microsoft.Extensions.AI.ChatClientMetadata.ProviderName">
<summary>Gets the name of the chat completion provider.</summary>
<remarks>
Where possible, this maps to the appropriate name defined in the
OpenTelemetry Semantic Conventions for Generative AI systems.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.ChatClientMetadata.ProviderUri">
<summary>Gets the URL for accessing the chat completion provider.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatClientMetadata.ModelId">
<summary>Gets the ID of the model used by this chat completion provider.</summary>
<remarks>
This value can be null if either the name is unknown or there are multiple possible models associated with this instance.
An individual request may override this value via <see cref="P:Microsoft.Extensions.AI.ChatOptions.ModelId"/>.
</remarks>
</member>
<member name="T:Microsoft.Extensions.AI.ChatCompletion">
<summary>Represents the result of a chat completion request.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.ChatCompletion._choices">
<summary>The list of choices in the completion.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatCompletion.#ctor(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/> class.</summary>
<param name="choices">The list of choices in the completion, one message per choice.</param>
</member>
<member name="M:Microsoft.Extensions.AI.ChatCompletion.#ctor(Microsoft.Extensions.AI.ChatMessage)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/> class.</summary>
<param name="message">The chat message representing the singular choice in the completion.</param>
</member>
<member name="P:Microsoft.Extensions.AI.ChatCompletion.Choices">
<summary>Gets or sets the list of chat completion choices.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatCompletion.Message">
<summary>Gets the chat completion message.</summary>
<remarks>
If there are multiple choices, this property returns the first choice.
If <see cref="P:Microsoft.Extensions.AI.ChatCompletion.Choices"/> is empty, this property will throw. Use <see cref="P:Microsoft.Extensions.AI.ChatCompletion.Choices"/> to access all choices directly.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.ChatCompletion.CompletionId">
<summary>Gets or sets the ID of the chat completion.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatCompletion.ModelId">
<summary>Gets or sets the model ID used in the creation of the chat completion.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatCompletion.CreatedAt">
<summary>Gets or sets a timestamp for the chat completion.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatCompletion.FinishReason">
<summary>Gets or sets the reason for the chat completion.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatCompletion.Usage">
<summary>Gets or sets usage details for the chat completion.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatCompletion.RawRepresentation">
<summary>Gets or sets the raw representation of the chat completion from an underlying implementation.</summary>
<remarks>
If a <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/> is created to represent some underlying object from another object
model, this property can be used to store that original object. This can be useful for debugging or
for enabling a consumer to access the underlying object model if needed.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.ChatCompletion.AdditionalProperties">
<summary>Gets or sets any additional properties associated with the chat completion.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatCompletion.ToString">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.ChatCompletion.ToStreamingChatCompletionUpdates">
<summary>Creates an array of <see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate" /> instances that represent this <see cref="T:Microsoft.Extensions.AI.ChatCompletion" />.</summary>
<returns>An array of <see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate" /> instances that may be used to represent this <see cref="T:Microsoft.Extensions.AI.ChatCompletion" />.</returns>
</member>
<member name="T:Microsoft.Extensions.AI.ChatFinishReason">
<summary>Represents the reason a chat response completed.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.ChatFinishReason._value">
<summary>The finish reason value. If null because `default(ChatFinishReason)` was used, the instance will behave like <see cref="P:Microsoft.Extensions.AI.ChatFinishReason.Stop"/>.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatFinishReason.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatFinishReason"/> struct with a string that describes the reason.</summary>
<param name="value">The reason value.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="value"/> is null.</exception>
<exception cref="T:System.ArgumentException"><paramref name="value"/> is empty or composed entirely of whitespace.</exception>
</member>
<member name="P:Microsoft.Extensions.AI.ChatFinishReason.Value">
<summary>Gets the finish reason value.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatFinishReason.Equals(System.Object)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.ChatFinishReason.Equals(Microsoft.Extensions.AI.ChatFinishReason)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.ChatFinishReason.GetHashCode">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.ChatFinishReason.op_Equality(Microsoft.Extensions.AI.ChatFinishReason,Microsoft.Extensions.AI.ChatFinishReason)">
<summary>
Compares two instances.
</summary>
<param name="left">The left argument of the comparison.</param>
<param name="right">The right argument of the comparison.</param>
<returns><see langword="true" /> if the two instances are equal; <see langword="false" /> if they aren't equal.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.ChatFinishReason.op_Inequality(Microsoft.Extensions.AI.ChatFinishReason,Microsoft.Extensions.AI.ChatFinishReason)">
<summary>
Compares two instances.
</summary>
<param name="left">The left argument of the comparison.</param>
<param name="right">The right argument of the comparison.</param>
<returns><see langword="true" /> if the two instances aren't equal; <see langword="false" /> if they are equal.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.ChatFinishReason.ToString">
<summary>Gets the <see cref="P:Microsoft.Extensions.AI.ChatFinishReason.Value"/> of the finish reason.</summary>
<returns>The <see cref="P:Microsoft.Extensions.AI.ChatFinishReason.Value"/> of the finish reason.</returns>
</member>
<member name="P:Microsoft.Extensions.AI.ChatFinishReason.Stop">
<summary>Gets a <see cref="T:Microsoft.Extensions.AI.ChatFinishReason"/> representing the model encountering a natural stop point or provided stop sequence.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatFinishReason.Length">
<summary>Gets a <see cref="T:Microsoft.Extensions.AI.ChatFinishReason"/> representing the model reaching the maximum length allowed for the request and/or response (typically in terms of tokens).</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatFinishReason.ToolCalls">
<summary>Gets a <see cref="T:Microsoft.Extensions.AI.ChatFinishReason"/> representing the model requesting the use of a tool that was defined in the request.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatFinishReason.ContentFilter">
<summary>Gets a <see cref="T:Microsoft.Extensions.AI.ChatFinishReason"/> representing the model filtering content, whether for safety, prohibited content, sensitive content, or other such issues.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.ChatFinishReason.Converter">
<summary>Provides a <see cref="T:System.Text.Json.Serialization.JsonConverter`1"/> for serializing <see cref="T:Microsoft.Extensions.AI.ChatRole"/> instances.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatFinishReason.Converter.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.ChatFinishReason.Converter.Write(System.Text.Json.Utf8JsonWriter,Microsoft.Extensions.AI.ChatFinishReason,System.Text.Json.JsonSerializerOptions)">
<inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.AI.ChatMessage">
<summary>Represents a chat message used by an <see cref="T:Microsoft.Extensions.AI.IChatClient" />.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatMessage.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> class.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatMessage.#ctor(Microsoft.Extensions.AI.ChatRole,System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> class.</summary>
<param name="role">Role of the author of the message.</param>
<param name="content">Content of the message.</param>
</member>
<member name="M:Microsoft.Extensions.AI.ChatMessage.#ctor(Microsoft.Extensions.AI.ChatRole,System.Collections.Generic.IList{Microsoft.Extensions.AI.AIContent})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> class.</summary>
<param name="role">Role of the author of the message.</param>
<param name="contents">The contents for this message.</param>
</member>
<member name="P:Microsoft.Extensions.AI.ChatMessage.AuthorName">
<summary>Gets or sets the name of the author of the message.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatMessage.Role">
<summary>Gets or sets the role of the author of the message.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatMessage.Text">
<summary>
Gets or sets the text of the first <see cref="T:Microsoft.Extensions.AI.TextContent"/> instance in <see cref="P:Microsoft.Extensions.AI.ChatMessage.Contents" />.
</summary>
<remarks>
If there is no <see cref="T:Microsoft.Extensions.AI.TextContent"/> instance in <see cref="P:Microsoft.Extensions.AI.ChatMessage.Contents" />, then the getter returns <see langword="null" />,
and the setter adds a new <see cref="T:Microsoft.Extensions.AI.TextContent"/> instance with the provided value.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.ChatMessage.Contents">
<summary>Gets or sets the chat message content items.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatMessage.RawRepresentation">
<summary>Gets or sets the raw representation of the chat message from an underlying implementation.</summary>
<remarks>
If a <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> is created to represent some underlying object from another object
model, this property can be used to store that original object. This can be useful for debugging or
for enabling a consumer to access the underlying object model if needed.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.ChatMessage.AdditionalProperties">
<summary>Gets or sets any additional properties associated with the message.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatMessage.ToString">
<inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.AI.ChatOptions">
<summary>Represents the options for a chat request.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.Temperature">
<summary>Gets or sets the temperature for generating chat responses.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.MaxOutputTokens">
<summary>Gets or sets the maximum number of tokens in the generated chat response.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.TopP">
<summary>Gets or sets the "nucleus sampling" factor (or "top p") for generating chat responses.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.TopK">
<summary>Gets or sets a count indicating how many of the most probable tokens the model should consider when generating the next part of the text.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.FrequencyPenalty">
<summary>Gets or sets the frequency penalty for generating chat responses.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.PresencePenalty">
<summary>Gets or sets the presence penalty for generating chat responses.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.Seed">
<summary>Gets or sets a seed value used by a service to control the reproducibility of results.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.ResponseFormat">
<summary>
Gets or sets the response format for the chat request.
</summary>
<remarks>
If null, no response format is specified and the client will use its default.
This property can be set to <see cref="P:Microsoft.Extensions.AI.ChatResponseFormat.Text"/> to specify that the response should be unstructured text,
to <see cref="P:Microsoft.Extensions.AI.ChatResponseFormat.Json"/> to specify that the response should be structured JSON data, or
an instance of <see cref="T:Microsoft.Extensions.AI.ChatResponseFormatJson"/> constructed with a specific JSON schema to request that the
response be structured JSON data according to that schema. It is up to the client implementation if or how
to honor the request. If the client implementation doesn't recognize the specific kind of <see cref="T:Microsoft.Extensions.AI.ChatResponseFormat"/>,
it can be ignored.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.ModelId">
<summary>Gets or sets the model ID for the chat request.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.StopSequences">
<summary>Gets or sets the stop sequences for generating chat responses.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.ToolMode">
<summary>Gets or sets the tool mode for the chat request.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.Tools">
<summary>Gets or sets the list of tools to include with a chat request.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatOptions.AdditionalProperties">
<summary>Gets or sets any additional properties associated with the options.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatOptions.Clone">
<summary>Produces a clone of the current <see cref="T:Microsoft.Extensions.AI.ChatOptions"/> instance.</summary>
<returns>A clone of the current <see cref="T:Microsoft.Extensions.AI.ChatOptions"/> instance.</returns>
<remarks>
The clone will have the same values for all properties as the original instance. Any collections, like <see cref="P:Microsoft.Extensions.AI.ChatOptions.Tools"/>,
<see cref="P:Microsoft.Extensions.AI.ChatOptions.StopSequences"/>, and <see cref="P:Microsoft.Extensions.AI.ChatOptions.AdditionalProperties"/>, are shallow-cloned, meaning a new collection instance is created,
but any references contained by the collections are shared with the original.
</remarks>
</member>
<member name="T:Microsoft.Extensions.AI.ChatResponseFormat">
<summary>Represents the response format that is desired by the caller.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatResponseFormat.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatResponseFormat"/> class.</summary>
<remarks>Prevents external instantiation. Close the inheritance hierarchy for now until we have good reason to open it.</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.ChatResponseFormat.Text">
<summary>Gets a singleton instance representing unstructured textual data.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatResponseFormat.Json">
<summary>Gets a singleton instance representing structured JSON data but without any particular schema.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatResponseFormat.ForJsonSchema(System.Text.Json.JsonElement,System.String,System.String)">
<summary>Creates a <see cref="T:Microsoft.Extensions.AI.ChatResponseFormatJson"/> representing structured JSON data with the specified schema.</summary>
<param name="schema">The JSON schema.</param>
<param name="schemaName">An optional name of the schema. For example, if the schema represents a particular class, this could be the name of the class.</param>
<param name="schemaDescription">An optional description of the schema.</param>
<returns>The <see cref="T:Microsoft.Extensions.AI.ChatResponseFormatJson"/> instance.</returns>
</member>
<member name="T:Microsoft.Extensions.AI.ChatResponseFormatJson">
<summary>Represents a response format for structured JSON data.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatResponseFormatJson.#ctor(System.Nullable{System.Text.Json.JsonElement},System.String,System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatResponseFormatJson"/> class with the specified schema.</summary>
<param name="schema">The schema to associate with the JSON response.</param>
<param name="schemaName">A name for the schema.</param>
<param name="schemaDescription">A description of the schema.</param>
</member>
<member name="P:Microsoft.Extensions.AI.ChatResponseFormatJson.Schema">
<summary>Gets the JSON schema associated with the response, or null if there is none.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatResponseFormatJson.SchemaName">
<summary>Gets a name for the schema.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatResponseFormatJson.SchemaDescription">
<summary>Gets a description of the schema.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatResponseFormatJson.DebuggerDisplay">
<summary>Gets a string representing this instance to display in the debugger.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.ChatResponseFormatText">
<summary>Represents a response format with no constraints around the format.</summary>
<remarks>
Use <see cref="P:Microsoft.Extensions.AI.ChatResponseFormat.Text"/> to get an instance of <see cref="T:Microsoft.Extensions.AI.ChatResponseFormatText"/>.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.ChatResponseFormatText.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatResponseFormatText"/> class.</summary>
<remarks> Use <see cref="P:Microsoft.Extensions.AI.ChatResponseFormat.Text"/> to get an instance of <see cref="T:Microsoft.Extensions.AI.ChatResponseFormatText"/>.</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.ChatResponseFormatText.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.ChatResponseFormatText.GetHashCode">
<inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.AI.ChatRole">
<summary>
Describes the intended purpose of a message within a chat completion interaction.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatRole.System">
<summary>Gets the role that instructs or sets the behavior of the assistant.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatRole.Assistant">
<summary>Gets the role that provides responses to system-instructed, user-prompted input.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatRole.User">
<summary>Gets the role that provides input for chat completions.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatRole.Tool">
<summary>Gets the role that provides additional information and references for chat completions.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.ChatRole.Value">
<summary>
Gets the value associated with this <see cref="T:Microsoft.Extensions.AI.ChatRole"/>.
</summary>
<remarks>
The value will be serialized into the "role" message field of the Chat Message format.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.ChatRole.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatRole"/> struct with the provided value.
</summary>
<param name="value">The value to associate with this <see cref="T:Microsoft.Extensions.AI.ChatRole"/>.</param>
</member>
<member name="M:Microsoft.Extensions.AI.ChatRole.op_Equality(Microsoft.Extensions.AI.ChatRole,Microsoft.Extensions.AI.ChatRole)">
<summary>
Returns a value indicating whether two <see cref="T:Microsoft.Extensions.AI.ChatRole"/> instances are equivalent, as determined by a
case-insensitive comparison of their values.
</summary>
<param name="left">The first <see cref="T:Microsoft.Extensions.AI.ChatRole"/> instance to compare.</param>
<param name="right">The second <see cref="T:Microsoft.Extensions.AI.ChatRole"/> instance to compare.</param>
<returns><see langword="true"/> if left and right are both null or have equivalent values; otherwise, <see langword="false"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.ChatRole.op_Inequality(Microsoft.Extensions.AI.ChatRole,Microsoft.Extensions.AI.ChatRole)">
<summary>
Returns a value indicating whether two <see cref="T:Microsoft.Extensions.AI.ChatRole"/> instances are not equivalent, as determined by a
case-insensitive comparison of their values.
</summary>
<param name="left">The first <see cref="T:Microsoft.Extensions.AI.ChatRole"/> instance to compare. </param>
<param name="right">The second <see cref="T:Microsoft.Extensions.AI.ChatRole"/> instance to compare. </param>
<returns><see langword="true"/> if left and right have different values; <see langword="false"/> if they have equivalent values or are both null.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.ChatRole.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.ChatRole.Equals(Microsoft.Extensions.AI.ChatRole)">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.ChatRole.GetHashCode">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.ChatRole.ToString">
<inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.AI.ChatRole.Converter">
<summary>Provides a <see cref="T:System.Text.Json.Serialization.JsonConverter`1"/> for serializing <see cref="T:Microsoft.Extensions.AI.ChatRole"/> instances.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatRole.Converter.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.ChatRole.Converter.Write(System.Text.Json.Utf8JsonWriter,Microsoft.Extensions.AI.ChatRole,System.Text.Json.JsonSerializerOptions)">
<inheritdoc />
</member>
<member name="T:Microsoft.Extensions.AI.ChatToolMode">
<summary>
Describes how tools should be selected by a <see cref="T:Microsoft.Extensions.AI.IChatClient"/>.
</summary>
<remarks>
The predefined values <see cref="P:Microsoft.Extensions.AI.ChatToolMode.Auto" /> and <see cref="P:Microsoft.Extensions.AI.ChatToolMode.RequireAny"/> are provided.
To nominate a specific function, use <see cref="M:Microsoft.Extensions.AI.ChatToolMode.RequireSpecific(System.String)"/>.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.ChatToolMode.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ChatToolMode"/> class.</summary>
<remarks>Prevents external instantiation. Close the inheritance hierarchy for now until we have good reason to open it.</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.ChatToolMode.Auto">
<summary>
Gets a predefined <see cref="T:Microsoft.Extensions.AI.ChatToolMode"/> indicating that tool usage is optional.
</summary>
<remarks>
<see cref="P:Microsoft.Extensions.AI.ChatOptions.Tools"/> can contain zero or more <see cref="T:Microsoft.Extensions.AI.AITool"/>
instances, and the <see cref="T:Microsoft.Extensions.AI.IChatClient"/> is free to invoke zero or more of them.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.ChatToolMode.RequireAny">
<summary>
Gets a predefined <see cref="T:Microsoft.Extensions.AI.ChatToolMode"/> indicating that tool usage is required,
but that any tool can be selected. At least one tool must be provided in <see cref="P:Microsoft.Extensions.AI.ChatOptions.Tools"/>.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ChatToolMode.RequireSpecific(System.String)">
<summary>
Instantiates a <see cref="T:Microsoft.Extensions.AI.ChatToolMode"/> indicating that tool usage is required,
and that the specified <see cref="T:Microsoft.Extensions.AI.AIFunction"/> must be selected. The function name
must match an entry in <see cref="P:Microsoft.Extensions.AI.ChatOptions.Tools"/>.
</summary>
<param name="functionName">The name of the required function.</param>
<returns>An instance of <see cref="T:Microsoft.Extensions.AI.RequiredChatToolMode"/> for the specified function name.</returns>
</member>
<member name="T:Microsoft.Extensions.AI.DelegatingChatClient">
<summary>
Provides an optional base class for an <see cref="T:Microsoft.Extensions.AI.IChatClient"/> that passes through calls to another instance.
</summary>
<remarks>
This is recommended as a base type when building clients that can be chained in any order around an underlying <see cref="T:Microsoft.Extensions.AI.IChatClient"/>.
The default implementation simply passes each call to the inner client instance.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingChatClient.#ctor(Microsoft.Extensions.AI.IChatClient)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.DelegatingChatClient"/> class.
</summary>
<param name="innerClient">The wrapped client instance.</param>
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingChatClient.Dispose">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.DelegatingChatClient.InnerClient">
<summary>Gets the inner <see cref="T:Microsoft.Extensions.AI.IChatClient" />.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingChatClient.Dispose(System.Boolean)">
<summary>Provides a mechanism for releasing unmanaged resources.</summary>
<param name="disposing"><see langword="true"/> if being called from <see cref="M:Microsoft.Extensions.AI.DelegatingChatClient.Dispose"/>; otherwise, <see langword="false"/>.</param>
</member>
<member name="P:Microsoft.Extensions.AI.DelegatingChatClient.Metadata">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingChatClient.CompleteAsync(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingChatClient.CompleteStreamingAsync(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingChatClient.GetService(System.Type,System.Object)">
<inheritdoc />
</member>
<member name="T:Microsoft.Extensions.AI.IChatClient">
<summary>Represents a chat completion client.</summary>
<remarks>
<para>
Unless otherwise specified, all members of <see cref="T:Microsoft.Extensions.AI.IChatClient"/> are thread-safe for concurrent use.
It is expected that all implementations of <see cref="T:Microsoft.Extensions.AI.IChatClient"/> support being used by multiple requests concurrently.
</para>
<para>
However, implementations of <see cref="T:Microsoft.Extensions.AI.IChatClient"/> might mutate the arguments supplied to <see cref="M:Microsoft.Extensions.AI.IChatClient.CompleteAsync(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)"/> and
<see cref="M:Microsoft.Extensions.AI.IChatClient.CompleteStreamingAsync(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)"/>, such as by adding additional messages to the messages list or configuring the options
instance. Thus, consumers of the interface either should avoid using shared instances of these arguments for concurrent
invocations or should otherwise ensure by construction that no <see cref="T:Microsoft.Extensions.AI.IChatClient"/> instances are used which might employ
such mutation. For example, the WithChatOptions method be provided with a callback that could mutate the supplied options
argument, and that should be avoided if using a singleton options instance.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.IChatClient.CompleteAsync(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
<summary>Sends chat messages to the model and returns the response messages.</summary>
<param name="chatMessages">The chat content to send.</param>
<param name="options">The chat options to configure the request.</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>The response messages generated by the client.</returns>
<remarks>
The returned messages aren't added to <paramref name="chatMessages"/>. However, any intermediate messages generated implicitly
by the client, including any messages for roundtrips to the model as part of the implementation of this request, are included.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.IChatClient.CompleteStreamingAsync(System.Collections.Generic.IList{Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatOptions,System.Threading.CancellationToken)">
<summary>Sends chat messages to the model and streams the response messages.</summary>
<param name="chatMessages">The chat content to send.</param>
<param name="options">The chat options to configure the request.</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>The response messages generated by the client.</returns>
<remarks>
The returned messages aren't added to <paramref name="chatMessages"/>. However, any intermediate messages generated implicitly
by the client, including any messages for roundtrips to the model as part of the implementation of this request, are included.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.IChatClient.Metadata">
<summary>Gets metadata that describes the <see cref="T:Microsoft.Extensions.AI.IChatClient"/>.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.IChatClient.GetService(System.Type,System.Object)">
<summary>Asks the <see cref="T:Microsoft.Extensions.AI.IChatClient"/> for an object of the specified type <paramref name="serviceType"/>.</summary>
<param name="serviceType">The type of object being requested.</param>
<param name="serviceKey">An optional key that can be used to help identify the target service.</param>
<returns>The found object, otherwise <see langword="null"/>.</returns>
<remarks>
The purpose of this method is to allow for the retrieval of strongly typed services that might be provided by the <see cref="T:Microsoft.Extensions.AI.IChatClient"/>,
including itself or any services it might be wrapping.
</remarks>
</member>
<member name="T:Microsoft.Extensions.AI.RequiredChatToolMode">
<summary>
Represents a mode where a chat tool must be called. This class can optionally nominate a specific function
or indicate that any of the functions can be selected.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.RequiredChatToolMode.RequiredFunctionName">
<summary>
Gets the name of a specific <see cref="T:Microsoft.Extensions.AI.AIFunction"/> that must be called.
</summary>
<remarks>
If the value is <see langword="null"/>, any available function can be selected (but at least one must be).
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.RequiredChatToolMode.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.RequiredChatToolMode"/> class that requires a specific function to be called.
</summary>
<param name="requiredFunctionName">The name of the function that must be called.</param>
<remarks>
<paramref name="requiredFunctionName"/> can be <see langword="null"/>. However, it's preferable to use
<see cref="P:Microsoft.Extensions.AI.ChatToolMode.RequireAny"/> when any function can be selected.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.RequiredChatToolMode.DebuggerDisplay">
<summary>Gets a string representing this instance to display in the debugger.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.RequiredChatToolMode.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.RequiredChatToolMode.GetHashCode">
<inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate">
<summary>
Represents a single streaming response chunk from an <see cref="T:Microsoft.Extensions.AI.IChatClient"/>.
</summary>
<remarks>
<para>
Conceptually, this combines the roles of <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/> and <see cref="T:Microsoft.Extensions.AI.ChatMessage"/>
in streaming output. For ease of consumption, it also flattens the nested structure you see on
streaming chunks in some AI service, so instead of a dictionary of choices, each update represents a
single choice (and hence has its own role, choice ID, etc.).
</para>
<para>
<see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate"/> is so named because it represents streaming updates
to a single chat completion. As such, it is considered erroneous for multiple updates that are part
of the same completion to contain competing values. For example, some updates that are part of
the same completion may have a <see langword="null"/> <see cref="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.Role"/>
value, and others may have a non-<see langword="null"/> value, but all of those with a non-<see langword="null"/>
value must have the same value (e.g. <see cref="P:Microsoft.Extensions.AI.ChatRole.Assistant"/>. It should never be the case, for example,
that one <see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate"/> in a completion has a role of <see cref="P:Microsoft.Extensions.AI.ChatRole.Assistant"/>
while another has a role of "AI".
</para>
<para>
The relationship between <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/> and <see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate"/> is
codified in the <see cref="M:Microsoft.Extensions.AI.StreamingChatCompletionUpdateExtensions.ToChatCompletionAsync(System.Collections.Generic.IAsyncEnumerable{Microsoft.Extensions.AI.StreamingChatCompletionUpdate},System.Boolean,System.Threading.CancellationToken)"/> and
<see cref="M:Microsoft.Extensions.AI.ChatCompletion.ToStreamingChatCompletionUpdates"/>, which enable bidirectional conversions
between the two. Note, however, that the conversion may be slightly lossy, for example if multiple updates
all have different <see cref="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.RawRepresentation"/> objects whereas there's
only one slot for such an object available in <see cref="P:Microsoft.Extensions.AI.ChatCompletion.RawRepresentation"/>.
</para>
</remarks>
</member>
<member name="F:Microsoft.Extensions.AI.StreamingChatCompletionUpdate._contents">
<summary>The completion update content items.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.StreamingChatCompletionUpdate._authorName">
<summary>The name of the author of the update.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.AuthorName">
<summary>Gets or sets the name of the author of the completion update.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.Role">
<summary>Gets or sets the role of the author of the completion update.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.Text">
<summary>
Gets or sets the text of the first <see cref="T:Microsoft.Extensions.AI.TextContent"/> instance in <see cref="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.Contents" />.
</summary>
<remarks>
If there is no <see cref="T:Microsoft.Extensions.AI.TextContent"/> instance in <see cref="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.Contents" />, then the getter returns <see langword="null" />,
and the setter will add new <see cref="T:Microsoft.Extensions.AI.TextContent"/> instance with the provided value.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.Contents">
<summary>Gets or sets the chat completion update content items.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.RawRepresentation">
<summary>Gets or sets the raw representation of the completion update from an underlying implementation.</summary>
<remarks>
If a <see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate"/> is created to represent some underlying object from another object
model, this property can be used to store that original object. This can be useful for debugging or
for enabling a consumer to access the underlying object model if needed.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.AdditionalProperties">
<summary>Gets or sets additional properties for the update.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.CompletionId">
<summary>Gets or sets the ID of the completion of which this update is a part.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.CreatedAt">
<summary>Gets or sets a timestamp for the completion update.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.ChoiceIndex">
<summary>Gets or sets the zero-based index of the choice with which this update is associated in the streaming sequence.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.FinishReason">
<summary>Gets or sets the finish reason for the operation.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.ModelId">
<summary>Gets or sets the model ID using in the creation of the chat completion of which this update is a part.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.ToString">
<inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdateExtensions">
<summary>
Provides extension methods for working with <see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate"/> instances.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.StreamingChatCompletionUpdateExtensions.ToChatCompletion(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.StreamingChatCompletionUpdate},System.Boolean)">
<summary>Combines <see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate"/> instances into a single <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/>.</summary>
<param name="updates">The updates to be combined.</param>
<param name="coalesceContent">
<see langword="true"/> to attempt to coalesce contiguous <see cref="T:Microsoft.Extensions.AI.AIContent"/> items, where applicable,
into a single <see cref="T:Microsoft.Extensions.AI.AIContent"/>, in order to reduce the number of individual content items that are included in
the manufactured <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> instances. When <see langword="false"/>, the original content items are used.
The default is <see langword="true"/>.
</param>
<returns>The combined <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.StreamingChatCompletionUpdateExtensions.ToChatCompletionAsync(System.Collections.Generic.IAsyncEnumerable{Microsoft.Extensions.AI.StreamingChatCompletionUpdate},System.Boolean,System.Threading.CancellationToken)">
<summary>Combines <see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate"/> instances into a single <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/>.</summary>
<param name="updates">The updates to be combined.</param>
<param name="coalesceContent">
<see langword="true"/> to attempt to coalesce contiguous <see cref="T:Microsoft.Extensions.AI.AIContent"/> items, where applicable,
into a single <see cref="T:Microsoft.Extensions.AI.AIContent"/>, in order to reduce the number of individual content items that are included in
the manufactured <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> instances. When <see langword="false"/>, the original content items are used.
The default is <see langword="true"/>.
</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>The combined <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.StreamingChatCompletionUpdateExtensions.ProcessUpdate(Microsoft.Extensions.AI.StreamingChatCompletionUpdate,System.Collections.Generic.Dictionary{System.Int32,Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatCompletion)">
<summary>Processes the <see cref="T:Microsoft.Extensions.AI.StreamingChatCompletionUpdate"/>, incorporating its contents into <paramref name="messages"/> and <paramref name="completion"/>.</summary>
<param name="update">The update to process.</param>
<param name="messages">The dictionary mapping <see cref="P:Microsoft.Extensions.AI.StreamingChatCompletionUpdate.ChoiceIndex"/> to the <see cref="T:Microsoft.Extensions.AI.ChatMessage"/> being built for that choice.</param>
<param name="completion">The <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/> object whose properties should be updated based on <paramref name="update"/>.</param>
</member>
<member name="M:Microsoft.Extensions.AI.StreamingChatCompletionUpdateExtensions.AddMessagesToCompletion(System.Collections.Generic.Dictionary{System.Int32,Microsoft.Extensions.AI.ChatMessage},Microsoft.Extensions.AI.ChatCompletion,System.Boolean)">
<summary>Finalizes the <paramref name="completion"/> object by transferring the <paramref name="messages"/> into it.</summary>
<param name="messages">The messages to process further and transfer into <paramref name="completion"/>.</param>
<param name="completion">The result <see cref="T:Microsoft.Extensions.AI.ChatCompletion"/> being built.</param>
<param name="coalesceContent">The corresponding option value provided to <see cref="M:Microsoft.Extensions.AI.StreamingChatCompletionUpdateExtensions.ToChatCompletion(System.Collections.Generic.IEnumerable{Microsoft.Extensions.AI.StreamingChatCompletionUpdate},System.Boolean)"/> or <see cref="M:Microsoft.Extensions.AI.StreamingChatCompletionUpdateExtensions.ToChatCompletionAsync(System.Collections.Generic.IAsyncEnumerable{Microsoft.Extensions.AI.StreamingChatCompletionUpdate},System.Boolean,System.Threading.CancellationToken)"/>.</param>
</member>
<member name="M:Microsoft.Extensions.AI.StreamingChatCompletionUpdateExtensions.CoalesceTextContent(System.Collections.Generic.List{Microsoft.Extensions.AI.AIContent})">
<summary>Coalesces sequential <see cref="T:Microsoft.Extensions.AI.TextContent"/> content elements.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AIContent">
<summary>Provides a base class for all content used with AI services.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIContent.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AIContent"/> class.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIContent.RawRepresentation">
<summary>Gets or sets the raw representation of the content from an underlying implementation.</summary>
<remarks>
If an <see cref="T:Microsoft.Extensions.AI.AIContent"/> is created to represent some underlying object from another object
model, this property can be used to store that original object. This can be useful for debugging or
for enabling a consumer to access the underlying object model if needed.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.AIContent.AdditionalProperties">
<summary>Gets or sets additional properties for the content.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AIContentExtensions">
<summary>Internal extensions for working with <see cref="T:Microsoft.Extensions.AI.AIContent"/>.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIContentExtensions.FindFirst``1(System.Collections.Generic.IList{Microsoft.Extensions.AI.AIContent})">
<summary>Finds the first occurrence of a <typeparamref name="T"/> in the list.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIContentExtensions.ConcatText(System.Collections.Generic.IList{Microsoft.Extensions.AI.AIContent})">
<summary>Concatenates the text of all <see cref="T:Microsoft.Extensions.AI.TextContent"/> instances in the list.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AudioContent">
<summary>
Represents audio content.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AudioContent.#ctor(System.Uri,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AudioContent"/> class.
</summary>
<param name="uri">The URI of the content. This can be a data URI.</param>
<param name="mediaType">The media type (also known as MIME type) represented by the content.</param>
</member>
<member name="M:Microsoft.Extensions.AI.AudioContent.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AudioContent"/> class.
</summary>
<param name="uri">The URI of the content. This can be a data URI.</param>
<param name="mediaType">The media type (also known as MIME type) represented by the content.</param>
</member>
<member name="M:Microsoft.Extensions.AI.AudioContent.#ctor(System.ReadOnlyMemory{System.Byte},System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AudioContent"/> class.
</summary>
<param name="data">The byte contents.</param>
<param name="mediaType">The media type (also known as MIME type) represented by the content.</param>
</member>
<member name="T:Microsoft.Extensions.AI.DataContent">
<summary>
Represents data content, such as an image or audio.
</summary>
<remarks>
<para>
The represented content may either be the actual bytes stored in this instance, or it may
be a URI that references the location of the content.
</para>
<para>
<see cref="P:Microsoft.Extensions.AI.DataContent.Uri"/> always returns a valid URI string, even if the instance was constructed from
a <see cref="T:System.ReadOnlyMemory`1"/>. In that case, a data URI will be constructed and returned.
</para>
</remarks>
</member>
<member name="F:Microsoft.Extensions.AI.DataContent._uri">
<summary>The string-based representation of the URI, including any data in the instance.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.DataContent._data">
<summary>The data, lazily initialized if the data is provided in a data URI.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.DataContent._dataUri">
<summary>Parsed data URI information.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.DataContent.#ctor(System.Uri,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.DataContent"/> class.
</summary>
<param name="uri">The URI of the content. This can be a data URI.</param>
<param name="mediaType">The media type (also known as MIME type) represented by the content.</param>
</member>
<member name="M:Microsoft.Extensions.AI.DataContent.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.DataContent"/> class.
</summary>
<param name="uri">The URI of the content. This can be a data URI.</param>
<param name="mediaType">The media type (also known as MIME type) represented by the content.</param>
</member>
<member name="M:Microsoft.Extensions.AI.DataContent.#ctor(System.ReadOnlyMemory{System.Byte},System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.DataContent"/> class.
</summary>
<param name="data">The byte contents.</param>
<param name="mediaType">The media type (also known as MIME type) represented by the content.</param>
</member>
<member name="M:Microsoft.Extensions.AI.DataContent.ValidateMediaType(System.String@)">
<summary>Sets <paramref name="mediaType"/> to null if it's empty or composed entirely of whitespace.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.DataContent.Uri">
<summary>Gets the URI for this <see cref="T:Microsoft.Extensions.AI.DataContent"/>.</summary>
<remarks>
The returned URI is always a valid URI string, even if the instance was constructed from a <see cref="T:System.ReadOnlyMemory`1"/>
or from a <see cref="T:System.Uri"/>. In the case of a <see cref="T:System.ReadOnlyMemory`1"/>, this property returns a data URI containing
that data.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.DataContent.MediaType">
<summary>Gets the media type (also known as MIME type) of the content.</summary>
<remarks>
If the media type was explicitly specified, this property returns that value.
If the media type was not explicitly specified, but a data URI was supplied and that data URI contained a non-default
media type, that media type is returned.
Otherwise, this property returns null.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.DataContent.ContainsData">
<summary>
Gets a value indicating whether the content contains data rather than only being a reference to data.
</summary>
<remarks>
If the instance is constructed from a <see cref="T:System.ReadOnlyMemory`1"/> or from a data URI, this property returns <see langword="true"/>,
as the instance actually contains all of the data it represents. If, however, the instance was constructed from another form of URI, one
that simply references where the data can be found but doesn't actually contain the data, this property returns <see langword="false"/>.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.DataContent.Data">
<summary>Gets the data represented by this instance.</summary>
<remarks>
If <see cref="P:Microsoft.Extensions.AI.DataContent.ContainsData"/> is <see langword="true" />, this property returns the represented data.
If <see cref="P:Microsoft.Extensions.AI.DataContent.ContainsData"/> is <see langword="false" />, this property returns <see langword="null" />.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.DataContent.DebuggerDisplay">
<summary>Gets a string representing this instance to display in the debugger.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.DataUriParser">
<summary>
Minimal data URI parser based on RFC 2397: https://datatracker.ietf.org/doc/html/rfc2397.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.DataUriParser.IsValidMediaType(System.ReadOnlySpan{System.Char},System.String@)">
<summary>Validates that a media type is valid, and if successful, ensures we have it as a string.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.DataUriParser.IsValidBase64Data(System.ReadOnlySpan{System.Char})">
<summary>Test whether the value is a base64 string without whitespace.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.DataUriParser.DataUri">
<summary>Provides the parts of a parsed data URI.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.DataUriParser.DataUri.#ctor(System.ReadOnlyMemory{System.Char},System.Boolean,System.String)">
<summary>Provides the parts of a parsed data URI.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.FunctionCallContent">
<summary>
Represents a function call request.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.FunctionCallContent.#ctor(System.String,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.FunctionCallContent"/> class.
</summary>
<param name="callId">The function call ID.</param>
<param name="name">The function name.</param>
<param name="arguments">The function original arguments.</param>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionCallContent.CallId">
<summary>
Gets or sets the function call ID.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionCallContent.Name">
<summary>
Gets or sets the name of the function requested.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionCallContent.Arguments">
<summary>
Gets or sets the arguments requested to be provided to the function.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionCallContent.Exception">
<summary>
Gets or sets any exception that occurred while mapping the original function call data to this class.
</summary>
<remarks>
This property is for information purposes only. The <see cref="P:Microsoft.Extensions.AI.FunctionCallContent.Exception"/> is not serialized as part of serializing
instances of this class with <see cref="T:System.Text.Json.JsonSerializer"/>; as such, upon deserialization, this property will be <see langword="null"/>.
Consumers should not rely on <see langword="null"/> indicating success.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.FunctionCallContent.CreateFromParsedArguments``1(``0,System.String,System.String,System.Func{``0,System.Collections.Generic.IDictionary{System.String,System.Object}})">
<summary>
Creates a new instance of <see cref="T:Microsoft.Extensions.AI.FunctionCallContent"/> parsing arguments using a specified encoding and parser.
</summary>
<typeparam name="TEncoding">The encoding format from which to parse function call arguments.</typeparam>
<param name="encodedArguments">The input arguments encoded in <typeparamref name="TEncoding"/>.</param>
<param name="callId">The function call ID.</param>
<param name="name">The function name.</param>
<param name="argumentParser">The parsing implementation converting the encoding to a dictionary of arguments.</param>
<returns>A new instance of <see cref="T:Microsoft.Extensions.AI.FunctionCallContent"/> containing the parse result.</returns>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionCallContent.DebuggerDisplay">
<summary>Gets a string representing this instance to display in the debugger.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.FunctionResultContent">
<summary>
Represents the result of a function call.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.FunctionResultContent.#ctor(System.String,System.String,System.Object)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.FunctionResultContent"/> class.
</summary>
<param name="callId">The function call ID for which this is the result.</param>
<param name="name">The function name that produced the result.</param>
<param name="result">
<see langword="null"/> if the function returned <see langword="null"/> or was void-returning
and thus had no result, or if the function call failed. Typically, however, to provide meaningfully representative
information to an AI service, a human-readable representation of those conditions should be supplied.
</param>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionResultContent.CallId">
<summary>
Gets or sets the ID of the function call for which this is the result.
</summary>
<remarks>
If this is the result for a <see cref="T:Microsoft.Extensions.AI.FunctionCallContent"/>, this property should contain the same
<see cref="P:Microsoft.Extensions.AI.FunctionCallContent.CallId"/> value.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionResultContent.Name">
<summary>
Gets or sets the name of the function that was called.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionResultContent.Result">
<summary>
Gets or sets the result of the function call, or a generic error message if the function call failed.
</summary>
<remarks>
<see langword="null"/> if the function returned <see langword="null"/> or was void-returning
and thus had no result, or if the function call failed. Typically, however, to provide meaningfully representative
information to an AI service, a human-readable representation of those conditions should be supplied.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionResultContent.Exception">
<summary>
Gets or sets an exception that occurred if the function call failed.
</summary>
<remarks>
This property is for informational purposes only. The <see cref="P:Microsoft.Extensions.AI.FunctionResultContent.Exception"/> is not serialized as part of serializing
instances of this class with <see cref="T:System.Text.Json.JsonSerializer"/>. As such, upon deserialization, this property will be <see langword="null"/>.
Consumers should not rely on <see langword="null"/> indicating success.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.FunctionResultContent.DebuggerDisplay">
<summary>Gets a string representing this instance to display in the debugger.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.ImageContent">
<summary>
Represents image content.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.ImageContent.#ctor(System.Uri,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ImageContent"/> class.
</summary>
<param name="uri">The URI of the content. This can be a data URI.</param>
<param name="mediaType">The media type (also known as MIME type) represented by the content.</param>
</member>
<member name="M:Microsoft.Extensions.AI.ImageContent.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ImageContent"/> class.
</summary>
<param name="uri">The URI of the content. This can be a data URI.</param>
<param name="mediaType">The media type (also known as MIME type) represented by the content.</param>
</member>
<member name="M:Microsoft.Extensions.AI.ImageContent.#ctor(System.ReadOnlyMemory{System.Byte},System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.ImageContent"/> class.
</summary>
<param name="data">The byte contents.</param>
<param name="mediaType">The media type (also known as MIME type) represented by the content.</param>
</member>
<member name="T:Microsoft.Extensions.AI.TextContent">
<summary>
Represents text content in a chat.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.TextContent.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.TextContent"/> class.
</summary>
<param name="text">The text content.</param>
</member>
<member name="P:Microsoft.Extensions.AI.TextContent.Text">
<summary>
Gets or sets the text content.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.TextContent.ToString">
<inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.AI.UsageContent">
<summary>
Represents usage information associated with a chat response.
</summary>
</member>
<member name="F:Microsoft.Extensions.AI.UsageContent._details">
<summary>Usage information.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.UsageContent.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.UsageContent"/> class with an empty <see cref="T:Microsoft.Extensions.AI.UsageDetails"/>.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.UsageContent.#ctor(Microsoft.Extensions.AI.UsageDetails)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.UsageContent"/> class with the specified <see cref="T:Microsoft.Extensions.AI.UsageDetails"/> instance.</summary>
<param name="details">The usage details to store in this content.</param>
</member>
<member name="P:Microsoft.Extensions.AI.UsageContent.Details">
<summary>Gets or sets the usage information.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.UsageContent.DebuggerDisplay">
<summary>Gets a string representing this instance to display in the debugger.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2">
<summary>
Provides an optional base class for an <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> that passes through calls to another instance.
</summary>
<typeparam name="TInput">The type of the input passed to the generator.</typeparam>
<typeparam name="TEmbedding">The type of the embedding instance produced by the generator.</typeparam>
<remarks>
This type is recommended as a base type when building generators that can be chained in any order around an underlying <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/>.
The default implementation simply passes each call to the inner generator instance.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2.#ctor(Microsoft.Extensions.AI.IEmbeddingGenerator{`0,`1})">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2"/> class.
</summary>
<param name="innerGenerator">The wrapped generator instance.</param>
</member>
<member name="P:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2.InnerGenerator">
<summary>Gets the inner <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2" />.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2.Dispose">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2.Dispose(System.Boolean)">
<summary>Provides a mechanism for releasing unmanaged resources.</summary>
<param name="disposing"><see langword="true"/> if being called from <see cref="M:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2.Dispose"/>; otherwise, <see langword="false"/>.</param>
</member>
<member name="P:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2.Metadata">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2.GenerateAsync(System.Collections.Generic.IEnumerable{`0},Microsoft.Extensions.AI.EmbeddingGenerationOptions,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.DelegatingEmbeddingGenerator`2.GetService(System.Type,System.Object)">
<inheritdoc />
</member>
<member name="T:Microsoft.Extensions.AI.Embedding">
<summary>Represents an embedding generated by a <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/>.</summary>
<remarks>This base class provides metadata about the embedding. Derived types provide the concrete data contained in the embedding.</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.Embedding.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.Embedding"/> class.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.Embedding.CreatedAt">
<summary>Gets or sets a timestamp at which the embedding was created.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.Embedding.ModelId">
<summary>Gets or sets the model ID using in the creation of the embedding.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.Embedding.AdditionalProperties">
<summary>Gets or sets any additional properties associated with the embedding.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.EmbeddingGenerationOptions">
<summary>Represents the options for an embedding generation request.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.EmbeddingGenerationOptions.Dimensions">
<summary>Gets or sets the number of dimensions requested in the embedding.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.EmbeddingGenerationOptions.ModelId">
<summary>Gets or sets the model ID for the embedding generation request.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.EmbeddingGenerationOptions.AdditionalProperties">
<summary>Gets or sets additional properties for the embedding generation request.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.EmbeddingGenerationOptions.Clone">
<summary>Produces a clone of the current <see cref="T:Microsoft.Extensions.AI.EmbeddingGenerationOptions"/> instance.</summary>
<returns>A clone of the current <see cref="T:Microsoft.Extensions.AI.EmbeddingGenerationOptions"/> instance.</returns>
<remarks>
The clone will have the same values for all properties as the original instance. Any collections, like <see cref="P:Microsoft.Extensions.AI.EmbeddingGenerationOptions.AdditionalProperties"/>
are shallow-cloned, meaning a new collection instance is created, but any references contained by the collections are shared with the original.
</remarks>
</member>
<member name="T:Microsoft.Extensions.AI.EmbeddingGeneratorExtensions">
<summary>Provides a collection of static methods for extending <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> instances.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.EmbeddingGeneratorExtensions.GetService``3(Microsoft.Extensions.AI.IEmbeddingGenerator{``0,``1},System.Object)">
<summary>Asks the <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> for an object of type <typeparamref name="TService"/>.</summary>
<typeparam name="TInput">The type from which embeddings will be generated.</typeparam>
<typeparam name="TEmbedding">The numeric type of the embedding data.</typeparam>
<typeparam name="TService">The type of the object to be retrieved.</typeparam>
<param name="generator">The generator.</param>
<param name="serviceKey">An optional key that can be used to help identify the target service.</param>
<returns>The found object, otherwise <see langword="null"/>.</returns>
<remarks>
The purpose of this method is to allow for the retrieval of strongly typed services that may be provided by the
<see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/>, including itself or any services it might be wrapping.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.EmbeddingGeneratorExtensions.GetService``1(Microsoft.Extensions.AI.IEmbeddingGenerator{System.String,Microsoft.Extensions.AI.Embedding{System.Single}},System.Object)">
<summary>Asks the <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> for an object of type <typeparamref name="TService"/>.</summary>
<typeparam name="TService">The type of the object to be retrieved.</typeparam>
<param name="generator">The generator.</param>
<param name="serviceKey">An optional key that can be used to help identify the target service.</param>
<returns>The found object, otherwise <see langword="null"/>.</returns>
<remarks>
The purpose of this method is to allow for the retrieval of strongly typed services that may be provided by the
<see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/>, including itself or any services it might be wrapping.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.EmbeddingGeneratorExtensions.GenerateEmbeddingVectorAsync``2(Microsoft.Extensions.AI.IEmbeddingGenerator{``0,Microsoft.Extensions.AI.Embedding{``1}},``0,Microsoft.Extensions.AI.EmbeddingGenerationOptions,System.Threading.CancellationToken)">
<summary>Generates an embedding vector from the specified <paramref name="value"/>.</summary>
<typeparam name="TInput">The type from which embeddings will be generated.</typeparam>
<typeparam name="TEmbedding">The numeric type of the embedding data.</typeparam>
<param name="generator">The embedding generator.</param>
<param name="value">A value from which an embedding will be generated.</param>
<param name="options">The embedding generation options to configure the request.</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>The generated embedding for the specified <paramref name="value"/>.</returns>
<remarks>
This operation is equivalent to using <see cref="M:Microsoft.Extensions.AI.EmbeddingGeneratorExtensions.GenerateEmbeddingAsync``2(Microsoft.Extensions.AI.IEmbeddingGenerator{``0,``1},``0,Microsoft.Extensions.AI.EmbeddingGenerationOptions,System.Threading.CancellationToken)"/> and returning the
resulting <see cref="T:Microsoft.Extensions.AI.Embedding`1"/>'s <see cref="P:Microsoft.Extensions.AI.Embedding`1.Vector"/> property.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.EmbeddingGeneratorExtensions.GenerateEmbeddingAsync``2(Microsoft.Extensions.AI.IEmbeddingGenerator{``0,``1},``0,Microsoft.Extensions.AI.EmbeddingGenerationOptions,System.Threading.CancellationToken)">
<summary>Generates an embedding from the specified <paramref name="value"/>.</summary>
<typeparam name="TInput">The type from which embeddings will be generated.</typeparam>
<typeparam name="TEmbedding">The type of embedding to generate.</typeparam>
<param name="generator">The embedding generator.</param>
<param name="value">A value from which an embedding will be generated.</param>
<param name="options">The embedding generation options to configure the request.</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>
The generated embedding for the specified <paramref name="value"/>.
</returns>
<remarks>
This operations is equivalent to using <see cref="M:Microsoft.Extensions.AI.IEmbeddingGenerator`2.GenerateAsync(System.Collections.Generic.IEnumerable{`0},Microsoft.Extensions.AI.EmbeddingGenerationOptions,System.Threading.CancellationToken)"/> with a
collection composed of the single <paramref name="value"/> and then returning the first embedding element from the
resulting <see cref="T:Microsoft.Extensions.AI.GeneratedEmbeddings`1"/> collection.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.EmbeddingGeneratorExtensions.GenerateAndZipAsync``2(Microsoft.Extensions.AI.IEmbeddingGenerator{``0,``1},System.Collections.Generic.IEnumerable{``0},Microsoft.Extensions.AI.EmbeddingGenerationOptions,System.Threading.CancellationToken)">
<summary>
Generates embeddings for each of the supplied <paramref name="values"/> and produces a list that pairs
each input value with its resulting embedding.
</summary>
<typeparam name="TInput">The type from which embeddings will be generated.</typeparam>
<typeparam name="TEmbedding">The type of embedding to generate.</typeparam>
<param name="generator">The embedding generator.</param>
<param name="values">The collection of values for which to generate embeddings.</param>
<param name="options">The embedding generation options to configure the request.</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>An array containing tuples of the input values and the associated generated embeddings.</returns>
</member>
<member name="T:Microsoft.Extensions.AI.EmbeddingGeneratorMetadata">
<summary>Provides metadata about an <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/>.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.EmbeddingGeneratorMetadata.#ctor(System.String,System.Uri,System.String,System.Nullable{System.Int32})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.EmbeddingGeneratorMetadata"/> class.</summary>
<param name="providerName">
The name of the embedding generation provider, if applicable. Where possible, this should map to the
appropriate name defined in the OpenTelemetry Semantic Conventions for Generative AI systems.
</param>
<param name="providerUri">The URL for accessing the embedding generation provider, if applicable.</param>
<param name="modelId">The ID of the embedding generation model used, if applicable.</param>
<param name="dimensions">The number of dimensions in vectors produced by this generator, if applicable.</param>
</member>
<member name="P:Microsoft.Extensions.AI.EmbeddingGeneratorMetadata.ProviderName">
<summary>Gets the name of the embedding generation provider.</summary>
<remarks>
Where possible, this maps to the appropriate name defined in the
OpenTelemetry Semantic Conventions for Generative AI systems.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.EmbeddingGeneratorMetadata.ProviderUri">
<summary>Gets the URL for accessing the embedding generation provider.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.EmbeddingGeneratorMetadata.ModelId">
<summary>Gets the ID of the model used by this embedding generation provider.</summary>
<remarks>
This value can be null if either the name is unknown or there are multiple possible models associated with this instance.
An individual request may override this value via <see cref="P:Microsoft.Extensions.AI.EmbeddingGenerationOptions.ModelId"/>.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.EmbeddingGeneratorMetadata.Dimensions">
<summary>Gets the number of dimensions in the embeddings produced by this instance.</summary>
<remarks>
This value can be null if either the number of dimensions is unknown or there are multiple possible lengths associated with this instance.
An individual request may override this value via <see cref="P:Microsoft.Extensions.AI.EmbeddingGenerationOptions.Dimensions"/>.
</remarks>
</member>
<member name="T:Microsoft.Extensions.AI.Embedding`1">
<summary>Represents an embedding composed of a vector of <typeparamref name="T"/> values.</summary>
<typeparam name="T">The type of the values in the embedding vector.</typeparam>
<remarks>Typical values of <typeparamref name="T"/> are <see cref="T:System.Single"/>, <see cref="T:System.Double"/>, or Half.</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.Embedding`1.#ctor(System.ReadOnlyMemory{`0})">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.Embedding`1"/> class with the embedding vector.</summary>
<param name="vector">The embedding vector this embedding represents.</param>
</member>
<member name="P:Microsoft.Extensions.AI.Embedding`1.Vector">
<summary>Gets or sets the embedding vector this embedding represents.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.GeneratedEmbeddings`1">
<summary>Represents the result of an operation to generate embeddings.</summary>
<typeparam name="TEmbedding">Specifies the type of the generated embeddings.</typeparam>
</member>
<member name="F:Microsoft.Extensions.AI.GeneratedEmbeddings`1._embeddings">
<summary>The underlying list of embeddings.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.GeneratedEmbeddings`1"/> class.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.#ctor(System.Int32)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.GeneratedEmbeddings`1"/> class with the specified capacity.</summary>
<param name="capacity">The number of embeddings that the new list can initially store.</param>
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.GeneratedEmbeddings`1"/> class that contains all of the embeddings from the specified collection.
</summary>
<param name="embeddings">The collection whose embeddings are copied to the new list.</param>
</member>
<member name="P:Microsoft.Extensions.AI.GeneratedEmbeddings`1.Usage">
<summary>Gets or sets usage details for the embeddings' generation.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.GeneratedEmbeddings`1.AdditionalProperties">
<summary>Gets or sets any additional properties associated with the embeddings.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.GeneratedEmbeddings`1.Item(System.Int32)">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.GeneratedEmbeddings`1.Count">
<inheritdoc />
</member>
<member name="P:Microsoft.Extensions.AI.GeneratedEmbeddings`1.System#Collections#Generic#ICollection{TEmbedding}#IsReadOnly">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.Add(`0)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
<summary>Adds the embeddings from the specified collection to the end of this list.</summary>
<param name="items">The collection whose elements should be added to this list.</param>
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.Clear">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.Contains(`0)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.CopyTo(`0[],System.Int32)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.GetEnumerator">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.System#Collections#IEnumerable#GetEnumerator">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.IndexOf(`0)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.Insert(System.Int32,`0)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.Remove(`0)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.AI.GeneratedEmbeddings`1.RemoveAt(System.Int32)">
<inheritdoc />
</member>
<member name="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2">
<summary>Represents a generator of embeddings.</summary>
<typeparam name="TInput">The type from which embeddings will be generated.</typeparam>
<typeparam name="TEmbedding">The type of embeddings to generate.</typeparam>
<remarks>
<para>
Unless otherwise specified, all members of <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> are thread-safe for concurrent use.
It is expected that all implementations of <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> support being used by multiple requests concurrently.
</para>
<para>
However, implementations of <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> may mutate the arguments supplied to
<see cref="M:Microsoft.Extensions.AI.IEmbeddingGenerator`2.GenerateAsync(System.Collections.Generic.IEnumerable{`0},Microsoft.Extensions.AI.EmbeddingGenerationOptions,System.Threading.CancellationToken)"/>, such as by adding additional values to the values list or configuring the options
instance. Thus, consumers of the interface either should avoid using shared instances of these arguments for concurrent
invocations or should otherwise ensure by construction that no <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> instances
are used which might employ such mutation.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.IEmbeddingGenerator`2.GenerateAsync(System.Collections.Generic.IEnumerable{`0},Microsoft.Extensions.AI.EmbeddingGenerationOptions,System.Threading.CancellationToken)">
<summary>Generates embeddings for each of the supplied <paramref name="values"/>.</summary>
<param name="values">The collection of values for which to generate embeddings.</param>
<param name="options">The embedding generation options to configure the request.</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>The generated embeddings.</returns>
</member>
<member name="P:Microsoft.Extensions.AI.IEmbeddingGenerator`2.Metadata">
<summary>Gets metadata that describes the <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/>.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.IEmbeddingGenerator`2.GetService(System.Type,System.Object)">
<summary>Asks the <see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/> for an object of the specified type <paramref name="serviceType"/>.</summary>
<param name="serviceType">The type of object being requested.</param>
<param name="serviceKey">An optional key that can be used to help identify the target service.</param>
<returns>The found object, otherwise <see langword="null"/>.</returns>
<remarks>
The purpose of this method is to allow for the retrieval of strongly typed services that might be provided by the
<see cref="T:Microsoft.Extensions.AI.IEmbeddingGenerator`2"/>, including itself or any services it might be wrapping.
</remarks>
</member>
<member name="T:Microsoft.Extensions.AI.AIFunction">
<summary>Represents a function that can be described to an AI service and invoked.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunction.Metadata">
<summary>Gets metadata describing the function.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunction.InvokeAsync(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}},System.Threading.CancellationToken)">
<summary>Invokes the <see cref="T:Microsoft.Extensions.AI.AIFunction"/> and returns its result.</summary>
<param name="arguments">The arguments to pass to the function's invocation.</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>The result of the function's execution.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunction.ToString">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunction.InvokeCoreAsync(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}},System.Threading.CancellationToken)">
<summary>Invokes the <see cref="T:Microsoft.Extensions.AI.AIFunction"/> and returns its result.</summary>
<param name="arguments">The arguments to pass to the function's invocation.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to monitor for cancellation requests.</param>
<returns>The result of the function's execution.</returns>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunction.DebuggerDisplay">
<summary>Gets the string to display in the debugger for this instance.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AIFunctionMetadata">
<summary>
Provides read-only metadata for an <see cref="T:Microsoft.Extensions.AI.AIFunction"/>.
</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIFunctionMetadata._name">
<summary>The name of the function.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIFunctionMetadata._description">
<summary>The description of the function.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIFunctionMetadata._parameters">
<summary>The function's parameters.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIFunctionMetadata._returnParameter">
<summary>The function's return parameter.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIFunctionMetadata._additionalProperties">
<summary>Optional additional properties in addition to the named properties already available on this class.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIFunctionMetadata._parametersByName">
<summary><see cref="F:Microsoft.Extensions.AI.AIFunctionMetadata._parameters"/> indexed by name, lazily initialized.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunctionMetadata.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AIFunctionMetadata"/> class for a function with the specified name.</summary>
<param name="name">The name of the function.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="name"/> was null.</exception>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunctionMetadata.#ctor(Microsoft.Extensions.AI.AIFunctionMetadata)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AIFunctionMetadata"/> class as a copy of another <see cref="T:Microsoft.Extensions.AI.AIFunctionMetadata"/>.</summary>
<exception cref="T:System.ArgumentNullException">The <paramref name="metadata"/> was null.</exception>
<remarks>
This creates a shallow clone of <paramref name="metadata"/>. The new instance's <see cref="P:Microsoft.Extensions.AI.AIFunctionMetadata.Parameters"/> and
<see cref="P:Microsoft.Extensions.AI.AIFunctionMetadata.ReturnParameter"/> properties will return the same objects as in the original instance.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionMetadata.Name">
<summary>Gets the name of the function.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionMetadata.Description">
<summary>Gets a description of the function, suitable for use in describing the purpose to a model.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionMetadata.Parameters">
<summary>Gets the metadata for the parameters to the function.</summary>
<remarks>If the function has no parameters, the returned list is empty.</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunctionMetadata.GetParameter(System.String)">
<summary>Gets the <see cref="T:Microsoft.Extensions.AI.AIFunctionParameterMetadata"/> for a parameter by its name.</summary>
<param name="name">The name of the parameter.</param>
<returns>The corresponding <see cref="T:Microsoft.Extensions.AI.AIFunctionParameterMetadata"/>, if found; otherwise, null.</returns>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionMetadata.ReturnParameter">
<summary>Gets parameter metadata for the return parameter.</summary>
<remarks>If the function has no return parameter, the value is a default instance of an <see cref="T:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata"/>.</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionMetadata.AdditionalProperties">
<summary>Gets any additional properties associated with the function.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionMetadata.JsonSerializerOptions">
<summary>Gets a <see cref="P:Microsoft.Extensions.AI.AIFunctionMetadata.JsonSerializerOptions"/> that can be used to marshal function parameters.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AIFunctionParameterMetadata">
<summary>
Provides read-only metadata for an <see cref="T:Microsoft.Extensions.AI.AIFunction"/> parameter.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunctionParameterMetadata.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AIFunctionParameterMetadata"/> class for a parameter with the specified name.</summary>
<param name="name">The name of the parameter.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="name"/> was null.</exception>
<exception cref="T:System.ArgumentException">The <paramref name="name"/> was empty or composed entirely of whitespace.</exception>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunctionParameterMetadata.#ctor(Microsoft.Extensions.AI.AIFunctionParameterMetadata)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AIFunctionParameterMetadata"/> class as a copy of another <see cref="T:Microsoft.Extensions.AI.AIFunctionParameterMetadata"/>.</summary>
<exception cref="T:System.ArgumentNullException">The <paramref name="metadata"/> was null.</exception>
<remarks>This constructor creates a shallow clone of <paramref name="metadata"/>.</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionParameterMetadata.Name">
<summary>Gets the name of the parameter.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionParameterMetadata.Description">
<summary>Gets a description of the parameter, suitable for use in describing the purpose to a model.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionParameterMetadata.HasDefaultValue">
<summary>Gets a value indicating whether the parameter has a default value.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionParameterMetadata.DefaultValue">
<summary>Gets the default value of the parameter.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionParameterMetadata.IsRequired">
<summary>Gets a value indicating whether the parameter is required.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionParameterMetadata.ParameterType">
<summary>Gets the .NET type of the parameter.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionParameterMetadata.Schema">
<summary>Gets a JSON Schema describing the parameter's type.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata">
<summary>
Provides read-only metadata for an <see cref="T:Microsoft.Extensions.AI.AIFunction"/>'s return parameter.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata.Empty">
<summary>Gets an empty return parameter metadata instance.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata"/> class.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata.#ctor(Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata"/> class as a copy of another <see cref="T:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata"/>.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata.Description">
<summary>Gets a description of the return parameter, suitable for use in describing the purpose to a model.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata.ParameterType">
<summary>Gets the .NET type of the return parameter.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIFunctionReturnParameterMetadata.Schema">
<summary>Gets a JSON Schema describing the type of the return parameter.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.UsageDetails">
<summary>Provides usage details about a request/response.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.UsageDetails.InputTokenCount">
<summary>Gets or sets the number of tokens in the input.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.UsageDetails.OutputTokenCount">
<summary>Gets or sets the number of tokens in the output.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.UsageDetails.TotalTokenCount">
<summary>Gets or sets the total number of tokens used to produce the response.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.UsageDetails.AdditionalCounts">
<summary>Gets or sets a dictionary of additional usage counts.</summary>
<remarks>
All values set here are assumed to be summable. For example, when middleware makes multiple calls to an underlying
service, it may sum the counts from multiple results to produce an overall <see cref="T:Microsoft.Extensions.AI.UsageDetails"/>.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.UsageDetails.Add(Microsoft.Extensions.AI.UsageDetails)">
<summary>Adds usage data from another <see cref="T:Microsoft.Extensions.AI.UsageDetails"/> into this instance.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.UsageDetails.DebuggerDisplay">
<summary>Gets a string representing this instance to display in the debugger.</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AIJsonSchemaCreateContext">
<summary>
Defines the context in which a JSON schema within a type graph is being generated.
</summary>
<remarks>
This struct is being passed to the user-provided <see cref="P:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions.TransformSchemaNode"/>
callback by the <see cref="M:Microsoft.Extensions.AI.AIJsonUtilities.CreateJsonSchema(System.Type,System.String,System.Boolean,System.Object,System.Text.Json.JsonSerializerOptions,Microsoft.Extensions.AI.AIJsonSchemaCreateOptions)"/> method and cannot be instantiated directly.
</remarks>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateContext.Path">
<summary>
Gets the path to the schema document currently being generated.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateContext.TypeInfo">
<summary>
Gets the <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo"/> for the type being processed.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateContext.BaseTypeInfo">
<summary>
Gets the type info for the polymorphic base type if generated as a derived type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateContext.PropertyInfo">
<summary>
Gets the <see cref="T:System.Text.Json.Serialization.Metadata.JsonPropertyInfo"/> if the schema is being generated for a property.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateContext.DeclaringType">
<summary>
Gets the declaring type of the property or parameter being processed.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateContext.PropertyAttributeProvider">
<summary>
Gets the <see cref="T:System.Reflection.ICustomAttributeProvider"/> corresponding to the property or field being processed.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateContext.ParameterAttributeProvider">
<summary>
Gets the <see cref="T:System.Reflection.ICustomAttributeProvider"/> of the
constructor parameter associated with the accompanying <see cref="P:Microsoft.Extensions.AI.AIJsonSchemaCreateContext.PropertyInfo"/>.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIJsonSchemaCreateContext.GetCustomAttribute``1(System.Boolean)">
<summary>
Retrieves a custom attribute of a specified type that is applied to the specified schema node context.
</summary>
<typeparam name="TAttribute">The type of attribute to search for.</typeparam>
<param name="inherit">If <see langword="true"/>, specifies to also search the ancestors of the context members for custom attributes.</param>
<returns>The first occurrence of <typeparamref name="TAttribute"/> if found, or <see langword="null"/> otherwise.</returns>
<remarks>
This helper method resolves attributes from context locations in the following order:
<list type="number">
<item>Attributes specified on the property of the context, if specified.</item>
<item>Attributes specified on the constructor parameter of the context, if specified.</item>
<item>Attributes specified on the type of the context.</item>
</list>
</remarks>
</member>
<member name="T:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions">
<summary>
Provides options for configuring the behavior of <see cref="T:Microsoft.Extensions.AI.AIJsonUtilities"/> JSON schema creation functionality.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions.Default">
<summary>
Gets the default options instance.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions.TransformSchemaNode">
<summary>
Gets a callback that is invoked for every schema that is generated within the type graph.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions.IncludeTypeInEnumSchemas">
<summary>
Gets a value indicating whether to include the type keyword in inferred schemas for .NET enums.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions.DisallowAdditionalProperties">
<summary>
Gets a value indicating whether to generate schemas with the additionalProperties set to false for .NET objects.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions.IncludeSchemaKeyword">
<summary>
Gets a value indicating whether to include the $schema keyword in inferred schemas.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions.RequireAllProperties">
<summary>
Gets a value indicating whether to mark all properties as required in the schema.
</summary>
</member>
<member name="T:Microsoft.Extensions.AI.AIJsonUtilities">
<summary>Provides a collection of utility methods for marshalling JSON data.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.DefaultOptions">
<summary>Gets the <see cref="T:System.Text.Json.JsonSerializerOptions"/> singleton used as the default in JSON serialization operations.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIJsonUtilities.CreateDefaultOptions">
<summary>Creates the default <see cref="T:System.Text.Json.JsonSerializerOptions"/> to use for serialization-related operations.</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.Boolean">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.Double">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.Single">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.NullableSingle">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.AdditionalPropertiesDictionary">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.AdditionalPropertiesDictionaryInt64">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.AIContent">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.AudioContent">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.AutoChatToolMode">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatClientMetadata">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatCompletion">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatFinishReason">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.NullableChatFinishReason">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatMessage">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatOptions">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatResponseFormat">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatResponseFormatJson">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatResponseFormatText">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatRole">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.NullableChatRole">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ChatToolMode">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.DataContent">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.Embedding">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.EmbeddingByte">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.EmbeddingDouble">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.EmbeddingSingle">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.EmbeddingInt32">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.EmbeddingSByte">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.EmbeddingGenerationOptions">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.EmbeddingGeneratorMetadata">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.FunctionCallContent">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.FunctionResultContent">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ImageContent">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.RequiredChatToolMode">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.StreamingChatCompletionUpdate">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.TextContent">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.UsageContent">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.UsageDetails">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.DictionaryStringObject">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.IDictionaryInt32Int32">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.IDictionaryStringObject">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.IEnumerableString">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.IListAIContent">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.IListChatMessage">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.IListString">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.IReadOnlyListStreamingChatCompletionUpdate">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.DateTimeOffset">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.NullableDateTimeOffset">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ReadOnlyMemoryByte">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ReadOnlyMemoryDouble">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ReadOnlyMemorySingle">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ReadOnlyMemoryInt32">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.ReadOnlyMemorySByte">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.JsonDocument">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.JsonElement">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.NullableJsonElement">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.JsonNode">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.TimeSpan">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.Uri">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.Int32">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.NullableInt32">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.Int64">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.NullableInt64">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.Object">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.SByte">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.String">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.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.AIJsonUtilities.JsonContext.GeneratedSerializerOptions">
<summary>
The source-generated options associated with this context.
</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.#ctor">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.#ctor(System.Text.Json.JsonSerializerOptions)">
<inheritdoc/>
</member>
<member name="M:Microsoft.Extensions.AI.AIJsonUtilities.JsonContext.GetTypeInfo(System.Type)">
<inheritdoc/>
</member>
<member name="F:Microsoft.Extensions.AI.AIJsonUtilities.SchemaKeywordUri">
<summary>The uri used when populating the $schema keyword in inferred schemas.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIJsonUtilities.CacheSoftLimit">
<summary>Soft limit for how many items should be stored in the dictionaries in <see cref="F:Microsoft.Extensions.AI.AIJsonUtilities._schemaCaches"/>.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIJsonUtilities._schemaCaches">
<summary>Caches of generated schemas for each <see cref="T:System.Text.Json.JsonSerializerOptions"/> that's employed.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIJsonUtilities._trueJsonSchema">
<summary>Gets a JSON schema accepting all values.</summary>
</member>
<member name="F:Microsoft.Extensions.AI.AIJsonUtilities._nullJsonSchema">
<summary>Gets a JSON schema only accepting null values.</summary>
</member>
<member name="M:Microsoft.Extensions.AI.AIJsonUtilities.ResolveParameterJsonSchema(Microsoft.Extensions.AI.AIFunctionParameterMetadata,Microsoft.Extensions.AI.AIFunctionMetadata,System.Text.Json.JsonSerializerOptions,Microsoft.Extensions.AI.AIJsonSchemaCreateOptions)">
<summary>
Determines a JSON schema for the provided parameter metadata.
</summary>
<param name="parameterMetadata">The parameter metadata from which to infer the schema.</param>
<param name="functionMetadata">The containing function metadata.</param>
<param name="serializerOptions">The options used to extract the schema from the specified type.</param>
<param name="inferenceOptions">The options controlling schema inference.</param>
<returns>A JSON schema document encoded as a <see cref="T:System.Text.Json.JsonElement"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.AI.AIJsonUtilities.CreateParameterJsonSchema(System.Type,System.String,System.String,System.Boolean,System.Object,System.Text.Json.JsonSerializerOptions,Microsoft.Extensions.AI.AIJsonSchemaCreateOptions)">
<summary>
Creates a JSON schema for the provided parameter metadata.
</summary>
<param name="type">The type of the parameter.</param>
<param name="parameterName">The name of the parameter.</param>
<param name="description">The description of the parameter.</param>
<param name="hasDefaultValue"><see langword="true"/> if the parameter is optional; otherwise, <see langword="false"/>.</param>
<param name="defaultValue">The default value of the optional parameter, if applicable.</param>
<param name="serializerOptions">The options used to extract the schema from the specified type.</param>
<param name="inferenceOptions">The options controlling schema inference.</param>
<returns>A JSON schema document encoded as a <see cref="T:System.Text.Json.JsonElement"/>.</returns>
<remarks>
Uses a cache keyed on the <paramref name="serializerOptions"/> to store schema result,
unless a <see cref="P:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions.TransformSchemaNode" /> delegate has been specified.
</remarks>
</member>
<member name="M:Microsoft.Extensions.AI.AIJsonUtilities.CreateJsonSchema(System.Type,System.String,System.Boolean,System.Object,System.Text.Json.JsonSerializerOptions,Microsoft.Extensions.AI.AIJsonSchemaCreateOptions)">
<summary>Creates a JSON schema for the specified type.</summary>
<param name="type">The type for which to generate the schema.</param>
<param name="description">The description of the parameter.</param>
<param name="hasDefaultValue"><see langword="true"/> if the parameter is optional; otherwise, <see langword="false"/>.</param>
<param name="defaultValue">The default value of the optional parameter, if applicable.</param>
<param name="serializerOptions">The options used to extract the schema from the specified type.</param>
<param name="inferenceOptions">The options controlling schema inference.</param>
<returns>A <see cref="T:System.Text.Json.JsonElement"/> representing the schema.</returns>
<remarks>
Uses a cache keyed on the <paramref name="serializerOptions"/> to store schema result,
unless a <see cref="P:Microsoft.Extensions.AI.AIJsonSchemaCreateOptions.TransformSchemaNode" /> delegate has been specified.
</remarks>
</member>
<member name="T:Microsoft.Extensions.AI.AIJsonUtilities.SchemaGenerationKey">
<summary>The equatable key used to look up cached schemas.</summary>
</member>
</members>
</doc>