//------------------------------------------------------------------------------ // // This file is auto-generated by scripts/Export-Api.ps1 and must not be // modified manually. To update it, make the necessary source-code changes // and re-run scripts/Export-Api.ps1 to regenerate it. // //------------------------------------------------------------------------------ namespace OpenAI { public class OpenAIClient { protected OpenAIClient(); public OpenAIClient(ApiKeyCredential credential, OpenAIClientOptions options); public OpenAIClient(ApiKeyCredential credential); [Experimental("OPENAI001")] public OpenAIClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); [Experimental("OPENAI001")] public OpenAIClient(AuthenticationPolicy authenticationPolicy); protected internal OpenAIClient(ClientPipeline pipeline, OpenAIClientOptions options); public OpenAIClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } [Experimental("OPENAI001")] public virtual AssistantClient GetAssistantClient(); public virtual AudioClient GetAudioClient(string model); [Experimental("OPENAI001")] public virtual BatchClient GetBatchClient(); public virtual ChatClient GetChatClient(string model); [Experimental("OPENAI001")] public virtual ContainerClient GetContainerClient(); [Experimental("OPENAI001")] public virtual ConversationClient GetConversationClient(); public virtual EmbeddingClient GetEmbeddingClient(string model); [Experimental("OPENAI001")] public virtual EvaluationClient GetEvaluationClient(); [Experimental("OPENAI001")] public virtual FineTuningClient GetFineTuningClient(); [Experimental("OPENAI001")] public virtual GraderClient GetGraderClient(); public virtual ImageClient GetImageClient(string model); public virtual ModerationClient GetModerationClient(string model); public virtual OpenAIFileClient GetOpenAIFileClient(); public virtual OpenAIModelClient GetOpenAIModelClient(); [Experimental("OPENAI002")] public virtual RealtimeClient GetRealtimeClient(); [Experimental("OPENAI001")] public virtual ResponsesClient GetResponsesClient(); [Experimental("OPENAI001")] public virtual SkillClient GetSkillClient(); [Experimental("OPENAI001")] public virtual VectorStoreClient GetVectorStoreClient(); [Experimental("OPENAI001")] public virtual VideoClient GetVideoClient(); } public class OpenAIClientOptions : ClientPipelineOptions { public Uri Endpoint { get; set; } public string OrganizationId { get; set; } public string ProjectId { get; set; } public string UserAgentApplicationId { get; set; } } [Experimental("OPENAI001")] public class OpenAIContext : ModelReaderWriterContext { public static OpenAIContext Default { get; } protected override bool TryGetTypeBuilderCore(Type type, out ModelReaderWriterTypeBuilder builder); } [Experimental("SCME0002")] public static class OpenAIHostBuilderExtensions { public static IClientBuilder AddAssistantClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddAudioClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddBatchClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddChatClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddContainerClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddConversationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddEmbeddingClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddEvaluationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddFineTuningClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddGraderClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddImageClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddKeyedAssistantClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedAudioClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedBatchClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedChatClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedContainerClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedConversationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedEmbeddingClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedEvaluationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedFineTuningClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedGraderClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedImageClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedModerationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedOpenAIFileClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedOpenAIModelClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedRealtimeClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedSkillClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedVectorStoreClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddKeyedVideoClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddModerationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddOpenAIFileClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddOpenAIModelClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddRealtimeClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddSkillClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddVectorStoreClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); public static IClientBuilder AddVideoClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); } } namespace OpenAI.Assistants { [Experimental("OPENAI001")] public class Assistant : IJsonModel, IPersistableModel { public DateTimeOffset CreatedAt { get; } public string Description { get; } public string Id { get; } public string Instructions { get; } public IReadOnlyDictionary Metadata { get; } public string Model { get; } public string Name { get; } public float? NucleusSamplingFactor { get; } public AssistantResponseFormat ResponseFormat { get; } public float? Temperature { get; } public ToolResources ToolResources { get; } public IReadOnlyList Tools { get; } public static explicit operator Assistant(ClientResult result); } [Experimental("OPENAI001")] public class AssistantClient { protected AssistantClient(); [Experimental("SCME0002")] public AssistantClient(AssistantClientSettings settings); public AssistantClient(ApiKeyCredential credential, OpenAIClientOptions options); public AssistantClient(ApiKeyCredential credential); public AssistantClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public AssistantClient(AuthenticationPolicy authenticationPolicy); protected internal AssistantClient(ClientPipeline pipeline, OpenAIClientOptions options); public AssistantClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult CancelRun(string threadId, string runId, RequestOptions options); public virtual ClientResult CancelRun(string threadId, string runId, CancellationToken cancellationToken = default); public virtual Task CancelRunAsync(string threadId, string runId, RequestOptions options); public virtual Task> CancelRunAsync(string threadId, string runId, CancellationToken cancellationToken = default); public virtual ClientResult CreateAssistant(BinaryContent content, RequestOptions options = null); public virtual ClientResult CreateAssistant(string model, AssistantCreationOptions options = null, CancellationToken cancellationToken = default); public virtual Task CreateAssistantAsync(BinaryContent content, RequestOptions options = null); public virtual Task> CreateAssistantAsync(string model, AssistantCreationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult CreateMessage(string threadId, MessageRole role, IEnumerable content, MessageCreationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult CreateMessage(string threadId, BinaryContent content, RequestOptions options = null); public virtual Task> CreateMessageAsync(string threadId, MessageRole role, IEnumerable content, MessageCreationOptions options = null, CancellationToken cancellationToken = default); public virtual Task CreateMessageAsync(string threadId, BinaryContent content, RequestOptions options = null); public virtual ClientResult CreateRun(string threadId, BinaryContent content, RequestOptions options = null); public virtual ClientResult CreateRun(string threadId, string assistantId, RunCreationOptions options = null, CancellationToken cancellationToken = default); public virtual Task CreateRunAsync(string threadId, BinaryContent content, RequestOptions options = null); public virtual Task> CreateRunAsync(string threadId, string assistantId, RunCreationOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult CreateRunStreaming(string threadId, string assistantId, RunCreationOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult CreateRunStreamingAsync(string threadId, string assistantId, RunCreationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult CreateThread(ThreadCreationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult CreateThread(BinaryContent content, RequestOptions options = null); public virtual ClientResult CreateThreadAndRun(BinaryContent content, RequestOptions options = null); public virtual ClientResult CreateThreadAndRun(string assistantId, ThreadCreationOptions threadOptions = null, RunCreationOptions runOptions = null, CancellationToken cancellationToken = default); public virtual Task CreateThreadAndRunAsync(BinaryContent content, RequestOptions options = null); public virtual Task> CreateThreadAndRunAsync(string assistantId, ThreadCreationOptions threadOptions = null, RunCreationOptions runOptions = null, CancellationToken cancellationToken = default); public virtual CollectionResult CreateThreadAndRunStreaming(string assistantId, ThreadCreationOptions threadOptions = null, RunCreationOptions runOptions = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult CreateThreadAndRunStreamingAsync(string assistantId, ThreadCreationOptions threadOptions = null, RunCreationOptions runOptions = null, CancellationToken cancellationToken = default); public virtual Task> CreateThreadAsync(ThreadCreationOptions options = null, CancellationToken cancellationToken = default); public virtual Task CreateThreadAsync(BinaryContent content, RequestOptions options = null); public virtual ClientResult DeleteAssistant(string assistantId, RequestOptions options); public virtual ClientResult DeleteAssistant(string assistantId, CancellationToken cancellationToken = default); public virtual Task DeleteAssistantAsync(string assistantId, RequestOptions options); public virtual Task> DeleteAssistantAsync(string assistantId, CancellationToken cancellationToken = default); public virtual ClientResult DeleteMessage(string threadId, string messageId, RequestOptions options); public virtual ClientResult DeleteMessage(string threadId, string messageId, CancellationToken cancellationToken = default); public virtual Task DeleteMessageAsync(string threadId, string messageId, RequestOptions options); public virtual Task> DeleteMessageAsync(string threadId, string messageId, CancellationToken cancellationToken = default); public virtual ClientResult DeleteThread(string threadId, RequestOptions options); public virtual ClientResult DeleteThread(string threadId, CancellationToken cancellationToken = default); public virtual Task DeleteThreadAsync(string threadId, RequestOptions options); public virtual Task> DeleteThreadAsync(string threadId, CancellationToken cancellationToken = default); public virtual ClientResult GetAssistant(string assistantId, RequestOptions options); public virtual ClientResult GetAssistant(string assistantId, CancellationToken cancellationToken = default); public virtual Task GetAssistantAsync(string assistantId, RequestOptions options); public virtual Task> GetAssistantAsync(string assistantId, CancellationToken cancellationToken = default); public virtual CollectionResult GetAssistants(AssistantCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetAssistants(int? limit, string order, string after, string before, RequestOptions options); public virtual AsyncCollectionResult GetAssistantsAsync(AssistantCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetAssistantsAsync(int? limit, string order, string after, string before, RequestOptions options); public virtual ClientResult GetMessage(string threadId, string messageId, RequestOptions options); public virtual ClientResult GetMessage(string threadId, string messageId, CancellationToken cancellationToken = default); public virtual Task GetMessageAsync(string threadId, string messageId, RequestOptions options); public virtual Task> GetMessageAsync(string threadId, string messageId, CancellationToken cancellationToken = default); public virtual CollectionResult GetMessages(string threadId, MessageCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetMessages(string threadId, int? limit, string order, string after, string before, RequestOptions options); public virtual AsyncCollectionResult GetMessagesAsync(string threadId, MessageCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetMessagesAsync(string threadId, int? limit, string order, string after, string before, RequestOptions options); public virtual ClientResult GetRun(string threadId, string runId, RequestOptions options); public virtual ClientResult GetRun(string threadId, string runId, CancellationToken cancellationToken = default); public virtual Task GetRunAsync(string threadId, string runId, RequestOptions options); public virtual Task> GetRunAsync(string threadId, string runId, CancellationToken cancellationToken = default); public virtual CollectionResult GetRuns(string threadId, RunCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetRuns(string threadId, int? limit, string order, string after, string before, RequestOptions options); public virtual AsyncCollectionResult GetRunsAsync(string threadId, RunCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetRunsAsync(string threadId, int? limit, string order, string after, string before, RequestOptions options); public virtual ClientResult GetRunStep(string threadId, string runId, string stepId, RequestOptions options); public virtual ClientResult GetRunStep(string threadId, string runId, string stepId, CancellationToken cancellationToken = default); public virtual Task GetRunStepAsync(string threadId, string runId, string stepId, RequestOptions options); public virtual Task> GetRunStepAsync(string threadId, string runId, string stepId, CancellationToken cancellationToken = default); public virtual CollectionResult GetRunSteps(string threadId, string runId, RunStepCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetRunSteps(string threadId, string runId, int? limit, string order, string after, string before, RequestOptions options); public virtual AsyncCollectionResult GetRunStepsAsync(string threadId, string runId, RunStepCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetRunStepsAsync(string threadId, string runId, int? limit, string order, string after, string before, RequestOptions options); public virtual ClientResult GetThread(string threadId, RequestOptions options); public virtual ClientResult GetThread(string threadId, CancellationToken cancellationToken = default); public virtual Task GetThreadAsync(string threadId, RequestOptions options); public virtual Task> GetThreadAsync(string threadId, CancellationToken cancellationToken = default); public virtual ClientResult ModifyAssistant(string assistantId, AssistantModificationOptions options, CancellationToken cancellationToken = default); public virtual ClientResult ModifyAssistant(string assistantId, BinaryContent content, RequestOptions options = null); public virtual Task> ModifyAssistantAsync(string assistantId, AssistantModificationOptions options, CancellationToken cancellationToken = default); public virtual Task ModifyAssistantAsync(string assistantId, BinaryContent content, RequestOptions options = null); public virtual ClientResult ModifyMessage(string threadId, string messageId, MessageModificationOptions options, CancellationToken cancellationToken = default); public virtual ClientResult ModifyMessage(string threadId, string messageId, BinaryContent content, RequestOptions options = null); public virtual Task> ModifyMessageAsync(string threadId, string messageId, MessageModificationOptions options, CancellationToken cancellationToken = default); public virtual Task ModifyMessageAsync(string threadId, string messageId, BinaryContent content, RequestOptions options = null); public virtual ClientResult ModifyRun(string threadId, string runId, BinaryContent content, RequestOptions options = null); public virtual Task ModifyRunAsync(string threadId, string runId, BinaryContent content, RequestOptions options = null); public virtual ClientResult ModifyThread(string threadId, ThreadModificationOptions options, CancellationToken cancellationToken = default); public virtual ClientResult ModifyThread(string threadId, BinaryContent content, RequestOptions options = null); public virtual Task> ModifyThreadAsync(string threadId, ThreadModificationOptions options, CancellationToken cancellationToken = default); public virtual Task ModifyThreadAsync(string threadId, BinaryContent content, RequestOptions options = null); public virtual ClientResult SubmitToolOutputsToRun(string threadId, string runId, BinaryContent content, RequestOptions options = null); public virtual ClientResult SubmitToolOutputsToRun(string threadId, string runId, IEnumerable toolOutputs, CancellationToken cancellationToken = default); public virtual Task SubmitToolOutputsToRunAsync(string threadId, string runId, BinaryContent content, RequestOptions options = null); public virtual Task> SubmitToolOutputsToRunAsync(string threadId, string runId, IEnumerable toolOutputs, CancellationToken cancellationToken = default); public virtual CollectionResult SubmitToolOutputsToRunStreaming(string threadId, string runId, IEnumerable toolOutputs, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult SubmitToolOutputsToRunStreamingAsync(string threadId, string runId, IEnumerable toolOutputs, CancellationToken cancellationToken = default); } [Experimental("SCME0002")] public sealed class AssistantClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI001")] public class AssistantCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public string BeforeId { get; set; } public AssistantCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } } [Experimental("OPENAI001")] public readonly partial struct AssistantCollectionOrder : IEquatable { public AssistantCollectionOrder(string value); public static AssistantCollectionOrder Ascending { get; } public static AssistantCollectionOrder Descending { get; } public readonly bool Equals(AssistantCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(AssistantCollectionOrder left, AssistantCollectionOrder right); public static implicit operator AssistantCollectionOrder(string value); public static implicit operator AssistantCollectionOrder?(string value); public static bool operator !=(AssistantCollectionOrder left, AssistantCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class AssistantCreationOptions : IJsonModel, IPersistableModel { public string Description { get; set; } public string Instructions { get; set; } public IDictionary Metadata { get; } public string Name { get; set; } public float? NucleusSamplingFactor { get; set; } public AssistantResponseFormat ResponseFormat { get; set; } public float? Temperature { get; set; } public ToolResources ToolResources { get; set; } public IList Tools { get; } } [Experimental("OPENAI001")] public class AssistantDeletionResult : IJsonModel, IPersistableModel { public string AssistantId { get; } public bool Deleted { get; } public static explicit operator AssistantDeletionResult(ClientResult result); } [Experimental("OPENAI001")] public class AssistantModificationOptions : IJsonModel, IPersistableModel { public IList DefaultTools { get; } public string Description { get; set; } public string Instructions { get; set; } public IDictionary Metadata { get; } public string Model { get; set; } public string Name { get; set; } public float? NucleusSamplingFactor { get; set; } public AssistantResponseFormat ResponseFormat { get; set; } public float? Temperature { get; set; } public ToolResources ToolResources { get; set; } } [Experimental("OPENAI001")] public class AssistantResponseFormat : IEquatable, IEquatable, IJsonModel, IPersistableModel { public static AssistantResponseFormat Auto { get; } public static AssistantResponseFormat JsonObject { get; } public static AssistantResponseFormat Text { get; } public static AssistantResponseFormat CreateAutoFormat(); public static AssistantResponseFormat CreateJsonObjectFormat(); public static AssistantResponseFormat CreateJsonSchemaFormat(string name, BinaryData jsonSchema, string description = null, bool? strictSchemaEnabled = null); public static AssistantResponseFormat CreateTextFormat(); [EditorBrowsable(EditorBrowsableState.Never)] public override bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override int GetHashCode(); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator ==(AssistantResponseFormat first, AssistantResponseFormat second); [EditorBrowsable(EditorBrowsableState.Never)] public static implicit operator AssistantResponseFormat(string plainTextFormat); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator !=(AssistantResponseFormat first, AssistantResponseFormat second); [EditorBrowsable(EditorBrowsableState.Never)] bool IEquatable.Equals(AssistantResponseFormat other); [EditorBrowsable(EditorBrowsableState.Never)] bool IEquatable.Equals(string other); public override string ToString(); } [Experimental("OPENAI001")] public class AssistantThread : IJsonModel, IPersistableModel { public DateTimeOffset CreatedAt { get; } public string Id { get; } public IReadOnlyDictionary Metadata { get; } public ToolResources ToolResources { get; } public static explicit operator AssistantThread(ClientResult result); } [Experimental("OPENAI001")] public class CodeInterpreterToolDefinition : ToolDefinition, IJsonModel, IPersistableModel { public CodeInterpreterToolDefinition(); } [Experimental("OPENAI001")] public class CodeInterpreterToolResources : IJsonModel, IPersistableModel { public IList FileIds { get; } } [Experimental("OPENAI001")] public readonly partial struct FileSearchRanker : IEquatable { public FileSearchRanker(string value); public static FileSearchRanker Auto { get; } public static FileSearchRanker Default20240821 { get; } public readonly bool Equals(FileSearchRanker other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(FileSearchRanker left, FileSearchRanker right); public static implicit operator FileSearchRanker(string value); public static implicit operator FileSearchRanker?(string value); public static bool operator !=(FileSearchRanker left, FileSearchRanker right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class FileSearchRankingOptions : IJsonModel, IPersistableModel { public FileSearchRankingOptions(float scoreThreshold); public FileSearchRanker? Ranker { get; set; } public float ScoreThreshold { get; set; } } [Experimental("OPENAI001")] public class FileSearchToolDefinition : ToolDefinition, IJsonModel, IPersistableModel { public FileSearchToolDefinition(); public int? MaxResults { get; set; } public FileSearchRankingOptions RankingOptions { get; set; } } [Experimental("OPENAI001")] public class FileSearchToolResources : IJsonModel, IPersistableModel { public IList NewVectorStores { get; } public IList VectorStoreIds { get; } } [Experimental("OPENAI001")] public class FunctionToolDefinition : ToolDefinition, IJsonModel, IPersistableModel { public FunctionToolDefinition(); public FunctionToolDefinition(string name); public string Description { get; set; } public string FunctionName { get; set; } public BinaryData Parameters { get; set; } public bool? StrictParameterSchemaEnabled { get; set; } } [Experimental("OPENAI001")] public class MessageCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public string BeforeId { get; set; } public MessageCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } } [Experimental("OPENAI001")] public readonly partial struct MessageCollectionOrder : IEquatable { public MessageCollectionOrder(string value); public static MessageCollectionOrder Ascending { get; } public static MessageCollectionOrder Descending { get; } public readonly bool Equals(MessageCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(MessageCollectionOrder left, MessageCollectionOrder right); public static implicit operator MessageCollectionOrder(string value); public static implicit operator MessageCollectionOrder?(string value); public static bool operator !=(MessageCollectionOrder left, MessageCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public abstract class MessageContent : IJsonModel, IPersistableModel { public MessageImageDetail? ImageDetail { get; } public string ImageFileId { get; } public Uri ImageUri { get; } public string Refusal { get; } public string Text { get; } public IReadOnlyList TextAnnotations { get; } public static MessageContent FromImageFileId(string imageFileId, MessageImageDetail? detail = null); public static MessageContent FromImageUri(Uri imageUri, MessageImageDetail? detail = null); public static MessageContent FromText(string text); public static implicit operator MessageContent(string value); } [Experimental("OPENAI001")] public class MessageContentUpdate : StreamingUpdate { public MessageImageDetail? ImageDetail { get; } public string ImageFileId { get; } public string MessageId { get; } public int MessageIndex { get; } public string RefusalUpdate { get; } public MessageRole? Role { get; } public string Text { get; } public TextAnnotationUpdate TextAnnotation { get; } } [Experimental("OPENAI001")] public class MessageCreationAttachment : IJsonModel, IPersistableModel { public MessageCreationAttachment(string fileId, IEnumerable tools); public string FileId { get; } public IReadOnlyList Tools { get; } } [Experimental("OPENAI001")] public class MessageCreationOptions : IJsonModel, IPersistableModel { public IList Attachments { get; set; } public IDictionary Metadata { get; } } [Experimental("OPENAI001")] public class MessageDeletionResult : IJsonModel, IPersistableModel { public bool Deleted { get; } public string MessageId { get; } public static explicit operator MessageDeletionResult(ClientResult result); } [Experimental("OPENAI001")] public class MessageFailureDetails : IJsonModel, IPersistableModel { public MessageFailureReason Reason { get; } } [Experimental("OPENAI001")] public readonly partial struct MessageFailureReason : IEquatable { public MessageFailureReason(string value); public static MessageFailureReason ContentFilter { get; } public static MessageFailureReason MaxTokens { get; } public static MessageFailureReason RunCancelled { get; } public static MessageFailureReason RunExpired { get; } public static MessageFailureReason RunFailed { get; } public readonly bool Equals(MessageFailureReason other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(MessageFailureReason left, MessageFailureReason right); public static implicit operator MessageFailureReason(string value); public static implicit operator MessageFailureReason?(string value); public static bool operator !=(MessageFailureReason left, MessageFailureReason right); public override readonly string ToString(); } [Experimental("OPENAI001")] public enum MessageImageDetail { Auto = 0, Low = 1, High = 2 } [Experimental("OPENAI001")] public class MessageModificationOptions : IJsonModel, IPersistableModel { public IDictionary Metadata { get; } } [Experimental("OPENAI001")] public enum MessageRole { User = 0, Assistant = 1 } [Experimental("OPENAI001")] public readonly partial struct MessageStatus : IEquatable { public MessageStatus(string value); public static MessageStatus Completed { get; } public static MessageStatus Incomplete { get; } public static MessageStatus InProgress { get; } public readonly bool Equals(MessageStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(MessageStatus left, MessageStatus right); public static implicit operator MessageStatus(string value); public static implicit operator MessageStatus?(string value); public static bool operator !=(MessageStatus left, MessageStatus right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class MessageStatusUpdate : StreamingUpdate { } [Experimental("OPENAI001")] public abstract class RequiredAction { public string FunctionArguments { get; } public string FunctionName { get; } public string ToolCallId { get; } } [Experimental("OPENAI001")] public class RequiredActionUpdate : RunUpdate { public string FunctionArguments { get; } public string FunctionName { get; } public string ToolCallId { get; } public ThreadRun GetThreadRun(); } [Experimental("OPENAI001")] public class RunCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public string BeforeId { get; set; } public RunCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } } [Experimental("OPENAI001")] public readonly partial struct RunCollectionOrder : IEquatable { public RunCollectionOrder(string value); public static RunCollectionOrder Ascending { get; } public static RunCollectionOrder Descending { get; } public readonly bool Equals(RunCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RunCollectionOrder left, RunCollectionOrder right); public static implicit operator RunCollectionOrder(string value); public static implicit operator RunCollectionOrder?(string value); public static bool operator !=(RunCollectionOrder left, RunCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class RunCreationOptions : IJsonModel, IPersistableModel { public string AdditionalInstructions { get; set; } public IList AdditionalMessages { get; } public bool? AllowParallelToolCalls { get; set; } public string InstructionsOverride { get; set; } public int? MaxInputTokenCount { get; set; } public int? MaxOutputTokenCount { get; set; } public IDictionary Metadata { get; } public string ModelOverride { get; set; } public float? NucleusSamplingFactor { get; set; } public AssistantResponseFormat ResponseFormat { get; set; } public float? Temperature { get; set; } public ToolConstraint ToolConstraint { get; set; } public IList ToolsOverride { get; } public RunTruncationStrategy TruncationStrategy { get; set; } } [Experimental("OPENAI001")] public class RunError : IJsonModel, IPersistableModel { public RunErrorCode Code { get; } public string Message { get; } } [Experimental("OPENAI001")] public readonly partial struct RunErrorCode : IEquatable { public RunErrorCode(string value); public static RunErrorCode InvalidPrompt { get; } public static RunErrorCode RateLimitExceeded { get; } public static RunErrorCode ServerError { get; } public readonly bool Equals(RunErrorCode other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RunErrorCode left, RunErrorCode right); public static implicit operator RunErrorCode(string value); public static implicit operator RunErrorCode?(string value); public static bool operator !=(RunErrorCode left, RunErrorCode right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class RunIncompleteDetails : IJsonModel, IPersistableModel { public RunIncompleteReason? Reason { get; } } [Experimental("OPENAI001")] public readonly partial struct RunIncompleteReason : IEquatable { public RunIncompleteReason(string value); public static RunIncompleteReason MaxInputTokenCount { get; } public static RunIncompleteReason MaxOutputTokenCount { get; } public readonly bool Equals(RunIncompleteReason other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RunIncompleteReason left, RunIncompleteReason right); public static implicit operator RunIncompleteReason(string value); public static implicit operator RunIncompleteReason?(string value); public static bool operator !=(RunIncompleteReason left, RunIncompleteReason right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class RunModificationOptions : IJsonModel, IPersistableModel { public IDictionary Metadata { get; } } [Experimental("OPENAI001")] public readonly partial struct RunStatus : IEquatable { public RunStatus(string value); public static RunStatus Cancelled { get; } public static RunStatus Cancelling { get; } public static RunStatus Completed { get; } public static RunStatus Expired { get; } public static RunStatus Failed { get; } public static RunStatus Incomplete { get; } public static RunStatus InProgress { get; } public bool IsTerminal { get; } public static RunStatus Queued { get; } public static RunStatus RequiresAction { get; } public readonly bool Equals(RunStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RunStatus left, RunStatus right); public static implicit operator RunStatus(string value); public static implicit operator RunStatus?(string value); public static bool operator !=(RunStatus left, RunStatus right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class RunStep : IJsonModel, IPersistableModel { public string AssistantId { get; } public DateTimeOffset? CancelledAt { get; } public DateTimeOffset? CompletedAt { get; } public DateTimeOffset CreatedAt { get; } public RunStepDetails Details { get; } public DateTimeOffset? ExpiredAt { get; } public DateTimeOffset? FailedAt { get; } public string Id { get; } public RunStepKind Kind { get; } public RunStepError LastError { get; } public IReadOnlyDictionary Metadata { get; } public string RunId { get; } public RunStepStatus Status { get; } public string ThreadId { get; } public RunStepTokenUsage Usage { get; } public static explicit operator RunStep(ClientResult result); } [Experimental("OPENAI001")] public abstract class RunStepCodeInterpreterOutput : IJsonModel, IPersistableModel { public string ImageFileId { get; } public string Logs { get; } } [Experimental("OPENAI001")] public class RunStepCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public string BeforeId { get; set; } public RunStepCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } } [Experimental("OPENAI001")] public readonly partial struct RunStepCollectionOrder : IEquatable { public RunStepCollectionOrder(string value); public static RunStepCollectionOrder Ascending { get; } public static RunStepCollectionOrder Descending { get; } public readonly bool Equals(RunStepCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RunStepCollectionOrder left, RunStepCollectionOrder right); public static implicit operator RunStepCollectionOrder(string value); public static implicit operator RunStepCollectionOrder?(string value); public static bool operator !=(RunStepCollectionOrder left, RunStepCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public abstract class RunStepDetails : IJsonModel, IPersistableModel { public string CreatedMessageId { get; } public IReadOnlyList ToolCalls { get; } } [Experimental("OPENAI001")] public class RunStepDetailsUpdate : StreamingUpdate { public string CodeInterpreterInput { get; } public IReadOnlyList CodeInterpreterOutputs { get; } public string CreatedMessageId { get; } public FileSearchRankingOptions FileSearchRankingOptions { get; } public IReadOnlyList FileSearchResults { get; } public string FunctionArguments { get; } public string FunctionName { get; } public string FunctionOutput { get; } public string StepId { get; } public string ToolCallId { get; } public int? ToolCallIndex { get; } } [Experimental("OPENAI001")] public class RunStepError : IJsonModel, IPersistableModel { public RunStepErrorCode Code { get; } public string Message { get; } } [Experimental("OPENAI001")] public readonly partial struct RunStepErrorCode : IEquatable { public RunStepErrorCode(string value); public static RunStepErrorCode RateLimitExceeded { get; } public static RunStepErrorCode ServerError { get; } public readonly bool Equals(RunStepErrorCode other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RunStepErrorCode left, RunStepErrorCode right); public static implicit operator RunStepErrorCode(string value); public static implicit operator RunStepErrorCode?(string value); public static bool operator !=(RunStepErrorCode left, RunStepErrorCode right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class RunStepFileSearchResult : IJsonModel, IPersistableModel { public IReadOnlyList Content { get; } public string FileId { get; } public string FileName { get; } public float Score { get; } } [Experimental("OPENAI001")] public class RunStepFileSearchResultContent : IJsonModel, IPersistableModel { public RunStepFileSearchResultContentKind Kind { get; } public string Text { get; } } [Experimental("OPENAI001")] public enum RunStepFileSearchResultContentKind { Text = 0 } [Experimental("OPENAI001")] public enum RunStepKind { CreatedMessage = 0, ToolCall = 1 } [Experimental("OPENAI001")] public readonly partial struct RunStepStatus : IEquatable { public RunStepStatus(string value); public static RunStepStatus Cancelled { get; } public static RunStepStatus Completed { get; } public static RunStepStatus Expired { get; } public static RunStepStatus Failed { get; } public static RunStepStatus InProgress { get; } public readonly bool Equals(RunStepStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RunStepStatus left, RunStepStatus right); public static implicit operator RunStepStatus(string value); public static implicit operator RunStepStatus?(string value); public static bool operator !=(RunStepStatus left, RunStepStatus right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class RunStepTokenUsage : IJsonModel, IPersistableModel { public int InputTokenCount { get; } public int OutputTokenCount { get; } public int TotalTokenCount { get; } } [Experimental("OPENAI001")] public class RunStepToolCall : IJsonModel, IPersistableModel { public string CodeInterpreterInput { get; } public IReadOnlyList CodeInterpreterOutputs { get; } public FileSearchRankingOptions FileSearchRankingOptions { get; } public IReadOnlyList FileSearchResults { get; } public string FunctionArguments { get; } public string FunctionName { get; } public string FunctionOutput { get; } public string Id { get; } public RunStepToolCallKind Kind { get; } } [Experimental("OPENAI001")] public enum RunStepToolCallKind { CodeInterpreter = 0, FileSearch = 1, Function = 2 } [Experimental("OPENAI001")] public class RunStepUpdate : StreamingUpdate { } [Experimental("OPENAI001")] public class RunStepUpdateCodeInterpreterOutput : IJsonModel, IPersistableModel { public string ImageFileId { get; } public string Logs { get; } public int OutputIndex { get; } } [Experimental("OPENAI001")] public class RunTokenUsage : IJsonModel, IPersistableModel { public int InputTokenCount { get; } public int OutputTokenCount { get; } public int TotalTokenCount { get; } } [Experimental("OPENAI001")] public class RunTruncationStrategy : IJsonModel, IPersistableModel { public static RunTruncationStrategy Auto { get; } public int? LastMessages { get; } public static RunTruncationStrategy CreateLastMessagesStrategy(int lastMessageCount); } [Experimental("OPENAI001")] public class RunUpdate : StreamingUpdate { } [Experimental("OPENAI001")] public abstract class StreamingUpdate { public StreamingUpdateReason UpdateKind { get; } } [Experimental("OPENAI001")] public enum StreamingUpdateReason { Unknown = 0, ThreadCreated = 1, RunCreated = 2, RunQueued = 3, RunInProgress = 4, RunRequiresAction = 5, RunCompleted = 6, RunIncomplete = 7, RunFailed = 8, RunCancelling = 9, RunCancelled = 10, RunExpired = 11, RunStepCreated = 12, RunStepInProgress = 13, RunStepUpdated = 14, RunStepCompleted = 15, RunStepFailed = 16, RunStepCancelled = 17, RunStepExpired = 18, MessageCreated = 19, MessageInProgress = 20, MessageUpdated = 21, MessageCompleted = 22, MessageFailed = 23, Error = 24, Done = 25 } [Experimental("OPENAI001")] public class StreamingUpdate : StreamingUpdate where T : class { public T Value { get; } public static implicit operator T(StreamingUpdate update); } [Experimental("OPENAI001")] public class TextAnnotation { public int EndIndex { get; } public string InputFileId { get; } public string OutputFileId { get; } public int StartIndex { get; } public string TextToReplace { get; } } [Experimental("OPENAI001")] public class TextAnnotationUpdate { public int ContentIndex { get; } public int? EndIndex { get; } public string InputFileId { get; } public string OutputFileId { get; } public int? StartIndex { get; } public string TextToReplace { get; } } [Experimental("OPENAI001")] public class ThreadCreationOptions : IJsonModel, IPersistableModel { public IList InitialMessages { get; } public IDictionary Metadata { get; } public ToolResources ToolResources { get; set; } } [Experimental("OPENAI001")] public class ThreadDeletionResult : IJsonModel, IPersistableModel { public bool Deleted { get; } public string ThreadId { get; } public static explicit operator ThreadDeletionResult(ClientResult result); } [Experimental("OPENAI001")] public class ThreadInitializationMessage : MessageCreationOptions { public ThreadInitializationMessage(MessageRole role, IEnumerable content); public static implicit operator ThreadInitializationMessage(string initializationMessage); } [Experimental("OPENAI001")] public class ThreadMessage : IJsonModel, IPersistableModel { public string AssistantId { get; } public IReadOnlyList Attachments { get; } public DateTimeOffset? CompletedAt { get; } public IReadOnlyList Content { get; } public DateTimeOffset CreatedAt { get; } public string Id { get; } public DateTimeOffset? IncompleteAt { get; } public MessageFailureDetails IncompleteDetails { get; } public IReadOnlyDictionary Metadata { get; } public MessageRole Role { get; } public string RunId { get; } public MessageStatus Status { get; } public string ThreadId { get; } public static explicit operator ThreadMessage(ClientResult result); } [Experimental("OPENAI001")] public class ThreadModificationOptions : IJsonModel, IPersistableModel { public IDictionary Metadata { get; } public ToolResources ToolResources { get; set; } } [Experimental("OPENAI001")] public class ThreadRun : IJsonModel, IPersistableModel { public bool? AllowParallelToolCalls { get; } public string AssistantId { get; } public DateTimeOffset? CancelledAt { get; } public DateTimeOffset? CompletedAt { get; } public DateTimeOffset CreatedAt { get; } public DateTimeOffset? ExpiresAt { get; } public DateTimeOffset? FailedAt { get; } public string Id { get; } public RunIncompleteDetails IncompleteDetails { get; } public string Instructions { get; } public RunError LastError { get; } public int? MaxInputTokenCount { get; } public int? MaxOutputTokenCount { get; } public IReadOnlyDictionary Metadata { get; } public string Model { get; } public float? NucleusSamplingFactor { get; } public IReadOnlyList RequiredActions { get; } public AssistantResponseFormat ResponseFormat { get; } public DateTimeOffset? StartedAt { get; } public RunStatus Status { get; } public float? Temperature { get; } public string ThreadId { get; } public ToolConstraint ToolConstraint { get; } public IReadOnlyList Tools { get; } public RunTruncationStrategy TruncationStrategy { get; } public RunTokenUsage Usage { get; } public static explicit operator ThreadRun(ClientResult result); } [Experimental("OPENAI001")] public class ThreadUpdate : StreamingUpdate { public DateTimeOffset CreatedAt { get; } public string Id { get; } public IReadOnlyDictionary Metadata { get; } public ToolResources ToolResources { get; } } [Experimental("OPENAI001")] public class ToolConstraint : IJsonModel, IPersistableModel { public ToolConstraint(ToolDefinition toolDefinition); public static ToolConstraint Auto { get; } public static ToolConstraint None { get; } public static ToolConstraint Required { get; } } [Experimental("OPENAI001")] public class ToolDefinition : IJsonModel, IPersistableModel { public static CodeInterpreterToolDefinition CreateCodeInterpreter(); public static FileSearchToolDefinition CreateFileSearch(int? maxResults = null); public static FunctionToolDefinition CreateFunction(string name, string description = null, BinaryData parameters = null, bool? strictParameterSchemaEnabled = null); } [Experimental("OPENAI001")] public class ToolOutput : IJsonModel, IPersistableModel { public ToolOutput(); public ToolOutput(string toolCallId, string output); public string Output { get; set; } public string ToolCallId { get; set; } } [Experimental("OPENAI001")] public class ToolResources : IJsonModel, IPersistableModel { public CodeInterpreterToolResources CodeInterpreter { get; set; } public FileSearchToolResources FileSearch { get; set; } } [Experimental("OPENAI001")] public class VectorStoreCreationHelper : IJsonModel, IPersistableModel { public VectorStoreCreationHelper(); public VectorStoreCreationHelper(IEnumerable files); public VectorStoreCreationHelper(IEnumerable fileIds); public FileChunkingStrategy ChunkingStrategy { get; set; } public IList FileIds { get; } public IDictionary Metadata { get; } } } namespace OpenAI.Audio { public class AudioClient { protected AudioClient(); [Experimental("SCME0002")] public AudioClient(AudioClientSettings settings); protected internal AudioClient(ClientPipeline pipeline, string model, OpenAIClientOptions options); public AudioClient(string model, ApiKeyCredential credential, OpenAIClientOptions options); public AudioClient(string model, ApiKeyCredential credential); [Experimental("OPENAI001")] public AudioClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); [Experimental("OPENAI001")] public AudioClient(string model, AuthenticationPolicy authenticationPolicy); public AudioClient(string model, string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } [Experimental("OPENAI001")] public string Model { get; } public ClientPipeline Pipeline { get; } [Experimental("OPENAI001")] public virtual ClientResult CreateVoice(BinaryContent content, string contentType, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task CreateVoiceAsync(BinaryContent content, string contentType, RequestOptions options = null); [Experimental("OPENAI001")] public virtual ClientResult CreateVoiceConsent(BinaryContent content, string contentType, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task CreateVoiceConsentAsync(BinaryContent content, string contentType, RequestOptions options = null); [Experimental("OPENAI001")] public virtual ClientResult DeleteVoiceConsent(string consentId, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task DeleteVoiceConsentAsync(string consentId, RequestOptions options = null); public virtual ClientResult GenerateSpeech(BinaryContent content, RequestOptions options = null); public virtual ClientResult GenerateSpeech(string text, GeneratedSpeechVoice voice, SpeechGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual Task GenerateSpeechAsync(BinaryContent content, RequestOptions options = null); public virtual Task> GenerateSpeechAsync(string text, GeneratedSpeechVoice voice, SpeechGenerationOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual CollectionResult GenerateSpeechStreaming(string text, GeneratedSpeechVoice voice, SpeechGenerationOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual AsyncCollectionResult GenerateSpeechStreamingAsync(string text, GeneratedSpeechVoice voice, SpeechGenerationOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual ClientResult GetVoiceConsent(string consentId, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task GetVoiceConsentAsync(string consentId, RequestOptions options = null); [Experimental("OPENAI001")] public virtual CollectionResult GetVoiceConsents(string after = null, int? limit = null, RequestOptions options = null); [Experimental("OPENAI001")] public virtual AsyncCollectionResult GetVoiceConsentsAsync(string after = null, int? limit = null, RequestOptions options = null); public virtual ClientResult TranscribeAudio(BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult TranscribeAudio(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult TranscribeAudio(string audioFilePath, AudioTranscriptionOptions options = null); public virtual Task TranscribeAudioAsync(BinaryContent content, string contentType, RequestOptions options = null); public virtual Task> TranscribeAudioAsync(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default); public virtual Task> TranscribeAudioAsync(string audioFilePath, AudioTranscriptionOptions options = null); [Experimental("OPENAI001")] public virtual ClientResult TranscribeAudioDiarized(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual ClientResult TranscribeAudioDiarized(string audioFilePath, AudioTranscriptionOptions options = null); [Experimental("OPENAI001")] public virtual Task> TranscribeAudioDiarizedAsync(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual Task> TranscribeAudioDiarizedAsync(string audioFilePath, AudioTranscriptionOptions options = null); [Experimental("OPENAI001")] public virtual CollectionResult TranscribeAudioStreaming(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual CollectionResult TranscribeAudioStreaming(string audioFilePath, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual AsyncCollectionResult TranscribeAudioStreamingAsync(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual AsyncCollectionResult TranscribeAudioStreamingAsync(string audioFilePath, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult TranslateAudio(BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult TranslateAudio(Stream audio, string audioFilename, AudioTranslationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult TranslateAudio(string audioFilePath, AudioTranslationOptions options = null); public virtual Task TranslateAudioAsync(BinaryContent content, string contentType, RequestOptions options = null); public virtual Task> TranslateAudioAsync(Stream audio, string audioFilename, AudioTranslationOptions options = null, CancellationToken cancellationToken = default); public virtual Task> TranslateAudioAsync(string audioFilePath, AudioTranslationOptions options = null); [Experimental("OPENAI001")] public virtual ClientResult UpdateVoiceConsent(string consentId, BinaryContent content, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task UpdateVoiceConsentAsync(string consentId, BinaryContent content, RequestOptions options = null); } [Experimental("SCME0002")] public sealed class AudioClientSettings : ClientSettings { public string Model { get; set; } public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Flags] public enum AudioTimestampGranularities { Default = 0, Word = 1, Segment = 2 } [Experimental("OPENAI001")] public class AudioTokenLogProbabilityDetails : IJsonModel, IPersistableModel { public float LogProbability { get; } public string Token { get; } public ReadOnlyMemory Utf8Bytes { get; } } public class AudioTranscription : IJsonModel, IPersistableModel { public TimeSpan? Duration { get; } public string Language { get; } public IReadOnlyList Segments { get; } public string Text { get; } [Experimental("OPENAI001")] public IReadOnlyList TranscriptionTokenLogProbabilities { get; } [Experimental("OPENAI001")] public AudioTranscriptionUsage Usage { get; } public IReadOnlyList Words { get; } [Experimental("OPENAI001")] public static explicit operator AudioTranscription(ClientResult result); } [Experimental("OPENAI001")] public class AudioTranscriptionChunkingStrategy : IJsonModel, IPersistableModel { public AudioTranscriptionChunkingStrategy(AudioTranscriptionCustomChunkingStrategy customChunkingStrategy); public AudioTranscriptionChunkingStrategy(AudioTranscriptionDefaultChunkingStrategy defaultChunkingStrategy); public AudioTranscriptionCustomChunkingStrategy CustomChunkingStrategy { get; } public AudioTranscriptionDefaultChunkingStrategy? DefaultChunkingStrategy { get; } public static implicit operator AudioTranscriptionChunkingStrategy(AudioTranscriptionCustomChunkingStrategy customChunkingStrategy); public static implicit operator AudioTranscriptionChunkingStrategy(AudioTranscriptionDefaultChunkingStrategy defaultChunkingStrategy); } [Experimental("OPENAI001")] public class AudioTranscriptionCustomChunkingStrategy : IJsonModel, IPersistableModel { } [Experimental("OPENAI001")] public class AudioTranscriptionCustomServerVadChunkingStrategy : AudioTranscriptionCustomChunkingStrategy, IJsonModel, IPersistableModel { public AudioTranscriptionCustomServerVadChunkingStrategy(); public float? DetectionThreshold { get; set; } public TimeSpan? PrefixPadding { get; set; } public TimeSpan? SilenceDuration { get; set; } } [Experimental("OPENAI001")] public readonly partial struct AudioTranscriptionDefaultChunkingStrategy : IEquatable { public AudioTranscriptionDefaultChunkingStrategy(string value); public static AudioTranscriptionDefaultChunkingStrategy Auto { get; } public readonly bool Equals(AudioTranscriptionDefaultChunkingStrategy other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(AudioTranscriptionDefaultChunkingStrategy left, AudioTranscriptionDefaultChunkingStrategy right); public static implicit operator AudioTranscriptionDefaultChunkingStrategy(string value); public static implicit operator AudioTranscriptionDefaultChunkingStrategy?(string value); public static bool operator !=(AudioTranscriptionDefaultChunkingStrategy left, AudioTranscriptionDefaultChunkingStrategy right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class AudioTranscriptionDurationUsage : AudioTranscriptionUsage, IJsonModel, IPersistableModel { public TimeSpan Duration { get; } } public readonly partial struct AudioTranscriptionFormat : IEquatable { public AudioTranscriptionFormat(string value); [Experimental("OPENAI001")] public static AudioTranscriptionFormat Diarized { get; } public static AudioTranscriptionFormat Simple { get; } public static AudioTranscriptionFormat Srt { get; } [EditorBrowsable(EditorBrowsableState.Never)] public static AudioTranscriptionFormat Text { get; } public static AudioTranscriptionFormat Verbose { get; } public static AudioTranscriptionFormat Vtt { get; } public readonly bool Equals(AudioTranscriptionFormat other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(AudioTranscriptionFormat left, AudioTranscriptionFormat right); public static implicit operator AudioTranscriptionFormat(string value); public static implicit operator AudioTranscriptionFormat?(string value); public static bool operator !=(AudioTranscriptionFormat left, AudioTranscriptionFormat right); public override readonly string ToString(); } [Experimental("OPENAI001")] [Flags] public enum AudioTranscriptionIncludes { Default = 0, Logprobs = 1 } [Experimental("OPENAI001")] public class AudioTranscriptionInputTokenUsageDetails : IJsonModel, IPersistableModel { public int? AudioTokenCount { get; } public int? TextTokenCount { get; } } public class AudioTranscriptionOptions : IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public AudioTranscriptionChunkingStrategy ChunkingStrategy { get; set; } [Experimental("OPENAI001")] public AudioTranscriptionIncludes Includes { get; set; } [Experimental("OPENAI001")] public IList KnownSpeakerNames { get; } [Experimental("OPENAI001")] public IList KnownSpeakerReferenceUris { get; } public string Language { get; set; } public string Prompt { get; set; } public AudioTranscriptionFormat? ResponseFormat { get; set; } public float? Temperature { get; set; } public AudioTimestampGranularities TimestampGranularities { get; set; } } [Experimental("OPENAI001")] public class AudioTranscriptionTokenUsage : AudioTranscriptionUsage, IJsonModel, IPersistableModel { public int InputTokenCount { get; } public AudioTranscriptionInputTokenUsageDetails InputTokenDetails { get; } public int OutputTokenCount { get; } public int TotalTokenCount { get; } } [Experimental("OPENAI001")] public class AudioTranscriptionUsage : IJsonModel, IPersistableModel { } public class AudioTranslation : IJsonModel, IPersistableModel { public TimeSpan? Duration { get; } public string Language { get; } public IReadOnlyList Segments { get; } public string Text { get; } [Experimental("OPENAI001")] public static explicit operator AudioTranslation(ClientResult result); } public readonly partial struct AudioTranslationFormat : IEquatable { public AudioTranslationFormat(string value); public static AudioTranslationFormat Simple { get; } public static AudioTranslationFormat Srt { get; } [EditorBrowsable(EditorBrowsableState.Never)] public static AudioTranslationFormat Text { get; } public static AudioTranslationFormat Verbose { get; } public static AudioTranslationFormat Vtt { get; } public readonly bool Equals(AudioTranslationFormat other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(AudioTranslationFormat left, AudioTranslationFormat right); public static implicit operator AudioTranslationFormat(string value); public static implicit operator AudioTranslationFormat?(string value); public static bool operator !=(AudioTranslationFormat left, AudioTranslationFormat right); public override readonly string ToString(); } public class AudioTranslationOptions : IJsonModel, IPersistableModel { public string Prompt { get; set; } public AudioTranslationFormat? ResponseFormat { get; set; } public float? Temperature { get; set; } } [Experimental("OPENAI001")] public class DiarizedAudioTranscription : IJsonModel, IPersistableModel { public TimeSpan Duration { get; } public IReadOnlyList Segments { get; } public string Text { get; } public AudioTranscriptionUsage Usage { get; } } [Experimental("OPENAI001")] public readonly partial struct DiarizedTranscriptionSegment : IJsonModel, IPersistableModel, IJsonModel, IPersistableModel { public TimeSpan EndTime { get; } public string Id { get; } public string SpeakerLabel { get; } public TimeSpan StartTime { get; } public string Text { get; } } public readonly partial struct GeneratedSpeechFormat : IEquatable { public GeneratedSpeechFormat(string value); public static GeneratedSpeechFormat Aac { get; } public static GeneratedSpeechFormat Flac { get; } public static GeneratedSpeechFormat Mp3 { get; } public static GeneratedSpeechFormat Opus { get; } public static GeneratedSpeechFormat Pcm { get; } public static GeneratedSpeechFormat Wav { get; } public readonly bool Equals(GeneratedSpeechFormat other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GeneratedSpeechFormat left, GeneratedSpeechFormat right); public static implicit operator GeneratedSpeechFormat(string value); public static implicit operator GeneratedSpeechFormat?(string value); public static bool operator !=(GeneratedSpeechFormat left, GeneratedSpeechFormat right); public override readonly string ToString(); } public readonly partial struct GeneratedSpeechVoice : IEquatable { public GeneratedSpeechVoice(string value); public static GeneratedSpeechVoice Alloy { get; } [Experimental("OPENAI001")] public static GeneratedSpeechVoice Ash { get; } [Experimental("OPENAI001")] public static GeneratedSpeechVoice Ballad { get; } [Experimental("OPENAI001")] public static GeneratedSpeechVoice Coral { get; } public static GeneratedSpeechVoice Echo { get; } public static GeneratedSpeechVoice Fable { get; } public static GeneratedSpeechVoice Nova { get; } public static GeneratedSpeechVoice Onyx { get; } [Experimental("OPENAI001")] public static GeneratedSpeechVoice Sage { get; } public static GeneratedSpeechVoice Shimmer { get; } [Experimental("OPENAI001")] public static GeneratedSpeechVoice Verse { get; } public readonly bool Equals(GeneratedSpeechVoice other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GeneratedSpeechVoice left, GeneratedSpeechVoice right); public static implicit operator GeneratedSpeechVoice(string value); public static implicit operator GeneratedSpeechVoice?(string value); public static bool operator !=(GeneratedSpeechVoice left, GeneratedSpeechVoice right); public override readonly string ToString(); } public static class OpenAIAudioModelFactory { [Experimental("OPENAI001")] public static AudioTranscription AudioTranscription(string language = null, TimeSpan? duration = null, string text = null, IEnumerable words = null, IEnumerable segments = null, IEnumerable transcriptionTokenLogProbabilities = null); [EditorBrowsable(EditorBrowsableState.Never)] public static AudioTranscription AudioTranscription(string language, TimeSpan? duration, string text, IEnumerable words, IEnumerable segments); public static AudioTranslation AudioTranslation(string language = null, TimeSpan? duration = null, string text = null, IEnumerable segments = null); public static TranscribedSegment TranscribedSegment(int id = 0, int seekOffset = 0, TimeSpan startTime = default, TimeSpan endTime = default, string text = null, ReadOnlyMemory tokenIds = default, float temperature = 0, float averageLogProbability = 0, float compressionRatio = 0, float noSpeechProbability = 0); public static TranscribedWord TranscribedWord(string word = null, TimeSpan startTime = default, TimeSpan endTime = default); } public class SpeechGenerationOptions : IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public string Instructions { get; set; } public GeneratedSpeechFormat? ResponseFormat { get; set; } public float? SpeedRatio { get; set; } } [Experimental("OPENAI001")] public class SpeechTokenUsage : IJsonModel, IPersistableModel { public int InputTokenCount { get; } public int OutputTokenCount { get; } public int TotalTokenCount { get; } } [Experimental("OPENAI001")] public class StreamingAudioTranscriptionTextDeltaUpdate : StreamingAudioTranscriptionUpdate, IJsonModel, IPersistableModel { public string Delta { get; } public string SegmentId { get; } public IReadOnlyList TranscriptionTokenLogProbabilities { get; } } [Experimental("OPENAI001")] public class StreamingAudioTranscriptionTextDoneUpdate : StreamingAudioTranscriptionUpdate, IJsonModel, IPersistableModel { public string Text { get; } public IReadOnlyList TranscriptionTokenLogProbabilities { get; } public AudioTranscriptionTokenUsage Usage { get; } } [Experimental("OPENAI001")] public class StreamingAudioTranscriptionTextSegmentUpdate : StreamingAudioTranscriptionUpdate, IJsonModel, IPersistableModel { public TimeSpan EndTime { get; } public string SegmentId { get; } public string SpeakerLabel { get; } public TimeSpan StartTime { get; } public string Text { get; } } [Experimental("OPENAI001")] public class StreamingAudioTranscriptionUpdate : IJsonModel, IPersistableModel { } [Experimental("OPENAI001")] public class StreamingSpeechAudioDeltaUpdate : StreamingSpeechUpdate, IJsonModel, IPersistableModel { public BinaryData AudioBytes { get; } } [Experimental("OPENAI001")] public class StreamingSpeechAudioDoneUpdate : StreamingSpeechUpdate, IJsonModel, IPersistableModel { public SpeechTokenUsage Usage { get; } } [Experimental("OPENAI001")] public class StreamingSpeechUpdate : IJsonModel, IPersistableModel { } public readonly partial struct TranscribedSegment : IJsonModel, IPersistableModel, IJsonModel, IPersistableModel { public float AverageLogProbability { get; } public float CompressionRatio { get; } public TimeSpan EndTime { get; } public int Id { get; } public float NoSpeechProbability { get; } public int SeekOffset { get; } public TimeSpan StartTime { get; } public float Temperature { get; } public string Text { get; } public ReadOnlyMemory TokenIds { get; } } public readonly partial struct TranscribedWord : IJsonModel, IPersistableModel, IJsonModel, IPersistableModel { public TimeSpan EndTime { get; } public TimeSpan StartTime { get; } public string Word { get; } } } namespace OpenAI.Batch { [Experimental("OPENAI001")] public class BatchClient { protected BatchClient(); [Experimental("SCME0002")] public BatchClient(BatchClientSettings settings); public BatchClient(ApiKeyCredential credential, OpenAIClientOptions options); public BatchClient(ApiKeyCredential credential); public BatchClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public BatchClient(AuthenticationPolicy authenticationPolicy); protected internal BatchClient(ClientPipeline pipeline, OpenAIClientOptions options); public BatchClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual CreateBatchOperation CreateBatch(BinaryContent content, bool waitUntilCompleted, RequestOptions options = null); public virtual Task CreateBatchAsync(BinaryContent content, bool waitUntilCompleted, RequestOptions options = null); public virtual ClientResult GetBatch(string batchId, RequestOptions options); public virtual Task GetBatchAsync(string batchId, RequestOptions options); public virtual CollectionResult GetBatches(BatchCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetBatches(string after, int? limit, RequestOptions options); public virtual AsyncCollectionResult GetBatchesAsync(BatchCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetBatchesAsync(string after, int? limit, RequestOptions options); } [Experimental("SCME0002")] public sealed class BatchClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI001")] public class BatchCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public int? PageSizeLimit { get; set; } } [Experimental("OPENAI001")] public class BatchJob : IJsonModel, IPersistableModel { public DateTimeOffset? CancelledAt { get; } public DateTimeOffset? CancellingAt { get; } public DateTimeOffset? CompletedAt { get; } public string CompletionWindow { get; } public DateTimeOffset CreatedAt { get; } public string Endpoint { get; } public string ErrorFileId { get; } public DateTimeOffset? ExpiredAt { get; } public DateTimeOffset? ExpiresAt { get; } public DateTimeOffset? FailedAt { get; } public DateTimeOffset? FinalizingAt { get; } public string Id { get; } public DateTimeOffset? InProgressAt { get; } public string InputFileId { get; } public IDictionary Metadata { get; } public string Object { get; } public string OutputFileId { get; } public static explicit operator BatchJob(ClientResult result); } [Experimental("OPENAI001")] public class CreateBatchOperation : OperationResult { public string BatchId { get; } public override ContinuationToken? RehydrationToken { get; protected set; } public virtual ClientResult Cancel(RequestOptions? options); public virtual Task CancelAsync(RequestOptions? options); public virtual ClientResult GetBatch(RequestOptions? options); public virtual Task GetBatchAsync(RequestOptions? options); public static CreateBatchOperation Rehydrate(BatchClient client, ContinuationToken rehydrationToken, CancellationToken cancellationToken = default); public static CreateBatchOperation Rehydrate(BatchClient client, string batchId, CancellationToken cancellationToken = default); public static Task RehydrateAsync(BatchClient client, ContinuationToken rehydrationToken, CancellationToken cancellationToken = default); public static Task RehydrateAsync(BatchClient client, string batchId, CancellationToken cancellationToken = default); public override ClientResult UpdateStatus(RequestOptions? options = null); public override ValueTask UpdateStatusAsync(RequestOptions? options = null); } } namespace OpenAI.Chat { public class AssistantChatMessage : ChatMessage, IJsonModel, IPersistableModel { public AssistantChatMessage(ChatCompletion chatCompletion); [Obsolete("This constructor is obsolete. Please use the constructor that takes an IEnumerable parameter instead.")] public AssistantChatMessage(ChatFunctionCall functionCall); public AssistantChatMessage(params ChatMessageContentPart[] contentParts); [Experimental("OPENAI001")] public AssistantChatMessage(ChatOutputAudioReference outputAudioReference); public AssistantChatMessage(IEnumerable contentParts); public AssistantChatMessage(IEnumerable toolCalls); public AssistantChatMessage(string content); [Obsolete("This property is obsolete. Please use ToolCalls instead.")] public ChatFunctionCall FunctionCall { get; set; } [Experimental("OPENAI001")] public ChatOutputAudioReference OutputAudioReference { get; set; } public string ParticipantName { get; set; } public string Refusal { get; set; } public IList ToolCalls { get; } } [Experimental("OPENAI001")] public class ChatAudioOptions : IJsonModel, IPersistableModel { public ChatAudioOptions(ChatOutputAudioVoice outputAudioVoice, ChatOutputAudioFormat outputAudioFormat); public ChatOutputAudioFormat OutputAudioFormat { get; } public ChatOutputAudioVoice OutputAudioVoice { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } public class ChatClient { protected ChatClient(); [Experimental("SCME0002")] public ChatClient(ChatClientSettings settings); protected internal ChatClient(ClientPipeline pipeline, string model, OpenAIClientOptions options); public ChatClient(string model, ApiKeyCredential credential, OpenAIClientOptions options); public ChatClient(string model, ApiKeyCredential credential); [Experimental("OPENAI001")] public ChatClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); [Experimental("OPENAI001")] public ChatClient(string model, AuthenticationPolicy authenticationPolicy); public ChatClient(string model, string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } [Experimental("OPENAI001")] public string Model { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult CompleteChat(params ChatMessage[] messages); public virtual ClientResult CompleteChat(BinaryContent content, RequestOptions options = null); public virtual ClientResult CompleteChat(IEnumerable messages, ChatCompletionOptions options = null, CancellationToken cancellationToken = default); public virtual Task> CompleteChatAsync(params ChatMessage[] messages); public virtual Task CompleteChatAsync(BinaryContent content, RequestOptions options = null); public virtual Task> CompleteChatAsync(IEnumerable messages, ChatCompletionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult CompleteChatStreaming(params ChatMessage[] messages); public virtual CollectionResult CompleteChatStreaming(IEnumerable messages, ChatCompletionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult CompleteChatStreamingAsync(params ChatMessage[] messages); public virtual AsyncCollectionResult CompleteChatStreamingAsync(IEnumerable messages, ChatCompletionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual ClientResult DeleteChatCompletion(string completionId, RequestOptions options); [Experimental("OPENAI001")] public virtual ClientResult DeleteChatCompletion(string completionId, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual Task DeleteChatCompletionAsync(string completionId, RequestOptions options); [Experimental("OPENAI001")] public virtual Task> DeleteChatCompletionAsync(string completionId, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual ClientResult GetChatCompletion(string completionId, RequestOptions options); [Experimental("OPENAI001")] public virtual ClientResult GetChatCompletion(string completionId, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual Task GetChatCompletionAsync(string completionId, RequestOptions options); [Experimental("OPENAI001")] public virtual Task> GetChatCompletionAsync(string completionId, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual CollectionResult GetChatCompletionMessages(string completionId, ChatCompletionMessageCollectionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual CollectionResult GetChatCompletionMessages(string completionId, string after, int? limit, string order, RequestOptions options); [Experimental("OPENAI001")] public virtual AsyncCollectionResult GetChatCompletionMessagesAsync(string completionId, ChatCompletionMessageCollectionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual AsyncCollectionResult GetChatCompletionMessagesAsync(string completionId, string after, int? limit, string order, RequestOptions options); [Experimental("OPENAI001")] public virtual CollectionResult GetChatCompletions(ChatCompletionCollectionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual CollectionResult GetChatCompletions(string after, int? limit, string order, IDictionary metadata, string model, RequestOptions options); [Experimental("OPENAI001")] public virtual AsyncCollectionResult GetChatCompletionsAsync(ChatCompletionCollectionOptions options = null, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual AsyncCollectionResult GetChatCompletionsAsync(string after, int? limit, string order, IDictionary metadata, string model, RequestOptions options); [Experimental("OPENAI001")] public virtual ClientResult UpdateChatCompletion(string completionId, BinaryContent content, RequestOptions options = null); [Experimental("OPENAI001")] public virtual ClientResult UpdateChatCompletion(string completionId, IDictionary metadata, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual Task UpdateChatCompletionAsync(string completionId, BinaryContent content, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task> UpdateChatCompletionAsync(string completionId, IDictionary metadata, CancellationToken cancellationToken = default); } [Experimental("SCME0002")] public sealed class ChatClientSettings : ClientSettings { public string Model { get; set; } public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } public class ChatCompletion : IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public IReadOnlyList Annotations { get; } public ChatMessageContent Content { get; } public IReadOnlyList ContentTokenLogProbabilities { get; } public DateTimeOffset CreatedAt { get; } public ChatFinishReason FinishReason { get; } [Obsolete("This property is obsolete. Please use ToolCalls instead.")] public ChatFunctionCall FunctionCall { get; } public string Id { get; } public string Model { get; } [Experimental("OPENAI001")] public ChatOutputAudio OutputAudio { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Refusal { get; } public IReadOnlyList RefusalTokenLogProbabilities { get; } public ChatMessageRole Role { get; } [Experimental("OPENAI001")] public ChatServiceTier? ServiceTier { get; } public string SystemFingerprint { get; } public IReadOnlyList ToolCalls { get; } public ChatTokenUsage Usage { get; } [Experimental("OPENAI001")] public static explicit operator ChatCompletion(ClientResult result); } [Experimental("OPENAI001")] public class ChatCompletionCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public IDictionary Metadata { get; } public string Model { get; set; } public ChatCompletionCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public readonly partial struct ChatCompletionCollectionOrder : IEquatable { public ChatCompletionCollectionOrder(string value); public static ChatCompletionCollectionOrder Ascending { get; } public static ChatCompletionCollectionOrder Descending { get; } public readonly bool Equals(ChatCompletionCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ChatCompletionCollectionOrder left, ChatCompletionCollectionOrder right); public static implicit operator ChatCompletionCollectionOrder(string value); public static implicit operator ChatCompletionCollectionOrder?(string value); public static bool operator !=(ChatCompletionCollectionOrder left, ChatCompletionCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ChatCompletionDeletionResult : IJsonModel, IPersistableModel { public string ChatCompletionId { get; } public bool Deleted { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static explicit operator ChatCompletionDeletionResult(ClientResult result); } [Experimental("OPENAI001")] public class ChatCompletionMessageCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public ChatCompletionMessageCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public readonly partial struct ChatCompletionMessageCollectionOrder : IEquatable { public ChatCompletionMessageCollectionOrder(string value); public static ChatCompletionMessageCollectionOrder Ascending { get; } public static ChatCompletionMessageCollectionOrder Descending { get; } public readonly bool Equals(ChatCompletionMessageCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ChatCompletionMessageCollectionOrder left, ChatCompletionMessageCollectionOrder right); public static implicit operator ChatCompletionMessageCollectionOrder(string value); public static implicit operator ChatCompletionMessageCollectionOrder?(string value); public static bool operator !=(ChatCompletionMessageCollectionOrder left, ChatCompletionMessageCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ChatCompletionMessageListDatum : IJsonModel, IPersistableModel { public IReadOnlyList Annotations { get; } public string Content { get; } public IList ContentParts { get; } public string Id { get; } public ChatOutputAudio OutputAudio { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Refusal { get; } public IReadOnlyList ToolCalls { get; } } public class ChatCompletionOptions : IJsonModel, IPersistableModel { public bool? AllowParallelToolCalls { get; set; } [Experimental("OPENAI001")] public ChatAudioOptions AudioOptions { get; set; } public string EndUserId { get; set; } public float? FrequencyPenalty { get; set; } [Obsolete("This property is obsolete. Please use ToolChoice instead.")] public ChatFunctionChoice FunctionChoice { get; set; } [Obsolete("This property is obsolete. Please use Tools instead.")] public IList Functions { get; } public bool? IncludeLogProbabilities { get; set; } public IDictionary LogitBiases { get; } public int? MaxOutputTokenCount { get; set; } public IDictionary Metadata { get; } [Experimental("OPENAI001")] public ChatOutputPrediction OutputPrediction { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public float? PresencePenalty { get; set; } [Experimental("OPENAI001")] public ChatReasoningEffortLevel? ReasoningEffortLevel { get; set; } public ChatResponseFormat ResponseFormat { get; set; } [Experimental("OPENAI001")] public ChatResponseModalities ResponseModalities { get; set; } [Experimental("OPENAI001")] public string SafetyIdentifier { get; set; } [Experimental("OPENAI001")] public long? Seed { get; set; } [Experimental("OPENAI001")] public ChatServiceTier? ServiceTier { get; set; } public IList StopSequences { get; } public bool? StoredOutputEnabled { get; set; } public float? Temperature { get; set; } public ChatToolChoice ToolChoice { get; set; } public IList Tools { get; } public int? TopLogProbabilityCount { get; set; } public float? TopP { get; set; } [Experimental("OPENAI001")] public ChatWebSearchOptions WebSearchOptions { get; set; } } public enum ChatFinishReason { Stop = 0, Length = 1, ContentFilter = 2, ToolCalls = 3, FunctionCall = 4 } [Obsolete("This class is obsolete. Please use ChatTool instead.")] public class ChatFunction : IJsonModel, IPersistableModel { public ChatFunction(string functionName); public string FunctionDescription { get; set; } public string FunctionName { get; } public BinaryData FunctionParameters { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Obsolete("This class is obsolete. Please use ChatToolCall instead.")] public class ChatFunctionCall : IJsonModel, IPersistableModel { public ChatFunctionCall(string functionName, BinaryData functionArguments); public BinaryData FunctionArguments { get; } public string FunctionName { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Obsolete("This class is obsolete. Please use ChatToolChoice instead.")] public class ChatFunctionChoice : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ChatFunctionChoice CreateAutoChoice(); public static ChatFunctionChoice CreateNamedChoice(string functionName); public static ChatFunctionChoice CreateNoneChoice(); } public readonly partial struct ChatImageDetailLevel : IEquatable { public ChatImageDetailLevel(string value); public static ChatImageDetailLevel Auto { get; } public static ChatImageDetailLevel High { get; } public static ChatImageDetailLevel Low { get; } public readonly bool Equals(ChatImageDetailLevel other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ChatImageDetailLevel left, ChatImageDetailLevel right); public static implicit operator ChatImageDetailLevel(string value); public static implicit operator ChatImageDetailLevel?(string value); public static bool operator !=(ChatImageDetailLevel left, ChatImageDetailLevel right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct ChatInputAudioFormat : IEquatable { public ChatInputAudioFormat(string value); public static ChatInputAudioFormat Mp3 { get; } public static ChatInputAudioFormat Wav { get; } public readonly bool Equals(ChatInputAudioFormat other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ChatInputAudioFormat left, ChatInputAudioFormat right); public static implicit operator ChatInputAudioFormat(string value); public static implicit operator ChatInputAudioFormat?(string value); public static bool operator !=(ChatInputAudioFormat left, ChatInputAudioFormat right); public override readonly string ToString(); } public class ChatInputTokenUsageDetails : IJsonModel, IPersistableModel { public int AudioTokenCount { get; } public int CachedTokenCount { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } public class ChatMessage : IJsonModel, IPersistableModel { public ChatMessageContent Content { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static AssistantChatMessage CreateAssistantMessage(ChatCompletion chatCompletion); public static AssistantChatMessage CreateAssistantMessage(ChatFunctionCall functionCall); public static AssistantChatMessage CreateAssistantMessage(params ChatMessageContentPart[] contentParts); [Experimental("OPENAI001")] public static AssistantChatMessage CreateAssistantMessage(ChatOutputAudioReference outputAudioReference); public static AssistantChatMessage CreateAssistantMessage(IEnumerable contentParts); public static AssistantChatMessage CreateAssistantMessage(IEnumerable toolCalls); public static AssistantChatMessage CreateAssistantMessage(string content); [Experimental("OPENAI001")] public static DeveloperChatMessage CreateDeveloperMessage(params ChatMessageContentPart[] contentParts); [Experimental("OPENAI001")] public static DeveloperChatMessage CreateDeveloperMessage(IEnumerable contentParts); [Experimental("OPENAI001")] public static DeveloperChatMessage CreateDeveloperMessage(string content); [Obsolete("This method is obsolete. Please use CreateToolMessage instead.")] public static FunctionChatMessage CreateFunctionMessage(string functionName, string content); public static SystemChatMessage CreateSystemMessage(params ChatMessageContentPart[] contentParts); public static SystemChatMessage CreateSystemMessage(IEnumerable contentParts); public static SystemChatMessage CreateSystemMessage(string content); public static ToolChatMessage CreateToolMessage(string toolCallId, params ChatMessageContentPart[] contentParts); public static ToolChatMessage CreateToolMessage(string toolCallId, IEnumerable contentParts); public static ToolChatMessage CreateToolMessage(string toolCallId, string content); public static UserChatMessage CreateUserMessage(params ChatMessageContentPart[] contentParts); public static UserChatMessage CreateUserMessage(IEnumerable contentParts); public static UserChatMessage CreateUserMessage(string content); public static implicit operator ChatMessage(string content); } [Experimental("OPENAI001")] public class ChatMessageAnnotation : IJsonModel, IPersistableModel { public int EndIndex { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int StartIndex { get; } public string WebResourceTitle { get; } public Uri WebResourceUri { get; } } public class ChatMessageContent : ObjectModel.Collection { public ChatMessageContent(); public ChatMessageContent(params ChatMessageContentPart[] contentParts); public ChatMessageContent(IEnumerable contentParts); public ChatMessageContent(string content); } public class ChatMessageContentPart : IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public BinaryData FileBytes { get; } [Experimental("OPENAI001")] public string FileBytesMediaType { get; } [Experimental("OPENAI001")] public string FileId { get; } [Experimental("OPENAI001")] public string Filename { get; } public BinaryData ImageBytes { get; } public string ImageBytesMediaType { get; } public ChatImageDetailLevel? ImageDetailLevel { get; } public Uri ImageUri { get; } [Experimental("OPENAI001")] public BinaryData InputAudioBytes { get; } [Experimental("OPENAI001")] public ChatInputAudioFormat? InputAudioFormat { get; } public ChatMessageContentPartKind Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Refusal { get; } public string Text { get; } [Experimental("OPENAI001")] public static ChatMessageContentPart CreateFilePart(BinaryData fileBytes, string fileBytesMediaType, string filename); [Experimental("OPENAI001")] public static ChatMessageContentPart CreateFilePart(string fileId); public static ChatMessageContentPart CreateImagePart(BinaryData imageBytes, string imageBytesMediaType, ChatImageDetailLevel? imageDetailLevel = null); public static ChatMessageContentPart CreateImagePart(Uri imageUri, ChatImageDetailLevel? imageDetailLevel = null); [Experimental("OPENAI001")] public static ChatMessageContentPart CreateInputAudioPart(BinaryData inputAudioBytes, ChatInputAudioFormat inputAudioFormat); public static ChatMessageContentPart CreateRefusalPart(string refusal); public static ChatMessageContentPart CreateTextPart(string text); public static implicit operator ChatMessageContentPart(string text); } public enum ChatMessageContentPartKind { Text = 0, Refusal = 1, Image = 2, InputAudio = 3, File = 4 } public enum ChatMessageRole { System = 0, User = 1, Assistant = 2, Tool = 3, Function = 4, Developer = 5 } [Experimental("OPENAI001")] public class ChatOutputAudio : IJsonModel, IPersistableModel { public BinaryData AudioBytes { get; } public DateTimeOffset ExpiresAt { get; } public string Id { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Transcript { get; } } [Experimental("OPENAI001")] public readonly partial struct ChatOutputAudioFormat : IEquatable { public ChatOutputAudioFormat(string value); public static ChatOutputAudioFormat Aac { get; } public static ChatOutputAudioFormat Flac { get; } public static ChatOutputAudioFormat Mp3 { get; } public static ChatOutputAudioFormat Opus { get; } public static ChatOutputAudioFormat Pcm16 { get; } public static ChatOutputAudioFormat Wav { get; } public readonly bool Equals(ChatOutputAudioFormat other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ChatOutputAudioFormat left, ChatOutputAudioFormat right); public static implicit operator ChatOutputAudioFormat(string value); public static implicit operator ChatOutputAudioFormat?(string value); public static bool operator !=(ChatOutputAudioFormat left, ChatOutputAudioFormat right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ChatOutputAudioReference : IJsonModel, IPersistableModel { public ChatOutputAudioReference(string id); public string Id { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public readonly partial struct ChatOutputAudioVoice : IEquatable { public ChatOutputAudioVoice(string value); public static ChatOutputAudioVoice Alloy { get; } public static ChatOutputAudioVoice Ash { get; } public static ChatOutputAudioVoice Ballad { get; } public static ChatOutputAudioVoice Coral { get; } public static ChatOutputAudioVoice Echo { get; } public static ChatOutputAudioVoice Fable { get; } public static ChatOutputAudioVoice Nova { get; } public static ChatOutputAudioVoice Onyx { get; } public static ChatOutputAudioVoice Sage { get; } public static ChatOutputAudioVoice Shimmer { get; } public static ChatOutputAudioVoice Verse { get; } public readonly bool Equals(ChatOutputAudioVoice other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ChatOutputAudioVoice left, ChatOutputAudioVoice right); public static implicit operator ChatOutputAudioVoice(string value); public static implicit operator ChatOutputAudioVoice?(string value); public static bool operator !=(ChatOutputAudioVoice left, ChatOutputAudioVoice right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ChatOutputPrediction : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ChatOutputPrediction CreateStaticContentPrediction(IEnumerable staticContentParts); public static ChatOutputPrediction CreateStaticContentPrediction(string staticContent); } public class ChatOutputTokenUsageDetails : IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public int AcceptedPredictionTokenCount { get; } public int AudioTokenCount { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int ReasoningTokenCount { get; } [Experimental("OPENAI001")] public int RejectedPredictionTokenCount { get; } } [Experimental("OPENAI001")] public readonly partial struct ChatReasoningEffortLevel : IEquatable { public ChatReasoningEffortLevel(string value); public static ChatReasoningEffortLevel High { get; } public static ChatReasoningEffortLevel Low { get; } public static ChatReasoningEffortLevel Medium { get; } public static ChatReasoningEffortLevel Minimal { get; } public static ChatReasoningEffortLevel None { get; } public readonly bool Equals(ChatReasoningEffortLevel other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ChatReasoningEffortLevel left, ChatReasoningEffortLevel right); public static implicit operator ChatReasoningEffortLevel(string value); public static implicit operator ChatReasoningEffortLevel?(string value); public static bool operator !=(ChatReasoningEffortLevel left, ChatReasoningEffortLevel right); public override readonly string ToString(); } public class ChatResponseFormat : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ChatResponseFormat CreateJsonObjectFormat(); public static ChatResponseFormat CreateJsonSchemaFormat(string jsonSchemaFormatName, BinaryData jsonSchema, string jsonSchemaFormatDescription = null, bool? jsonSchemaIsStrict = null); public static ChatResponseFormat CreateTextFormat(); } [Experimental("OPENAI001")] [Flags] public enum ChatResponseModalities { Default = 0, Text = 1, Audio = 2 } [Experimental("OPENAI001")] public readonly partial struct ChatServiceTier : IEquatable { public ChatServiceTier(string value); public static ChatServiceTier Auto { get; } public static ChatServiceTier Default { get; } public static ChatServiceTier Flex { get; } public static ChatServiceTier Scale { get; } public readonly bool Equals(ChatServiceTier other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ChatServiceTier left, ChatServiceTier right); public static implicit operator ChatServiceTier(string value); public static implicit operator ChatServiceTier?(string value); public static bool operator !=(ChatServiceTier left, ChatServiceTier right); public override readonly string ToString(); } public class ChatTokenLogProbabilityDetails : IJsonModel, IPersistableModel { public float LogProbability { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Token { get; } public IReadOnlyList TopLogProbabilities { get; } public ReadOnlyMemory? Utf8Bytes { get; } } public class ChatTokenTopLogProbabilityDetails : IJsonModel, IPersistableModel { public float LogProbability { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Token { get; } public ReadOnlyMemory? Utf8Bytes { get; } } public class ChatTokenUsage : IJsonModel, IPersistableModel { public int InputTokenCount { get; } public ChatInputTokenUsageDetails InputTokenDetails { get; } public int OutputTokenCount { get; } public ChatOutputTokenUsageDetails OutputTokenDetails { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int TotalTokenCount { get; } } public class ChatTool : IJsonModel, IPersistableModel { public string FunctionDescription { get; } public string FunctionName { get; } public BinaryData FunctionParameters { get; } public bool? FunctionSchemaIsStrict { get; } public ChatToolKind Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ChatTool CreateFunctionTool(string functionName, string functionDescription = null, BinaryData functionParameters = null, bool? functionSchemaIsStrict = null); } public class ChatToolCall : IJsonModel, IPersistableModel { public BinaryData FunctionArguments { get; } public string FunctionName { get; } public string Id { get; set; } public ChatToolCallKind Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ChatToolCall CreateFunctionToolCall(string id, string functionName, BinaryData functionArguments); } public enum ChatToolCallKind { Function = 0 } public class ChatToolChoice : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ChatToolChoice CreateAutoChoice(); public static ChatToolChoice CreateFunctionChoice(string functionName); public static ChatToolChoice CreateNoneChoice(); public static ChatToolChoice CreateRequiredChoice(); } public enum ChatToolKind { Function = 0 } [Experimental("OPENAI001")] public readonly partial struct ChatWebSearchContextSize : IEquatable { public ChatWebSearchContextSize(string value); public static ChatWebSearchContextSize High { get; } public static ChatWebSearchContextSize Low { get; } public static ChatWebSearchContextSize Medium { get; } public readonly bool Equals(ChatWebSearchContextSize other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ChatWebSearchContextSize left, ChatWebSearchContextSize right); public static implicit operator ChatWebSearchContextSize(string value); public static implicit operator ChatWebSearchContextSize?(string value); public static bool operator !=(ChatWebSearchContextSize left, ChatWebSearchContextSize right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ChatWebSearchOptions : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public ChatWebSearchContextSize? SearchContextSize { get; set; } } [Experimental("OPENAI001")] public class DeveloperChatMessage : ChatMessage, IJsonModel, IPersistableModel { public DeveloperChatMessage(params ChatMessageContentPart[] contentParts); public DeveloperChatMessage(IEnumerable contentParts); public DeveloperChatMessage(string content); public string ParticipantName { get; set; } } [Obsolete("This class is obsolete. Please use ToolChatMessage instead.")] public class FunctionChatMessage : ChatMessage, IJsonModel, IPersistableModel { public FunctionChatMessage(string functionName, string content); public string FunctionName { get; } } public static class OpenAIChatModelFactory { [Experimental("OPENAI001")] public static ChatCompletion ChatCompletion(string id = null, ChatFinishReason finishReason = ChatFinishReason.Stop, ChatMessageContent content = null, string refusal = null, IEnumerable toolCalls = null, ChatMessageRole role = ChatMessageRole.System, ChatFunctionCall functionCall = null, IEnumerable contentTokenLogProbabilities = null, IEnumerable refusalTokenLogProbabilities = null, DateTimeOffset createdAt = default, string model = null, ChatServiceTier? serviceTier = null, string systemFingerprint = null, ChatTokenUsage usage = null, ChatOutputAudio outputAudio = null, IEnumerable messageAnnotations = null); [EditorBrowsable(EditorBrowsableState.Never)] public static ChatCompletion ChatCompletion(string id, ChatFinishReason finishReason, ChatMessageContent content, string refusal, IEnumerable toolCalls, ChatMessageRole role, ChatFunctionCall functionCall, IEnumerable contentTokenLogProbabilities, IEnumerable refusalTokenLogProbabilities, DateTimeOffset createdAt, string model, string systemFingerprint, ChatTokenUsage usage); [Experimental("OPENAI001")] public static ChatCompletionMessageListDatum ChatCompletionMessageListDatum(string id, string content, string refusal, ChatMessageRole role, IList contentParts = null, IList toolCalls = null, IList annotations = null, string functionName = null, string functionArguments = null, ChatOutputAudio outputAudio = null); public static ChatInputTokenUsageDetails ChatInputTokenUsageDetails(int audioTokenCount = 0, int cachedTokenCount = 0); [Experimental("OPENAI001")] public static ChatMessageAnnotation ChatMessageAnnotation(int startIndex = 0, int endIndex = 0, Uri webResourceUri = null, string webResourceTitle = null); [Experimental("OPENAI001")] public static ChatOutputAudio ChatOutputAudio(BinaryData audioBytes, string id = null, string transcript = null, DateTimeOffset expiresAt = default); [Experimental("OPENAI001")] public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails(int reasoningTokenCount = 0, int audioTokenCount = 0, int acceptedPredictionTokenCount = 0, int rejectedPredictionTokenCount = 0); [EditorBrowsable(EditorBrowsableState.Never)] public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails(int reasoningTokenCount, int audioTokenCount); [EditorBrowsable(EditorBrowsableState.Never)] public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails(int reasoningTokenCount); public static ChatTokenLogProbabilityDetails ChatTokenLogProbabilityDetails(string token = null, float logProbability = 0, ReadOnlyMemory? utf8Bytes = null, IEnumerable topLogProbabilities = null); public static ChatTokenTopLogProbabilityDetails ChatTokenTopLogProbabilityDetails(string token = null, float logProbability = 0, ReadOnlyMemory? utf8Bytes = null); public static ChatTokenUsage ChatTokenUsage(int outputTokenCount = 0, int inputTokenCount = 0, int totalTokenCount = 0, ChatOutputTokenUsageDetails outputTokenDetails = null, ChatInputTokenUsageDetails inputTokenDetails = null); [EditorBrowsable(EditorBrowsableState.Never)] public static ChatTokenUsage ChatTokenUsage(int outputTokenCount, int inputTokenCount, int totalTokenCount, ChatOutputTokenUsageDetails outputTokenDetails); [Experimental("OPENAI001")] public static StreamingChatCompletionUpdate StreamingChatCompletionUpdate(string completionId = null, ChatMessageContent contentUpdate = null, StreamingChatFunctionCallUpdate functionCallUpdate = null, IEnumerable toolCallUpdates = null, ChatMessageRole? role = null, string refusalUpdate = null, IEnumerable contentTokenLogProbabilities = null, IEnumerable refusalTokenLogProbabilities = null, ChatFinishReason? finishReason = null, DateTimeOffset createdAt = default, string model = null, ChatServiceTier? serviceTier = null, string systemFingerprint = null, ChatTokenUsage usage = null, StreamingChatOutputAudioUpdate outputAudioUpdate = null); [EditorBrowsable(EditorBrowsableState.Never)] public static StreamingChatCompletionUpdate StreamingChatCompletionUpdate(string completionId, ChatMessageContent contentUpdate, StreamingChatFunctionCallUpdate functionCallUpdate, IEnumerable toolCallUpdates, ChatMessageRole? role, string refusalUpdate, IEnumerable contentTokenLogProbabilities, IEnumerable refusalTokenLogProbabilities, ChatFinishReason? finishReason, DateTimeOffset createdAt, string model, string systemFingerprint, ChatTokenUsage usage); [Obsolete("This class is obsolete. Please use StreamingChatToolCallUpdate instead.")] public static StreamingChatFunctionCallUpdate StreamingChatFunctionCallUpdate(string functionName = null, BinaryData functionArgumentsUpdate = null); [Experimental("OPENAI001")] public static StreamingChatOutputAudioUpdate StreamingChatOutputAudioUpdate(string id = null, DateTimeOffset? expiresAt = null, string transcriptUpdate = null, BinaryData audioBytesUpdate = null); public static StreamingChatToolCallUpdate StreamingChatToolCallUpdate(int index = 0, string toolCallId = null, ChatToolCallKind kind = ChatToolCallKind.Function, string functionName = null, BinaryData functionArgumentsUpdate = null); } public class StreamingChatCompletionUpdate : IJsonModel, IPersistableModel { public string CompletionId { get; } public IReadOnlyList ContentTokenLogProbabilities { get; } public ChatMessageContent ContentUpdate { get; } public DateTimeOffset CreatedAt { get; } public ChatFinishReason? FinishReason { get; } [Obsolete("This property is obsolete. Please use ToolCallUpdates instead.")] public StreamingChatFunctionCallUpdate FunctionCallUpdate { get; } public string Model { get; } [Experimental("OPENAI001")] public StreamingChatOutputAudioUpdate OutputAudioUpdate { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public IReadOnlyList RefusalTokenLogProbabilities { get; } public string RefusalUpdate { get; } public ChatMessageRole? Role { get; } [Experimental("OPENAI001")] public ChatServiceTier? ServiceTier { get; } public string SystemFingerprint { get; } public IReadOnlyList ToolCallUpdates { get; } public ChatTokenUsage Usage { get; } } [Obsolete("This class is obsolete. Please use StreamingChatToolCallUpdate instead.")] public class StreamingChatFunctionCallUpdate : IJsonModel, IPersistableModel { public BinaryData FunctionArgumentsUpdate { get; } public string FunctionName { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class StreamingChatOutputAudioUpdate : IJsonModel, IPersistableModel { public BinaryData AudioBytesUpdate { get; } public DateTimeOffset? ExpiresAt { get; } public string Id { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string TranscriptUpdate { get; } } public class StreamingChatToolCallUpdate : IJsonModel, IPersistableModel { public BinaryData FunctionArgumentsUpdate { get; } public string FunctionName { get; } public int Index { get; } public ChatToolCallKind Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string ToolCallId { get; } } public class SystemChatMessage : ChatMessage, IJsonModel, IPersistableModel { public SystemChatMessage(params ChatMessageContentPart[] contentParts); public SystemChatMessage(IEnumerable contentParts); public SystemChatMessage(string content); public string ParticipantName { get; set; } } public class ToolChatMessage : ChatMessage, IJsonModel, IPersistableModel { public ToolChatMessage(string toolCallId, params ChatMessageContentPart[] contentParts); public ToolChatMessage(string toolCallId, IEnumerable contentParts); public ToolChatMessage(string toolCallId, string content); public string ToolCallId { get; } } public class UserChatMessage : ChatMessage, IJsonModel, IPersistableModel { public UserChatMessage(params ChatMessageContentPart[] contentParts); public UserChatMessage(IEnumerable contentParts); public UserChatMessage(string content); public string ParticipantName { get; set; } } } namespace OpenAI.Containers { [Experimental("OPENAI001")] public class ContainerClient { protected ContainerClient(); [Experimental("SCME0002")] public ContainerClient(ContainerClientSettings settings); public ContainerClient(ApiKeyCredential credential, OpenAIClientOptions options); public ContainerClient(ApiKeyCredential credential); public ContainerClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public ContainerClient(AuthenticationPolicy authenticationPolicy); protected internal ContainerClient(ClientPipeline pipeline, OpenAIClientOptions options); public ContainerClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult CreateContainer(CreateContainerBody body, CancellationToken cancellationToken = default); public virtual ClientResult CreateContainer(BinaryContent content, RequestOptions options = null); public virtual Task> CreateContainerAsync(CreateContainerBody body, CancellationToken cancellationToken = default); public virtual Task CreateContainerAsync(BinaryContent content, RequestOptions options = null); public virtual ClientResult DeleteContainer(string containerId, RequestOptions options); public virtual ClientResult DeleteContainer(string containerId, CancellationToken cancellationToken = default); public virtual Task DeleteContainerAsync(string containerId, RequestOptions options); public virtual Task> DeleteContainerAsync(string containerId, CancellationToken cancellationToken = default); public virtual ClientResult DeleteContainerFile(string containerId, string fileId, RequestOptions options); public virtual ClientResult DeleteContainerFile(string containerId, string fileId, CancellationToken cancellationToken = default); public virtual Task DeleteContainerFileAsync(string containerId, string fileId, RequestOptions options); public virtual Task> DeleteContainerFileAsync(string containerId, string fileId, CancellationToken cancellationToken = default); public virtual ClientResult DownloadContainerFile(string containerId, string fileId, RequestOptions options); public virtual ClientResult DownloadContainerFile(string containerId, string fileId, CancellationToken cancellationToken = default); public virtual Task DownloadContainerFileAsync(string containerId, string fileId, RequestOptions options); public virtual Task> DownloadContainerFileAsync(string containerId, string fileId, CancellationToken cancellationToken = default); public virtual ClientResult GetContainer(string containerId, RequestOptions options); public virtual ClientResult GetContainer(string containerId, CancellationToken cancellationToken = default); public virtual Task GetContainerAsync(string containerId, RequestOptions options); public virtual Task> GetContainerAsync(string containerId, CancellationToken cancellationToken = default); public virtual ClientResult GetContainerFile(string containerId, string fileId, RequestOptions options); public virtual ClientResult GetContainerFile(string containerId, string fileId, CancellationToken cancellationToken = default); public virtual Task GetContainerFileAsync(string containerId, string fileId, RequestOptions options); public virtual Task> GetContainerFileAsync(string containerId, string fileId, CancellationToken cancellationToken = default); public virtual CollectionResult GetContainerFiles(string containerId, ContainerFileCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetContainerFiles(string containerId, int? limit, string order, string after, RequestOptions options); public virtual AsyncCollectionResult GetContainerFilesAsync(string containerId, ContainerFileCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetContainerFilesAsync(string containerId, int? limit, string order, string after, RequestOptions options); public virtual CollectionResult GetContainers(ContainerCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetContainers(int? limit, string order, string after, RequestOptions options); public virtual AsyncCollectionResult GetContainersAsync(ContainerCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetContainersAsync(int? limit, string order, string after, RequestOptions options); public virtual ClientResult UploadContainerFile(string containerId, BinaryContent content, string contentType, RequestOptions options = null); public virtual Task UploadContainerFileAsync(string containerId, BinaryContent content, string contentType, RequestOptions options = null); } [Experimental("SCME0002")] public sealed class ContainerClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI001")] public class ContainerCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public ContainerCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } } [Experimental("OPENAI001")] public readonly partial struct ContainerCollectionOrder : IEquatable { public ContainerCollectionOrder(string value); public static ContainerCollectionOrder Ascending { get; } public static ContainerCollectionOrder Descending { get; } public readonly bool Equals(ContainerCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ContainerCollectionOrder left, ContainerCollectionOrder right); public static implicit operator ContainerCollectionOrder(string value); public static implicit operator ContainerCollectionOrder?(string value); public static bool operator !=(ContainerCollectionOrder left, ContainerCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ContainerFileCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public ContainerFileCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } } [Experimental("OPENAI001")] public readonly partial struct ContainerFileCollectionOrder : IEquatable { public ContainerFileCollectionOrder(string value); public static ContainerFileCollectionOrder Ascending { get; } public static ContainerFileCollectionOrder Descending { get; } public readonly bool Equals(ContainerFileCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ContainerFileCollectionOrder left, ContainerFileCollectionOrder right); public static implicit operator ContainerFileCollectionOrder(string value); public static implicit operator ContainerFileCollectionOrder?(string value); public static bool operator !=(ContainerFileCollectionOrder left, ContainerFileCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ContainerFileResource : IJsonModel, IPersistableModel { public string ContainerId { get; } public DateTimeOffset CreatedAt { get; } public string Id { get; } public string Object { get; } public string Path { get; } public long? SizeInBytes { get; } public string Source { get; } public static explicit operator ContainerFileResource(ClientResult result); } [Experimental("OPENAI001")] public class ContainerResource : IJsonModel, IPersistableModel { public DateTimeOffset CreatedAt { get; } public ContainerResourceExpiresAfter ExpiresAfter { get; } public string Id { get; } public string Name { get; } public string Object { get; } public string Status { get; } public static explicit operator ContainerResource(ClientResult result); } [Experimental("OPENAI001")] public class ContainerResourceExpiresAfter : IJsonModel, IPersistableModel { public string Anchor { get; } public int? Minutes { get; } } [Experimental("OPENAI001")] public class CreateContainerBody : IJsonModel, IPersistableModel { public CreateContainerBody(string name); public CreateContainerBodyExpiresAfter ExpiresAfter { get; set; } public IList FileIds { get; } public string Name { get; } public static implicit operator BinaryContent(CreateContainerBody createContainerBody); } [Experimental("OPENAI001")] public class CreateContainerBodyExpiresAfter : IJsonModel, IPersistableModel { public CreateContainerBodyExpiresAfter(int minutes); public string Anchor { get; } public int Minutes { get; } } [Experimental("OPENAI001")] public class CreateContainerFileBody : IJsonModel, IPersistableModel { public BinaryData File { get; set; } public string FileId { get; set; } } [Experimental("OPENAI001")] public class DeleteContainerFileResponse : IJsonModel, IPersistableModel { public bool Deleted { get; } public string Id { get; } public string Object { get; } public static explicit operator DeleteContainerFileResponse(ClientResult result); } [Experimental("OPENAI001")] public class DeleteContainerResponse : IJsonModel, IPersistableModel { public bool Deleted { get; } public string Id { get; } public string Object { get; } public static explicit operator DeleteContainerResponse(ClientResult result); } } namespace OpenAI.Conversations { [Experimental("OPENAI001")] public class ConversationClient { protected ConversationClient(); [Experimental("SCME0002")] public ConversationClient(ConversationClientSettings settings); public ConversationClient(ApiKeyCredential credential, OpenAIClientOptions options); public ConversationClient(ApiKeyCredential credential); public ConversationClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public ConversationClient(AuthenticationPolicy authenticationPolicy); protected internal ConversationClient(ClientPipeline pipeline, OpenAIClientOptions options); public ConversationClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult CreateConversation(BinaryContent content, RequestOptions options = null); public virtual Task CreateConversationAsync(BinaryContent content, RequestOptions options = null); public virtual ClientResult CreateConversationItems(string conversationId, BinaryContent content, IEnumerable include = null, RequestOptions options = null); public virtual Task CreateConversationItemsAsync(string conversationId, BinaryContent content, IEnumerable include = null, RequestOptions options = null); public virtual ClientResult DeleteConversation(string conversationId, RequestOptions options = null); public virtual Task DeleteConversationAsync(string conversationId, RequestOptions options = null); public virtual ClientResult DeleteConversationItem(string conversationId, string itemId, RequestOptions options = null); public virtual Task DeleteConversationItemAsync(string conversationId, string itemId, RequestOptions options = null); public virtual ClientResult GetConversation(string conversationId, RequestOptions options = null); public virtual Task GetConversationAsync(string conversationId, RequestOptions options = null); public virtual ClientResult GetConversationItem(string conversationId, string itemId, IEnumerable include = null, RequestOptions options = null); public virtual Task GetConversationItemAsync(string conversationId, string itemId, IEnumerable include = null, RequestOptions options = null); public virtual CollectionResult GetConversationItems(string conversationId, int? limit = null, string order = null, string after = null, IEnumerable include = null, RequestOptions options = null); public virtual AsyncCollectionResult GetConversationItemsAsync(string conversationId, int? limit = null, string order = null, string after = null, IEnumerable include = null, RequestOptions options = null); public virtual ClientResult UpdateConversation(string conversationId, BinaryContent content, RequestOptions options = null); public virtual Task UpdateConversationAsync(string conversationId, BinaryContent content, RequestOptions options = null); } [Experimental("SCME0002")] public sealed class ConversationClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI001")] public readonly partial struct IncludedConversationItemProperty : IEquatable { public IncludedConversationItemProperty(string value); public static IncludedConversationItemProperty CodeInterpreterCallOutputs { get; } public static IncludedConversationItemProperty ComputerCallOutputImageUri { get; } public static IncludedConversationItemProperty FileSearchCallResults { get; } public static IncludedConversationItemProperty MessageInputImageUri { get; } public static IncludedConversationItemProperty MessageOutputTextLogProbabilities { get; } public static IncludedConversationItemProperty ReasoningEncryptedContent { get; } public static IncludedConversationItemProperty WebSearchCallActionSources { get; } public static IncludedConversationItemProperty WebSearchCallResults { get; } public readonly bool Equals(IncludedConversationItemProperty other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(IncludedConversationItemProperty left, IncludedConversationItemProperty right); public static implicit operator IncludedConversationItemProperty(string value); public static implicit operator IncludedConversationItemProperty?(string value); public static bool operator !=(IncludedConversationItemProperty left, IncludedConversationItemProperty right); public override readonly string ToString(); } } namespace OpenAI.Embeddings { public class EmbeddingClient { protected EmbeddingClient(); [Experimental("SCME0002")] public EmbeddingClient(EmbeddingClientSettings settings); protected internal EmbeddingClient(ClientPipeline pipeline, string model, OpenAIClientOptions options); public EmbeddingClient(string model, ApiKeyCredential credential, OpenAIClientOptions options); public EmbeddingClient(string model, ApiKeyCredential credential); [Experimental("OPENAI001")] public EmbeddingClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); [Experimental("OPENAI001")] public EmbeddingClient(string model, AuthenticationPolicy authenticationPolicy); public EmbeddingClient(string model, string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } [Experimental("OPENAI001")] public string Model { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult GenerateEmbedding(string input, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual Task> GenerateEmbeddingAsync(string input, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateEmbeddings(BinaryContent content, RequestOptions options = null); public virtual ClientResult GenerateEmbeddings(IEnumerable> inputs, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateEmbeddings(IEnumerable inputs, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual Task GenerateEmbeddingsAsync(BinaryContent content, RequestOptions options = null); public virtual Task> GenerateEmbeddingsAsync(IEnumerable> inputs, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual Task> GenerateEmbeddingsAsync(IEnumerable inputs, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default); } [Experimental("SCME0002")] public sealed class EmbeddingClientSettings : ClientSettings { public string Model { get; set; } public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } public class EmbeddingGenerationOptions : IJsonModel, IPersistableModel { public int? Dimensions { get; set; } public string EndUserId { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } public class EmbeddingTokenUsage : IJsonModel, IPersistableModel { public int InputTokenCount { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int TotalTokenCount { get; } } public class OpenAIEmbedding : IJsonModel, IPersistableModel { public int Index { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public ReadOnlyMemory ToFloats(); } public class OpenAIEmbeddingCollection : ObjectModel.ReadOnlyCollection, IJsonModel, IPersistableModel { public string Model { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public EmbeddingTokenUsage Usage { get; } [Experimental("OPENAI001")] public static explicit operator OpenAIEmbeddingCollection(ClientResult result); } public static class OpenAIEmbeddingsModelFactory { public static EmbeddingTokenUsage EmbeddingTokenUsage(int inputTokenCount = 0, int totalTokenCount = 0); public static OpenAIEmbedding OpenAIEmbedding(int index = 0, IEnumerable vector = null); public static OpenAIEmbeddingCollection OpenAIEmbeddingCollection(IEnumerable items = null, string model = null, EmbeddingTokenUsage usage = null); } } namespace OpenAI.Evals { [Experimental("OPENAI001")] public class EvaluationClient { protected EvaluationClient(); [Experimental("SCME0002")] public EvaluationClient(EvaluationClientSettings settings); public EvaluationClient(ApiKeyCredential credential, OpenAIClientOptions options); public EvaluationClient(ApiKeyCredential credential); public EvaluationClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public EvaluationClient(AuthenticationPolicy authenticationPolicy); protected internal EvaluationClient(ClientPipeline pipeline, OpenAIClientOptions options); public EvaluationClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult CancelEvaluationRun(string evaluationId, string evaluationRunId, RequestOptions options); public virtual Task CancelEvaluationRunAsync(string evaluationId, string evaluationRunId, RequestOptions options); public virtual ClientResult CreateEvaluation(BinaryContent content, RequestOptions options = null); public virtual Task CreateEvaluationAsync(BinaryContent content, RequestOptions options = null); public virtual ClientResult CreateEvaluationRun(string evaluationId, BinaryContent content, RequestOptions options = null); public virtual Task CreateEvaluationRunAsync(string evaluationId, BinaryContent content, RequestOptions options = null); public virtual ClientResult DeleteEvaluation(string evaluationId, RequestOptions options); public virtual Task DeleteEvaluationAsync(string evaluationId, RequestOptions options); public virtual ClientResult DeleteEvaluationRun(string evaluationId, string evaluationRunId, RequestOptions options); public virtual Task DeleteEvaluationRunAsync(string evaluationId, string evaluationRunId, RequestOptions options); public virtual ClientResult GetEvaluation(string evaluationId, RequestOptions options); public virtual Task GetEvaluationAsync(string evaluationId, RequestOptions options); public virtual ClientResult GetEvaluationRun(string evaluationId, string evaluationRunId, RequestOptions options); public virtual Task GetEvaluationRunAsync(string evaluationId, string evaluationRunId, RequestOptions options); public virtual ClientResult GetEvaluationRunOutputItem(string evaluationId, string evaluationRunId, string outputItemId, RequestOptions options); public virtual Task GetEvaluationRunOutputItemAsync(string evaluationId, string evaluationRunId, string outputItemId, RequestOptions options); public virtual ClientResult GetEvaluationRunOutputItems(string evaluationId, string evaluationRunId, int? limit, string order, string after, string outputItemStatus, RequestOptions options); public virtual Task GetEvaluationRunOutputItemsAsync(string evaluationId, string evaluationRunId, int? limit, string order, string after, string outputItemStatus, RequestOptions options); public virtual ClientResult GetEvaluationRuns(string evaluationId, int? limit, string order, string after, string evaluationRunStatus, RequestOptions options); public virtual Task GetEvaluationRunsAsync(string evaluationId, int? limit, string order, string after, string evaluationRunStatus, RequestOptions options); public virtual ClientResult GetEvaluations(int? limit, string orderBy, string order, string after, RequestOptions options); public virtual Task GetEvaluationsAsync(int? limit, string orderBy, string order, string after, RequestOptions options); public virtual ClientResult UpdateEvaluation(string evaluationId, BinaryContent content, RequestOptions options = null); public virtual Task UpdateEvaluationAsync(string evaluationId, BinaryContent content, RequestOptions options = null); } [Experimental("SCME0002")] public sealed class EvaluationClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } } namespace OpenAI.Files { public class FileDeletionResult : IJsonModel, IPersistableModel { public bool Deleted { get; } public string FileId { get; } [Experimental("OPENAI001")] public static explicit operator FileDeletionResult(ClientResult result); } public enum FilePurpose { Assistants = 0, AssistantsOutput = 1, Batch = 2, BatchOutput = 3, FineTune = 4, FineTuneResults = 5, Vision = 6, UserData = 7, Evaluations = 8 } [Obsolete("This struct is obsolete. If this is a fine-tuning training file, it may take some time to process after it has been uploaded. While the file is processing, you can still create a fine-tuning job but it will not start until the file processing has completed.")] public enum FileStatus { Uploaded = 0, Processed = 1, Error = 2 } public readonly partial struct FileUploadPurpose : IEquatable { public FileUploadPurpose(string value); public static FileUploadPurpose Assistants { get; } public static FileUploadPurpose Batch { get; } [Experimental("OPENAI001")] public static FileUploadPurpose Evaluations { get; } public static FileUploadPurpose FineTune { get; } [Experimental("OPENAI001")] public static FileUploadPurpose UserData { get; } public static FileUploadPurpose Vision { get; } public readonly bool Equals(FileUploadPurpose other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(FileUploadPurpose left, FileUploadPurpose right); public static implicit operator FileUploadPurpose(string value); public static implicit operator FileUploadPurpose?(string value); public static bool operator !=(FileUploadPurpose left, FileUploadPurpose right); public override readonly string ToString(); } public class OpenAIFile : IJsonModel, IPersistableModel { public DateTimeOffset CreatedAt { get; } [Experimental("OPENAI001")] public DateTimeOffset? ExpiresAt { get; } public string Filename { get; } public string Id { get; } public FilePurpose Purpose { get; } [EditorBrowsable(EditorBrowsableState.Never)] public int? SizeInBytes { get; } [Experimental("OPENAI001")] public long? SizeInBytesLong { get; } [Obsolete("This property is obsolete. If this is a fine-tuning training file, it may take some time to process after it has been uploaded. While the file is processing, you can still create a fine-tuning job but it will not start until the file processing has completed.")] public FileStatus Status { get; } [Obsolete("This property is obsolete. For details on why a fine-tuning training file failed validation, see the `error` field on the fine-tuning job.")] public string StatusDetails { get; } [Experimental("OPENAI001")] public static explicit operator OpenAIFile(ClientResult result); } public class OpenAIFileClient { protected OpenAIFileClient(); [Experimental("SCME0002")] public OpenAIFileClient(OpenAIFileClientSettings settings); public OpenAIFileClient(ApiKeyCredential credential, OpenAIClientOptions options); public OpenAIFileClient(ApiKeyCredential credential); [Experimental("OPENAI001")] public OpenAIFileClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); [Experimental("OPENAI001")] public OpenAIFileClient(AuthenticationPolicy authenticationPolicy); protected internal OpenAIFileClient(ClientPipeline pipeline, OpenAIClientOptions options); public OpenAIFileClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } [Experimental("OPENAI001")] public virtual ClientResult AddUploadPart(string uploadId, BinaryContent content, string contentType, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task AddUploadPartAsync(string uploadId, BinaryContent content, string contentType, RequestOptions options = null); [Experimental("OPENAI001")] public virtual ClientResult CancelUpload(string uploadId, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task CancelUploadAsync(string uploadId, RequestOptions options = null); [Experimental("OPENAI001")] public virtual ClientResult CompleteUpload(string uploadId, BinaryContent content, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task CompleteUploadAsync(string uploadId, BinaryContent content, RequestOptions options = null); [Experimental("OPENAI001")] public virtual ClientResult CreateUpload(BinaryContent content, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task CreateUploadAsync(BinaryContent content, RequestOptions options = null); public virtual ClientResult DeleteFile(string fileId, RequestOptions options); public virtual ClientResult DeleteFile(string fileId, CancellationToken cancellationToken = default); public virtual Task DeleteFileAsync(string fileId, RequestOptions options); public virtual Task> DeleteFileAsync(string fileId, CancellationToken cancellationToken = default); public virtual ClientResult DownloadFile(string fileId, RequestOptions options); public virtual ClientResult DownloadFile(string fileId, CancellationToken cancellationToken = default); public virtual Task DownloadFileAsync(string fileId, RequestOptions options); public virtual Task> DownloadFileAsync(string fileId, CancellationToken cancellationToken = default); public virtual ClientResult GetFile(string fileId, RequestOptions options); public virtual ClientResult GetFile(string fileId, CancellationToken cancellationToken = default); public virtual Task GetFileAsync(string fileId, RequestOptions options); public virtual Task> GetFileAsync(string fileId, CancellationToken cancellationToken = default); public virtual ClientResult GetFiles(FilePurpose purpose, CancellationToken cancellationToken = default); public virtual ClientResult GetFiles(string purpose, RequestOptions options); [Experimental("OPENAI001")] public virtual ClientResult GetFiles(string purpose, int? limit, string order, string after, RequestOptions options); public virtual ClientResult GetFiles(CancellationToken cancellationToken = default); public virtual Task> GetFilesAsync(FilePurpose purpose, CancellationToken cancellationToken = default); public virtual Task GetFilesAsync(string purpose, RequestOptions options); [Experimental("OPENAI001")] public virtual Task GetFilesAsync(string purpose, int? limit, string order, string after, RequestOptions options); public virtual Task> GetFilesAsync(CancellationToken cancellationToken = default); public virtual ClientResult UploadFile(BinaryData file, string filename, FileUploadPurpose purpose); public virtual ClientResult UploadFile(BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult UploadFile(Stream file, string filename, FileUploadPurpose purpose, CancellationToken cancellationToken = default); public virtual ClientResult UploadFile(string filePath, FileUploadPurpose purpose); public virtual Task> UploadFileAsync(BinaryData file, string filename, FileUploadPurpose purpose); public virtual Task UploadFileAsync(BinaryContent content, string contentType, RequestOptions options = null); public virtual Task> UploadFileAsync(Stream file, string filename, FileUploadPurpose purpose, CancellationToken cancellationToken = default); public virtual Task> UploadFileAsync(string filePath, FileUploadPurpose purpose); } [Experimental("SCME0002")] public sealed class OpenAIFileClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } public class OpenAIFileCollection : ObjectModel.ReadOnlyCollection, IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public static explicit operator OpenAIFileCollection(ClientResult result); } public static class OpenAIFilesModelFactory { public static FileDeletionResult FileDeletionResult(string fileId = null, bool deleted = false); public static OpenAIFileCollection OpenAIFileCollection(IEnumerable items = null); [Experimental("OPENAI001")] public static OpenAIFile OpenAIFileInfo(string id = null, int? sizeInBytes = null, DateTimeOffset createdAt = default, string filename = null, FilePurpose purpose = FilePurpose.Assistants, FileStatus status = FileStatus.Uploaded, string statusDetails = null, DateTimeOffset? expiresAt = null, long? sizeInBytesLong = null); [EditorBrowsable(EditorBrowsableState.Never)] public static OpenAIFile OpenAIFileInfo(string id, int? sizeInBytes, DateTimeOffset createdAt, string filename, FilePurpose purpose, FileStatus status, string statusDetails); } } namespace OpenAI.FineTuning { [Experimental("OPENAI001")] public class FineTuningCheckpoint : IJsonModel, IPersistableModel { public DateTimeOffset CreatedAt { get; } public string Id { get; } public string JobId { get; } public FineTuningCheckpointMetrics Metrics { get; } public string ModelId { get; } public int StepNumber { get; } public override string ToString(); } [Experimental("OPENAI001")] public class FineTuningCheckpointMetrics : IJsonModel, IPersistableModel { public float? FullValidLoss { get; } public float? FullValidMeanTokenAccuracy { get; } public int StepNumber { get; } public float? TrainLoss { get; } public float? TrainMeanTokenAccuracy { get; } public float? ValidLoss { get; } public float? ValidMeanTokenAccuracy { get; } } [Experimental("OPENAI001")] public class FineTuningClient { protected FineTuningClient(); [Experimental("SCME0002")] public FineTuningClient(FineTuningClientSettings settings); public FineTuningClient(ApiKeyCredential credential, OpenAIClientOptions options); public FineTuningClient(ApiKeyCredential credential); public FineTuningClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public FineTuningClient(AuthenticationPolicy authenticationPolicy); protected internal FineTuningClient(ClientPipeline pipeline, OpenAIClientOptions options); protected internal FineTuningClient(ClientPipeline pipeline, Uri endpoint); public FineTuningClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult CreateFineTuningCheckpointPermission(string fineTunedModelCheckpoint, BinaryContent content, RequestOptions options = null); public virtual Task CreateFineTuningCheckpointPermissionAsync(string fineTunedModelCheckpoint, BinaryContent content, RequestOptions options = null); public virtual ClientResult DeleteFineTuningCheckpointPermission(string fineTunedModelCheckpoint, string permissionId, RequestOptions options); public virtual Task DeleteFineTuningCheckpointPermissionAsync(string fineTunedModelCheckpoint, string permissionId, RequestOptions options); public virtual FineTuningJob FineTune(BinaryContent content, bool waitUntilCompleted, RequestOptions options); public virtual FineTuningJob FineTune(string baseModel, string trainingFileId, bool waitUntilCompleted, FineTuningOptions options = null, CancellationToken cancellationToken = default); public virtual Task FineTuneAsync(BinaryContent content, bool waitUntilCompleted, RequestOptions options); public virtual Task FineTuneAsync(string baseModel, string trainingFileId, bool waitUntilCompleted, FineTuningOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GetFineTuningCheckpointPermissions(string fineTunedModelCheckpoint, string after, int? limit, string order, string projectId, RequestOptions options); public virtual Task GetFineTuningCheckpointPermissionsAsync(string fineTunedModelCheckpoint, string after, int? limit, string order, string projectId, RequestOptions options); public virtual FineTuningJob GetJob(string jobId, CancellationToken cancellationToken = default); public virtual Task GetJobAsync(string jobId, CancellationToken cancellationToken = default); public virtual CollectionResult GetJobs(FineTuningJobCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetJobsAsync(FineTuningJobCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult PauseFineTuningJob(string fineTuningJobId, RequestOptions options); public virtual Task PauseFineTuningJobAsync(string fineTuningJobId, RequestOptions options); public virtual ClientResult ResumeFineTuningJob(string fineTuningJobId, RequestOptions options); public virtual Task ResumeFineTuningJobAsync(string fineTuningJobId, RequestOptions options); } [Experimental("SCME0002")] public sealed class FineTuningClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI001")] public class FineTuningError : IJsonModel, IPersistableModel { public string Code { get; } public string InvalidParameter { get; } public string Message { get; } } [Experimental("OPENAI001")] public class FineTuningEvent : IJsonModel, IPersistableModel { public string Level; public DateTimeOffset CreatedAt { get; } public BinaryData Data { get; } public string Id { get; } public FineTuningJobEventKind? Kind { get; } public string Message { get; } } [Experimental("OPENAI001")] public readonly partial struct FineTuningHyperparameters : IJsonModel, IPersistableModel, IJsonModel, IPersistableModel { public int BatchSize { get; } public int EpochCount { get; } public float LearningRateMultiplier { get; } } [Experimental("OPENAI001")] public class FineTuningIntegration : IJsonModel, IPersistableModel { } [Experimental("OPENAI001")] public class FineTuningJob : OperationResult { public string? Value; public string BaseModel { get; } public int BillableTrainedTokenCount { get; } public DateTimeOffset? EstimatedFinishAt { get; } [Obsolete("This property is deprecated. Use the MethodHyperparameters property instead.")] public FineTuningHyperparameters Hyperparameters { get; } public IReadOnlyList Integrations { get; } public string JobId { get; } public IDictionary Metadata { get; } public MethodHyperparameters? MethodHyperparameters { get; } public override ContinuationToken? RehydrationToken { get; protected set; } public IReadOnlyList ResultFileIds { get; } public int? Seed { get; } public FineTuningStatus Status { get; } public string TrainingFileId { get; } public FineTuningTrainingMethod? TrainingMethod { get; } public string? UserProvidedSuffix { get; } public string ValidationFileId { get; } public virtual ClientResult Cancel(RequestOptions options); public virtual ClientResult CancelAndUpdate(CancellationToken cancellationToken = default); public virtual Task CancelAndUpdateAsync(CancellationToken cancellationToken = default); public virtual Task CancelAsync(RequestOptions options); public virtual CollectionResult GetCheckpoints(GetCheckpointsOptions? options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetCheckpoints(string? after, int? limit, RequestOptions? options); public virtual AsyncCollectionResult GetCheckpointsAsync(GetCheckpointsOptions? options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetCheckpointsAsync(string? after, int? limit, RequestOptions? options); public virtual CollectionResult GetEvents(GetEventsOptions options, CancellationToken cancellationToken = default); public virtual CollectionResult GetEvents(string? after, int? limit, RequestOptions options); public virtual AsyncCollectionResult GetEventsAsync(GetEventsOptions options, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetEventsAsync(string? after, int? limit, RequestOptions options); public static FineTuningJob Rehydrate(FineTuningClient client, ContinuationToken rehydrationToken, RequestOptions options); public static FineTuningJob Rehydrate(FineTuningClient client, ContinuationToken rehydrationToken, CancellationToken cancellationToken = default); public static FineTuningJob Rehydrate(FineTuningClient client, string JobId, RequestOptions options); public static FineTuningJob Rehydrate(FineTuningClient client, string JobId, CancellationToken cancellationToken = default); public static Task RehydrateAsync(FineTuningClient client, ContinuationToken rehydrationToken, RequestOptions options); public static Task RehydrateAsync(FineTuningClient client, ContinuationToken rehydrationToken, CancellationToken cancellationToken = default); public static Task RehydrateAsync(FineTuningClient client, string JobId, RequestOptions options); public static Task RehydrateAsync(FineTuningClient client, string JobId, CancellationToken cancellationToken = default); public override ClientResult UpdateStatus(RequestOptions? options); public ClientResult UpdateStatus(CancellationToken cancellationToken = default); public override ValueTask UpdateStatusAsync(RequestOptions? options); public ValueTask UpdateStatusAsync(CancellationToken cancellationToken = default); public override void WaitForCompletion(CancellationToken cancellationToken = default); public override ValueTask WaitForCompletionAsync(CancellationToken cancellationToken = default); } [Experimental("OPENAI001")] public class FineTuningJobCollectionOptions { public string AfterJobId { get; set; } public int? PageSize { get; set; } } [Experimental("OPENAI001")] public readonly partial struct FineTuningJobEventKind : IEquatable { public FineTuningJobEventKind(string value); public static FineTuningJobEventKind Message { get; } public static FineTuningJobEventKind Metrics { get; } public readonly bool Equals(FineTuningJobEventKind other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(FineTuningJobEventKind left, FineTuningJobEventKind right); public static implicit operator FineTuningJobEventKind(string value); public static implicit operator FineTuningJobEventKind?(string value); public static bool operator !=(FineTuningJobEventKind left, FineTuningJobEventKind right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class FineTuningOptions : IJsonModel, IPersistableModel { public IList Integrations { get; } public IDictionary Metadata { get; } public int? Seed { get; set; } public string Suffix { get; set; } public FineTuningTrainingMethod TrainingMethod { get; set; } public string ValidationFile { get; set; } } [Experimental("OPENAI001")] public readonly partial struct FineTuningStatus : IEquatable, IEquatable { public FineTuningStatus(string value); public static FineTuningStatus Cancelled { get; } public static FineTuningStatus Failed { get; } public bool InProgress { get; } public static FineTuningStatus Queued { get; } public static FineTuningStatus Running { get; } public static FineTuningStatus Succeeded { get; } public static FineTuningStatus ValidatingFiles { get; } public readonly bool Equals(FineTuningStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); public readonly bool Equals(string other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(FineTuningStatus left, FineTuningStatus right); public static implicit operator FineTuningStatus(string value); public static implicit operator FineTuningStatus?(string value); public static bool operator !=(FineTuningStatus left, FineTuningStatus right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class FineTuningTrainingMethod : IJsonModel, IPersistableModel { public static FineTuningTrainingMethod CreateDirectPreferenceOptimization(HyperparameterBatchSize batchSize = null, HyperparameterEpochCount epochCount = null, HyperparameterLearningRate learningRate = null, HyperparameterBetaFactor betaFactor = null); public static FineTuningTrainingMethod CreateSupervised(HyperparameterBatchSize batchSize = null, HyperparameterEpochCount epochCount = null, HyperparameterLearningRate learningRate = null); } [Experimental("OPENAI001")] public class GetCheckpointsOptions { public string AfterCheckpointId { get; set; } public int? PageSize { get; set; } } [Experimental("OPENAI001")] public class GetEventsOptions { public string AfterEventId { get; set; } public int? PageSize { get; set; } } [Experimental("OPENAI001")] public class HyperparameterBatchSize : IEquatable, IEquatable, IJsonModel, IPersistableModel { public HyperparameterBatchSize(int batchSize); public static HyperparameterBatchSize CreateAuto(); public static HyperparameterBatchSize CreateSize(int batchSize); [EditorBrowsable(EditorBrowsableState.Never)] public bool Equals(int other); [EditorBrowsable(EditorBrowsableState.Never)] public override bool Equals(object other); [EditorBrowsable(EditorBrowsableState.Never)] public bool Equals(string other); [EditorBrowsable(EditorBrowsableState.Never)] public override int GetHashCode(); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator ==(HyperparameterBatchSize first, HyperparameterBatchSize second); public static implicit operator HyperparameterBatchSize(int batchSize); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator !=(HyperparameterBatchSize first, HyperparameterBatchSize second); } [Experimental("OPENAI001")] public class HyperparameterBetaFactor : IEquatable, IEquatable, IJsonModel, IPersistableModel { public HyperparameterBetaFactor(int beta); public static HyperparameterBetaFactor CreateAuto(); public static HyperparameterBetaFactor CreateBeta(int beta); [EditorBrowsable(EditorBrowsableState.Never)] public bool Equals(int other); [EditorBrowsable(EditorBrowsableState.Never)] public override bool Equals(object other); [EditorBrowsable(EditorBrowsableState.Never)] public bool Equals(string other); [EditorBrowsable(EditorBrowsableState.Never)] public override int GetHashCode(); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator ==(HyperparameterBetaFactor first, HyperparameterBetaFactor second); public static implicit operator HyperparameterBetaFactor(int beta); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator !=(HyperparameterBetaFactor first, HyperparameterBetaFactor second); } [Experimental("OPENAI001")] public class HyperparameterEpochCount : IEquatable, IEquatable, IJsonModel, IPersistableModel { public HyperparameterEpochCount(int epochCount); public static HyperparameterEpochCount CreateAuto(); public static HyperparameterEpochCount CreateEpochCount(int epochCount); [EditorBrowsable(EditorBrowsableState.Never)] public bool Equals(int other); [EditorBrowsable(EditorBrowsableState.Never)] public override bool Equals(object other); [EditorBrowsable(EditorBrowsableState.Never)] public bool Equals(string other); [EditorBrowsable(EditorBrowsableState.Never)] public override int GetHashCode(); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator ==(HyperparameterEpochCount first, HyperparameterEpochCount second); public static implicit operator HyperparameterEpochCount(int epochCount); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator !=(HyperparameterEpochCount first, HyperparameterEpochCount second); } [Experimental("OPENAI001")] public class HyperparameterLearningRate : IEquatable, IEquatable, IEquatable, IJsonModel, IPersistableModel { public HyperparameterLearningRate(double learningRateMultiplier); public static HyperparameterLearningRate CreateAuto(); public static HyperparameterLearningRate CreateMultiplier(double learningRateMultiplier); [EditorBrowsable(EditorBrowsableState.Never)] public bool Equals(double other); [EditorBrowsable(EditorBrowsableState.Never)] public bool Equals(int other); [EditorBrowsable(EditorBrowsableState.Never)] public override bool Equals(object other); [EditorBrowsable(EditorBrowsableState.Never)] public bool Equals(string other); [EditorBrowsable(EditorBrowsableState.Never)] public override int GetHashCode(); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator ==(HyperparameterLearningRate first, HyperparameterLearningRate second); public static implicit operator HyperparameterLearningRate(double learningRateMultiplier); [EditorBrowsable(EditorBrowsableState.Never)] public static bool operator !=(HyperparameterLearningRate first, HyperparameterLearningRate second); } [Experimental("OPENAI001")] public class HyperparametersForDPO : MethodHyperparameters, IJsonModel, IPersistableModel { public int BatchSize { get; } public float Beta { get; } public int EpochCount { get; } public float LearningRateMultiplier { get; } } [Experimental("OPENAI001")] public class HyperparametersForSupervised : MethodHyperparameters, IJsonModel, IPersistableModel { public int BatchSize { get; } public int EpochCount { get; } public float LearningRateMultiplier { get; } } [Experimental("OPENAI001")] public class MethodHyperparameters { } [Experimental("OPENAI001")] public class WeightsAndBiasesIntegration : FineTuningIntegration, IJsonModel, IPersistableModel { public WeightsAndBiasesIntegration(string projectName); public string DisplayName { get; set; } public string EntityName { get; set; } public string ProjectName { get; set; } public IList Tags { get; } } } namespace OpenAI.Graders { [Experimental("OPENAI001")] public class FineTuneReinforcementHyperparameters : IJsonModel, IPersistableModel { public BinaryData BatchSize { get; set; } public BinaryData ComputeMultiplier { get; set; } public BinaryData EvalInterval { get; set; } public BinaryData EvalSamples { get; set; } public BinaryData LearningRateMultiplier { get; set; } public BinaryData NEpochs { get; set; } } [Experimental("OPENAI001")] [PersistableModelProxy(typeof(UnknownGrader))] public class Grader : IJsonModel, IPersistableModel { } [Experimental("OPENAI001")] public class GraderClient { protected GraderClient(); [Experimental("SCME0002")] public GraderClient(GraderClientSettings settings); public GraderClient(ApiKeyCredential credential, OpenAIClientOptions options); public GraderClient(ApiKeyCredential credential); public GraderClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public GraderClient(AuthenticationPolicy authenticationPolicy); protected internal GraderClient(ClientPipeline pipeline, OpenAIClientOptions options); public GraderClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult RunGrader(BinaryContent content, RequestOptions options = null); public virtual Task RunGraderAsync(BinaryContent content, RequestOptions options = null); public virtual ClientResult ValidateGrader(BinaryContent content, RequestOptions options = null); public virtual Task ValidateGraderAsync(BinaryContent content, RequestOptions options = null); } [Experimental("SCME0002")] public sealed class GraderClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI001")] public class GraderLabelModel : Grader, IJsonModel, IPersistableModel { public IList Labels { get; } public string Model { get; set; } public string Name { get; set; } public IList PassingLabels { get; } } [Experimental("OPENAI001")] public class GraderMulti : Grader, IJsonModel, IPersistableModel { public GraderMulti(string name, BinaryData graders, string calculateOutput); public string CalculateOutput { get; set; } public BinaryData Graders { get; set; } public string Name { get; set; } } [Experimental("OPENAI001")] public class GraderPython : Grader, IJsonModel, IPersistableModel { public GraderPython(string name, string source); public string ImageTag { get; set; } public string Name { get; set; } public string Source { get; set; } } [Experimental("OPENAI001")] public class GraderScoreModel : Grader, IJsonModel, IPersistableModel { public string Model { get; set; } public string Name { get; set; } public IList Range { get; } public BinaryData SamplingParams { get; set; } } [Experimental("OPENAI001")] public class GraderStringCheck : Grader, IJsonModel, IPersistableModel { public GraderStringCheck(string name, string input, string reference, GraderStringCheckOperation operation); public string Input { get; set; } public string Name { get; set; } public GraderStringCheckOperation Operation { get; set; } public string Reference { get; set; } } [Experimental("OPENAI001")] public readonly partial struct GraderStringCheckOperation : IEquatable { public GraderStringCheckOperation(string value); public static GraderStringCheckOperation Eq { get; } public static GraderStringCheckOperation Ilike { get; } public static GraderStringCheckOperation Like { get; } public static GraderStringCheckOperation Ne { get; } public readonly bool Equals(GraderStringCheckOperation other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GraderStringCheckOperation left, GraderStringCheckOperation right); public static implicit operator GraderStringCheckOperation(string value); public static implicit operator GraderStringCheckOperation?(string value); public static bool operator !=(GraderStringCheckOperation left, GraderStringCheckOperation right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class GraderTextSimilarity : Grader, IJsonModel, IPersistableModel { public GraderTextSimilarity(string name, string input, string reference, GraderTextSimilarityEvaluationMetric evaluationMetric); public GraderTextSimilarityEvaluationMetric EvaluationMetric { get; set; } public string Input { get; set; } public string Name { get; set; } public string Reference { get; set; } } [Experimental("OPENAI001")] public readonly partial struct GraderTextSimilarityEvaluationMetric : IEquatable { public GraderTextSimilarityEvaluationMetric(string value); public static GraderTextSimilarityEvaluationMetric Bleu { get; } public static GraderTextSimilarityEvaluationMetric FuzzyMatch { get; } public static GraderTextSimilarityEvaluationMetric Gleu { get; } public static GraderTextSimilarityEvaluationMetric Meteor { get; } public static GraderTextSimilarityEvaluationMetric Rouge1 { get; } public static GraderTextSimilarityEvaluationMetric Rouge2 { get; } public static GraderTextSimilarityEvaluationMetric Rouge3 { get; } public static GraderTextSimilarityEvaluationMetric Rouge4 { get; } public static GraderTextSimilarityEvaluationMetric Rouge5 { get; } public static GraderTextSimilarityEvaluationMetric RougeL { get; } public readonly bool Equals(GraderTextSimilarityEvaluationMetric other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GraderTextSimilarityEvaluationMetric left, GraderTextSimilarityEvaluationMetric right); public static implicit operator GraderTextSimilarityEvaluationMetric(string value); public static implicit operator GraderTextSimilarityEvaluationMetric?(string value); public static bool operator !=(GraderTextSimilarityEvaluationMetric left, GraderTextSimilarityEvaluationMetric right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct GraderType : IEquatable { public GraderType(string value); public static GraderType LabelModel { get; } public static GraderType Multi { get; } public static GraderType Python { get; } public static GraderType ScoreModel { get; } public static GraderType StringCheck { get; } public static GraderType TextSimilarity { get; } public readonly bool Equals(GraderType other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GraderType left, GraderType right); public static implicit operator GraderType(string value); public static implicit operator GraderType?(string value); public static bool operator !=(GraderType left, GraderType right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class RunGraderRequest : IJsonModel, IPersistableModel { public BinaryData Grader { get; } public BinaryData Item { get; } public string ModelSample { get; } } [Experimental("OPENAI001")] public class RunGraderResponse : IJsonModel, IPersistableModel { public RunGraderResponseMetadata Metadata { get; } public BinaryData ModelGraderTokenUsagePerModel { get; } public float Reward { get; } public BinaryData SubRewards { get; } public static explicit operator RunGraderResponse(ClientResult result); } [Experimental("OPENAI001")] public class RunGraderResponseMetadata : IJsonModel, IPersistableModel { public RunGraderResponseMetadataErrors Errors { get; } public float ExecutionTime { get; } public string Kind { get; } public string Name { get; } public string SampledModelName { get; } public BinaryData Scores { get; } public int? TokenUsage { get; } } [Experimental("OPENAI001")] public class RunGraderResponseMetadataErrors : IJsonModel, IPersistableModel { public bool FormulaParseError { get; } public bool InvalidVariableError { get; } public bool ModelGraderParseError { get; } public bool ModelGraderRefusalError { get; } public bool ModelGraderServerError { get; } public string ModelGraderServerErrorDetails { get; } public bool OtherError { get; } public bool PythonGraderRuntimeError { get; } public string PythonGraderRuntimeErrorDetails { get; } public bool PythonGraderServerError { get; } public string PythonGraderServerErrorType { get; } public bool SampleParseError { get; } public bool TruncatedObservationError { get; } public bool UnresponsiveRewardError { get; } } [Experimental("OPENAI001")] public class UnknownGrader : Grader, IJsonModel, IPersistableModel { } [Experimental("OPENAI001")] public class ValidateGraderRequest : IJsonModel, IPersistableModel { public BinaryData Grader { get; } } [Experimental("OPENAI001")] public class ValidateGraderResponse : IJsonModel, IPersistableModel { public BinaryData Grader { get; } public static explicit operator ValidateGraderResponse(ClientResult result); } } namespace OpenAI.Images { public class GeneratedImage : IJsonModel, IPersistableModel { public BinaryData ImageBytes { get; } public Uri ImageUri { get; } public string RevisedPrompt { get; } } [Experimental("OPENAI001")] public readonly partial struct GeneratedImageBackground : IEquatable { public GeneratedImageBackground(string value); public static GeneratedImageBackground Auto { get; } public static GeneratedImageBackground Opaque { get; } public static GeneratedImageBackground Transparent { get; } public readonly bool Equals(GeneratedImageBackground other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GeneratedImageBackground left, GeneratedImageBackground right); public static implicit operator GeneratedImageBackground(string value); public static implicit operator GeneratedImageBackground?(string value); public static bool operator !=(GeneratedImageBackground left, GeneratedImageBackground right); public override readonly string ToString(); } public class GeneratedImageCollection : ObjectModel.ReadOnlyCollection, IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public GeneratedImageBackground? Background { get; } public DateTimeOffset CreatedAt { get; } [Experimental("OPENAI001")] public GeneratedImageFileFormat? OutputFileFormat { get; } [Experimental("OPENAI001")] public GeneratedImageQuality? Quality { get; } [Experimental("OPENAI001")] public GeneratedImageSize? Size { get; } [Experimental("OPENAI001")] public ImageTokenUsage Usage { get; } [Experimental("OPENAI001")] public static explicit operator GeneratedImageCollection(ClientResult result); } [Experimental("OPENAI001")] public readonly partial struct GeneratedImageFileFormat : IEquatable { public GeneratedImageFileFormat(string value); public static GeneratedImageFileFormat Jpeg { get; } public static GeneratedImageFileFormat Png { get; } public static GeneratedImageFileFormat Webp { get; } public readonly bool Equals(GeneratedImageFileFormat other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GeneratedImageFileFormat left, GeneratedImageFileFormat right); public static implicit operator GeneratedImageFileFormat(string value); public static implicit operator GeneratedImageFileFormat?(string value); public static bool operator !=(GeneratedImageFileFormat left, GeneratedImageFileFormat right); public override readonly string ToString(); } public readonly partial struct GeneratedImageFormat : IEquatable { public GeneratedImageFormat(string value); public static GeneratedImageFormat Bytes { get; } public static GeneratedImageFormat Uri { get; } public readonly bool Equals(GeneratedImageFormat other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GeneratedImageFormat left, GeneratedImageFormat right); public static implicit operator GeneratedImageFormat(string value); public static implicit operator GeneratedImageFormat?(string value); public static bool operator !=(GeneratedImageFormat left, GeneratedImageFormat right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct GeneratedImageModerationLevel : IEquatable { public GeneratedImageModerationLevel(string value); public static GeneratedImageModerationLevel Auto { get; } public static GeneratedImageModerationLevel Low { get; } public readonly bool Equals(GeneratedImageModerationLevel other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GeneratedImageModerationLevel left, GeneratedImageModerationLevel right); public static implicit operator GeneratedImageModerationLevel(string value); public static implicit operator GeneratedImageModerationLevel?(string value); public static bool operator !=(GeneratedImageModerationLevel left, GeneratedImageModerationLevel right); public override readonly string ToString(); } public readonly partial struct GeneratedImageQuality : IEquatable { public GeneratedImageQuality(string value); [Experimental("OPENAI001")] public static GeneratedImageQuality Auto { get; } public static GeneratedImageQuality High { get; } [Experimental("OPENAI001")] public static GeneratedImageQuality HighQuality { get; } [Experimental("OPENAI001")] public static GeneratedImageQuality LowQuality { get; } [Experimental("OPENAI001")] public static GeneratedImageQuality MediumQuality { get; } public static GeneratedImageQuality Standard { get; } public readonly bool Equals(GeneratedImageQuality other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GeneratedImageQuality left, GeneratedImageQuality right); public static implicit operator GeneratedImageQuality(string value); public static implicit operator GeneratedImageQuality?(string value); public static bool operator !=(GeneratedImageQuality left, GeneratedImageQuality right); public override readonly string ToString(); } public readonly partial struct GeneratedImageSize : IEquatable { public static readonly GeneratedImageSize W1024xH1024; [Experimental("OPENAI001")] public static readonly GeneratedImageSize W1024xH1536; public static readonly GeneratedImageSize W1024xH1792; [Experimental("OPENAI001")] public static readonly GeneratedImageSize W1536xH1024; public static readonly GeneratedImageSize W1792xH1024; public static readonly GeneratedImageSize W256xH256; public static readonly GeneratedImageSize W512xH512; public GeneratedImageSize(int width, int height); [Experimental("OPENAI001")] public static GeneratedImageSize Auto { get; } public readonly bool Equals(GeneratedImageSize other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GeneratedImageSize left, GeneratedImageSize right); public static bool operator !=(GeneratedImageSize left, GeneratedImageSize right); public override readonly string ToString(); } public readonly partial struct GeneratedImageStyle : IEquatable { public GeneratedImageStyle(string value); public static GeneratedImageStyle Natural { get; } public static GeneratedImageStyle Vivid { get; } public readonly bool Equals(GeneratedImageStyle other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GeneratedImageStyle left, GeneratedImageStyle right); public static implicit operator GeneratedImageStyle(string value); public static implicit operator GeneratedImageStyle?(string value); public static bool operator !=(GeneratedImageStyle left, GeneratedImageStyle right); public override readonly string ToString(); } public class ImageClient { protected ImageClient(); [Experimental("SCME0002")] public ImageClient(ImageClientSettings settings); protected internal ImageClient(ClientPipeline pipeline, string model, OpenAIClientOptions options); public ImageClient(string model, ApiKeyCredential credential, OpenAIClientOptions options); public ImageClient(string model, ApiKeyCredential credential); [Experimental("OPENAI001")] public ImageClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); [Experimental("OPENAI001")] public ImageClient(string model, AuthenticationPolicy authenticationPolicy); public ImageClient(string model, string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } [Experimental("OPENAI001")] public string Model { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult GenerateImage(string prompt, ImageGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual Task> GenerateImageAsync(string prompt, ImageGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateImageEdit(Stream image, string imageFilename, string prompt, ImageEditOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateImageEdit(Stream image, string imageFilename, string prompt, Stream mask, string maskFilename, ImageEditOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateImageEdit(string imageFilePath, string prompt, ImageEditOptions options = null); public virtual ClientResult GenerateImageEdit(string imageFilePath, string prompt, string maskFilePath, ImageEditOptions options = null); public virtual Task> GenerateImageEditAsync(Stream image, string imageFilename, string prompt, ImageEditOptions options = null, CancellationToken cancellationToken = default); public virtual Task> GenerateImageEditAsync(Stream image, string imageFilename, string prompt, Stream mask, string maskFilename, ImageEditOptions options = null, CancellationToken cancellationToken = default); public virtual Task> GenerateImageEditAsync(string imageFilePath, string prompt, ImageEditOptions options = null); public virtual Task> GenerateImageEditAsync(string imageFilePath, string prompt, string maskFilePath, ImageEditOptions options = null); public virtual ClientResult GenerateImageEdits(BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult GenerateImageEdits(Stream image, string imageFilename, string prompt, int imageCount, ImageEditOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateImageEdits(Stream image, string imageFilename, string prompt, Stream mask, string maskFilename, int imageCount, ImageEditOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateImageEdits(string imageFilePath, string prompt, int imageCount, ImageEditOptions options = null); public virtual ClientResult GenerateImageEdits(string imageFilePath, string prompt, string maskFilePath, int imageCount, ImageEditOptions options = null); public virtual Task GenerateImageEditsAsync(BinaryContent content, string contentType, RequestOptions options = null); public virtual Task> GenerateImageEditsAsync(Stream image, string imageFilename, string prompt, int imageCount, ImageEditOptions options = null, CancellationToken cancellationToken = default); public virtual Task> GenerateImageEditsAsync(Stream image, string imageFilename, string prompt, Stream mask, string maskFilename, int imageCount, ImageEditOptions options = null, CancellationToken cancellationToken = default); public virtual Task> GenerateImageEditsAsync(string imageFilePath, string prompt, int imageCount, ImageEditOptions options = null); public virtual Task> GenerateImageEditsAsync(string imageFilePath, string prompt, string maskFilePath, int imageCount, ImageEditOptions options = null); public virtual ClientResult GenerateImages(BinaryContent content, RequestOptions options = null); public virtual ClientResult GenerateImages(string prompt, int imageCount, ImageGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual Task GenerateImagesAsync(BinaryContent content, RequestOptions options = null); public virtual Task> GenerateImagesAsync(string prompt, int imageCount, ImageGenerationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateImageVariation(Stream image, string imageFilename, ImageVariationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateImageVariation(string imageFilePath, ImageVariationOptions options = null); public virtual Task> GenerateImageVariationAsync(Stream image, string imageFilename, ImageVariationOptions options = null, CancellationToken cancellationToken = default); public virtual Task> GenerateImageVariationAsync(string imageFilePath, ImageVariationOptions options = null); public virtual ClientResult GenerateImageVariations(BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult GenerateImageVariations(Stream image, string imageFilename, int imageCount, ImageVariationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult GenerateImageVariations(string imageFilePath, int imageCount, ImageVariationOptions options = null); public virtual Task GenerateImageVariationsAsync(BinaryContent content, string contentType, RequestOptions options = null); public virtual Task> GenerateImageVariationsAsync(Stream image, string imageFilename, int imageCount, ImageVariationOptions options = null, CancellationToken cancellationToken = default); public virtual Task> GenerateImageVariationsAsync(string imageFilePath, int imageCount, ImageVariationOptions options = null); } [Experimental("SCME0002")] public sealed class ImageClientSettings : ClientSettings { public string Model { get; set; } public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } public class ImageEditOptions : IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public GeneratedImageBackground? Background { get; set; } public string EndUserId { get; set; } [Experimental("OPENAI001")] public ImageInputFidelity? InputFidelity { get; set; } [Experimental("OPENAI001")] public int? OutputCompressionFactor { get; set; } [Experimental("OPENAI001")] public GeneratedImageFileFormat? OutputFileFormat { get; set; } [Experimental("OPENAI001")] public GeneratedImageQuality? Quality { get; set; } public GeneratedImageFormat? ResponseFormat { get; set; } public GeneratedImageSize? Size { get; set; } } public class ImageGenerationOptions : IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public GeneratedImageBackground? Background { get; set; } public string EndUserId { get; set; } [Experimental("OPENAI001")] public GeneratedImageModerationLevel? ModerationLevel { get; set; } [Experimental("OPENAI001")] public int? OutputCompressionFactor { get; set; } [Experimental("OPENAI001")] public GeneratedImageFileFormat? OutputFileFormat { get; set; } public GeneratedImageQuality? Quality { get; set; } public GeneratedImageFormat? ResponseFormat { get; set; } public GeneratedImageSize? Size { get; set; } public GeneratedImageStyle? Style { get; set; } } [Experimental("OPENAI001")] public readonly partial struct ImageInputFidelity : IEquatable { public ImageInputFidelity(string value); public static ImageInputFidelity High { get; } public static ImageInputFidelity Low { get; } public readonly bool Equals(ImageInputFidelity other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ImageInputFidelity left, ImageInputFidelity right); public static implicit operator ImageInputFidelity(string value); public static implicit operator ImageInputFidelity?(string value); public static bool operator !=(ImageInputFidelity left, ImageInputFidelity right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ImageInputTokenUsageDetails : IJsonModel, IPersistableModel { public long ImageTokenCount { get; } public long TextTokenCount { get; } } [Experimental("OPENAI001")] public class ImageOutputTokenUsageDetails : IJsonModel, IPersistableModel { public long ImageTokenCount { get; } public long TextTokenCount { get; } } [Experimental("OPENAI001")] public class ImageTokenUsage : IJsonModel, IPersistableModel { public long InputTokenCount { get; } public ImageInputTokenUsageDetails InputTokenDetails { get; } public long OutputTokenCount { get; } public ImageOutputTokenUsageDetails OutputTokenDetails { get; } public long TotalTokenCount { get; } } public class ImageVariationOptions : IJsonModel, IPersistableModel { public string EndUserId { get; set; } public GeneratedImageFormat? ResponseFormat { get; set; } public GeneratedImageSize? Size { get; set; } } public static class OpenAIImagesModelFactory { public static GeneratedImage GeneratedImage(BinaryData imageBytes = null, Uri imageUri = null, string revisedPrompt = null); [Experimental("OPENAI001")] public static GeneratedImageCollection GeneratedImageCollection(DateTimeOffset createdAt = default, IEnumerable items = null, GeneratedImageBackground? background = null, GeneratedImageFileFormat? outputFileFormat = null, GeneratedImageSize? size = null, GeneratedImageQuality? quality = null, ImageTokenUsage usage = null); [EditorBrowsable(EditorBrowsableState.Never)] public static GeneratedImageCollection GeneratedImageCollection(DateTimeOffset createdAt, IEnumerable items); [Experimental("OPENAI001")] public static ImageInputTokenUsageDetails ImageInputTokenUsageDetails(long textTokenCount = 0, long imageTokenCount = 0); [Experimental("OPENAI001")] public static ImageTokenUsage ImageTokenUsage(long inputTokenCount = 0, long outputTokenCount = 0, long totalTokenCount = 0, ImageInputTokenUsageDetails inputTokenDetails = null, ImageOutputTokenUsageDetails outputTokenDetails = null); } } namespace OpenAI.Models { public class ModelDeletionResult : IJsonModel, IPersistableModel { public bool Deleted { get; } public string ModelId { get; } [Experimental("OPENAI001")] public static explicit operator ModelDeletionResult(ClientResult result); } public class OpenAIModel : IJsonModel, IPersistableModel { public DateTimeOffset CreatedAt { get; } public string Id { get; } public string OwnedBy { get; } [Experimental("OPENAI001")] public static explicit operator OpenAIModel(ClientResult result); } public class OpenAIModelClient { protected OpenAIModelClient(); [Experimental("SCME0002")] public OpenAIModelClient(OpenAIModelClientSettings settings); public OpenAIModelClient(ApiKeyCredential credential, OpenAIClientOptions options); public OpenAIModelClient(ApiKeyCredential credential); [Experimental("OPENAI001")] public OpenAIModelClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); [Experimental("OPENAI001")] public OpenAIModelClient(AuthenticationPolicy authenticationPolicy); protected internal OpenAIModelClient(ClientPipeline pipeline, OpenAIClientOptions options); public OpenAIModelClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult DeleteModel(string model, RequestOptions options); public virtual ClientResult DeleteModel(string model, CancellationToken cancellationToken = default); public virtual Task DeleteModelAsync(string model, RequestOptions options); public virtual Task> DeleteModelAsync(string model, CancellationToken cancellationToken = default); public virtual ClientResult GetModel(string model, RequestOptions options); public virtual ClientResult GetModel(string model, CancellationToken cancellationToken = default); public virtual Task GetModelAsync(string model, RequestOptions options); public virtual Task> GetModelAsync(string model, CancellationToken cancellationToken = default); public virtual ClientResult GetModels(RequestOptions options); public virtual ClientResult GetModels(CancellationToken cancellationToken = default); public virtual Task GetModelsAsync(RequestOptions options); public virtual Task> GetModelsAsync(CancellationToken cancellationToken = default); } [Experimental("SCME0002")] public sealed class OpenAIModelClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } public class OpenAIModelCollection : ObjectModel.ReadOnlyCollection, IJsonModel, IPersistableModel { [Experimental("OPENAI001")] public static explicit operator OpenAIModelCollection(ClientResult result); } public static class OpenAIModelsModelFactory { public static ModelDeletionResult ModelDeletionResult(string modelId = null, bool deleted = false); public static OpenAIModel OpenAIModel(string id = null, DateTimeOffset createdAt = default, string ownedBy = null); public static OpenAIModelCollection OpenAIModelCollection(IEnumerable items = null); } } namespace OpenAI.Moderations { [Experimental("OPENAI001")] [Flags] public enum ModerationApplicableInputKinds { None = 0, Other = 1, Text = 2, Image = 4 } public class ModerationCategory { [Experimental("OPENAI001")] public ModerationApplicableInputKinds ApplicableInputKinds { get; } public bool Flagged { get; } public float Score { get; } } public class ModerationClient { protected ModerationClient(); [Experimental("SCME0002")] public ModerationClient(ModerationClientSettings settings); protected internal ModerationClient(ClientPipeline pipeline, string model, OpenAIClientOptions options); public ModerationClient(string model, ApiKeyCredential credential, OpenAIClientOptions options); public ModerationClient(string model, ApiKeyCredential credential); [Experimental("OPENAI001")] public ModerationClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); [Experimental("OPENAI001")] public ModerationClient(string model, AuthenticationPolicy authenticationPolicy); public ModerationClient(string model, string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } [Experimental("OPENAI001")] public string Model { get; } public ClientPipeline Pipeline { get; } [Experimental("OPENAI001")] public virtual ClientResult ClassifyInputs(BinaryContent content, RequestOptions options = null); [Experimental("OPENAI001")] public virtual ClientResult ClassifyInputs(IEnumerable inputParts, CancellationToken cancellationToken = default); [Experimental("OPENAI001")] public virtual Task ClassifyInputsAsync(BinaryContent content, RequestOptions options = null); [Experimental("OPENAI001")] public virtual Task> ClassifyInputsAsync(IEnumerable inputParts, CancellationToken cancellationToken = default); public virtual ClientResult ClassifyText(BinaryContent content, RequestOptions options = null); public virtual ClientResult ClassifyText(IEnumerable inputs, CancellationToken cancellationToken = default); public virtual ClientResult ClassifyText(string input, CancellationToken cancellationToken = default); public virtual Task ClassifyTextAsync(BinaryContent content, RequestOptions options = null); public virtual Task> ClassifyTextAsync(IEnumerable inputs, CancellationToken cancellationToken = default); public virtual Task> ClassifyTextAsync(string input, CancellationToken cancellationToken = default); } [Experimental("SCME0002")] public sealed class ModerationClientSettings : ClientSettings { public string Model { get; set; } public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI001")] public class ModerationInputPart : IJsonModel, IPersistableModel { public Uri ImageUri { get; } public ModerationInputPartKind Kind { get; } public string Text { get; } public static ModerationInputPart CreateImagePart(Uri imageUri); public static ModerationInputPart CreateTextPart(string text); } [Experimental("OPENAI001")] public enum ModerationInputPartKind { Text = 0, Image = 1 } public class ModerationResult : IJsonModel, IPersistableModel { public bool Flagged { get; } public ModerationCategory Harassment { get; } public ModerationCategory HarassmentThreatening { get; } public ModerationCategory Hate { get; } public ModerationCategory HateThreatening { get; } public ModerationCategory Illicit { get; } public ModerationCategory IllicitViolent { get; } public ModerationCategory SelfHarm { get; } public ModerationCategory SelfHarmInstructions { get; } public ModerationCategory SelfHarmIntent { get; } public ModerationCategory Sexual { get; } public ModerationCategory SexualMinors { get; } public ModerationCategory Violence { get; } public ModerationCategory ViolenceGraphic { get; } } public class ModerationResultCollection : ObjectModel.ReadOnlyCollection, IJsonModel, IPersistableModel { public string Id { get; } public string Model { get; } [Experimental("OPENAI001")] public static explicit operator ModerationResultCollection(ClientResult result); } public static class OpenAIModerationsModelFactory { public static ModerationCategory ModerationCategory(bool flagged = false, float score = 0); [Experimental("OPENAI001")] public static ModerationResult ModerationResult(bool flagged = false, ModerationCategory hate = null, ModerationCategory hateThreatening = null, ModerationCategory harassment = null, ModerationCategory harassmentThreatening = null, ModerationCategory selfHarm = null, ModerationCategory selfHarmIntent = null, ModerationCategory selfHarmInstructions = null, ModerationCategory sexual = null, ModerationCategory sexualMinors = null, ModerationCategory violence = null, ModerationCategory violenceGraphic = null, ModerationCategory illicit = null, ModerationCategory illicitViolent = null); [EditorBrowsable(EditorBrowsableState.Never)] public static ModerationResult ModerationResult(bool flagged, ModerationCategory hate, ModerationCategory hateThreatening, ModerationCategory harassment, ModerationCategory harassmentThreatening, ModerationCategory selfHarm, ModerationCategory selfHarmIntent, ModerationCategory selfHarmInstructions, ModerationCategory sexual, ModerationCategory sexualMinors, ModerationCategory violence, ModerationCategory violenceGraphic); public static ModerationResultCollection ModerationResultCollection(string id = null, string model = null, IEnumerable items = null); } } namespace OpenAI.Realtime { [Experimental("OPENAI002")] public class CreateClientSecretOptions : IJsonModel, IPersistableModel { public RealtimeClientSecretExpirationPolicy ExpirationPolicy { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public RealtimeSessionOptions SessionOptions { get; set; } public static implicit operator BinaryContent(CreateClientSecretOptions createClientSecretOptions); } [Experimental("OPENAI002")] public class CreateClientSecretResult : IJsonModel, IPersistableModel { public DateTimeOffset ExpiresAt { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public RealtimeSession Session { get; } public string Value { get; } public static explicit operator CreateClientSecretResult(ClientResult result); } [Experimental("OPENAI002")] public class RealtimeAudioFormat : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeAudioTranscriptionOptions : IJsonModel, IPersistableModel { public string Language { get; set; } public string Model { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Prompt { get; set; } } [Experimental("OPENAI002")] public class RealtimeClient { protected RealtimeClient(); [Experimental("SCME0002")] public RealtimeClient(RealtimeClientSettings settings); public RealtimeClient(ApiKeyCredential credential, RealtimeClientOptions options); public RealtimeClient(ApiKeyCredential credential); [Experimental("OPENAI001")] public RealtimeClient(AuthenticationPolicy authenticationPolicy, RealtimeClientOptions options); [Experimental("OPENAI001")] public RealtimeClient(AuthenticationPolicy authenticationPolicy); protected internal RealtimeClient(ClientPipeline pipeline, RealtimeClientOptions options); public RealtimeClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public event EventHandler OnReceivingCommand { add; remove; } public event EventHandler OnSendingCommand { add; remove; } public virtual ClientResult CreateRealtimeClientSecret(CreateClientSecretOptions options, CancellationToken cancellationToken = default); public virtual ClientResult CreateRealtimeClientSecret(BinaryContent content, RequestOptions options = null); public virtual Task> CreateRealtimeClientSecretAsync(CreateClientSecretOptions options, CancellationToken cancellationToken = default); public virtual Task CreateRealtimeClientSecretAsync(BinaryContent content, RequestOptions options = null); public virtual RealtimeSessionClient StartConversationSession(string model, RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default); public virtual Task StartConversationSessionAsync(string model, RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default); public virtual RealtimeSessionClient StartSession(string model, string intent, RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default); public virtual Task StartSessionAsync(string model, string intent, RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default); public virtual RealtimeSessionClient StartTranscriptionSession(RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default); public virtual Task StartTranscriptionSessionAsync(RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default); } [Experimental("OPENAI002")] public class RealtimeClientCommand : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeClientCommandConversationItemCreate : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandConversationItemCreate(RealtimeItem item); public string EventId { get; set; } public RealtimeItem Item { get; } public string PreviousItemId { get; set; } } [Experimental("OPENAI002")] public class RealtimeClientCommandConversationItemDelete : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandConversationItemDelete(string itemId); public string EventId { get; set; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeClientCommandConversationItemRetrieve : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandConversationItemRetrieve(string itemId); public string EventId { get; set; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeClientCommandConversationItemTruncate : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandConversationItemTruncate(string itemId, int contentIndex, TimeSpan audioEndTime); public TimeSpan AudioEndTime { get; } public int ContentIndex { get; } public string EventId { get; set; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeClientCommandInputAudioBufferAppend : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandInputAudioBufferAppend(BinaryData audioBytes); public BinaryData AudioBytes { get; } public string EventId { get; set; } } [Experimental("OPENAI002")] public class RealtimeClientCommandInputAudioBufferClear : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandInputAudioBufferClear(); public string EventId { get; set; } } [Experimental("OPENAI002")] public class RealtimeClientCommandInputAudioBufferCommit : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandInputAudioBufferCommit(); public string EventId { get; set; } } [Experimental("OPENAI002")] public class RealtimeClientCommandOutputAudioBufferClear : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandOutputAudioBufferClear(); public string EventId { get; set; } } [Experimental("OPENAI002")] public class RealtimeClientCommandResponseCancel : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandResponseCancel(); public string EventId { get; set; } public string ResponseId { get; set; } } [Experimental("OPENAI002")] public class RealtimeClientCommandResponseCreate : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandResponseCreate(); public string EventId { get; set; } public RealtimeResponseOptions ResponseOptions { get; set; } } [Experimental("OPENAI002")] public class RealtimeClientCommandSessionUpdate : RealtimeClientCommand, IJsonModel, IPersistableModel { public RealtimeClientCommandSessionUpdate(RealtimeSessionOptions sessionOptions); public string EventId { get; set; } public RealtimeSessionOptions SessionOptions { get; } } [Experimental("OPENAI002")] public class RealtimeClientOptions : ClientPipelineOptions { public Uri Endpoint { get; set; } public string OrganizationId { get; set; } public string ProjectId { get; set; } public string UserAgentApplicationId { get; set; } } [Experimental("OPENAI002")] public class RealtimeClientSecret : IJsonModel, IPersistableModel { public DateTimeOffset ExpiresAt { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Value { get; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeClientSecretExpirationAnchor : IEquatable { public RealtimeClientSecretExpirationAnchor(string value); public static RealtimeClientSecretExpirationAnchor CreatedAt { get; } public readonly bool Equals(RealtimeClientSecretExpirationAnchor other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeClientSecretExpirationAnchor left, RealtimeClientSecretExpirationAnchor right); public static implicit operator RealtimeClientSecretExpirationAnchor(string value); public static implicit operator RealtimeClientSecretExpirationAnchor?(string value); public static bool operator !=(RealtimeClientSecretExpirationAnchor left, RealtimeClientSecretExpirationAnchor right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeClientSecretExpirationPolicy : IJsonModel, IPersistableModel { public RealtimeClientSecretExpirationAnchor? Anchor { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int? Seconds { get; set; } } [Experimental("SCME0002")] public sealed class RealtimeClientSettings : ClientSettings { public RealtimeClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI002")] public class RealtimeConversation : IJsonModel, IPersistableModel { public string Id { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeConversationSession : RealtimeSession, IJsonModel, IPersistableModel { public RealtimeConversationSessionAudioOptions AudioOptions { get; set; } public RealtimeClientSecret ClientSecret { get; } public IList IncludedProperties { get; } public string Instructions { get; } public RealtimeMaxOutputTokenCount MaxOutputTokenCount { get; set; } public string Model { get; set; } public IList OutputModalities { get; } public RealtimeToolChoice ToolChoice { get; set; } public IList Tools { get; } public RealtimeTracing Tracing { get; set; } public RealtimeTruncation Truncation { get; set; } } [Experimental("OPENAI002")] public class RealtimeConversationSessionAudioOptions : IJsonModel, IPersistableModel { public RealtimeConversationSessionInputAudioOptions InputAudioOptions { get; set; } public RealtimeConversationSessionOutputAudioOptions OutputAudioOptions { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeConversationSessionInputAudioOptions : IJsonModel, IPersistableModel { public RealtimeAudioFormat AudioFormat { get; set; } public RealtimeAudioTranscriptionOptions AudioTranscriptionOptions { get; set; } public RealtimeNoiseReduction NoiseReduction { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public RealtimeTurnDetection TurnDetection { get; set; } public void DisableTurnDetection(); } [Experimental("OPENAI002")] public class RealtimeConversationSessionOptions : RealtimeSessionOptions, IJsonModel, IPersistableModel { public RealtimeConversationSessionOptions(); public RealtimeConversationSessionAudioOptions AudioOptions { get; set; } public IList IncludedProperties { get; } public string Instructions { get; set; } public RealtimeMaxOutputTokenCount MaxOutputTokenCount { get; set; } public string Model { get; set; } public IList OutputModalities { get; } public RealtimeToolChoice ToolChoice { get; set; } public IList Tools { get; } public RealtimeTracing Tracing { get; set; } public RealtimeTruncation Truncation { get; set; } } [Experimental("OPENAI002")] public class RealtimeConversationSessionOutputAudioOptions : IJsonModel, IPersistableModel { public RealtimeAudioFormat AudioFormat { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public float? Speed { get; set; } public RealtimeVoice? Voice { get; set; } } [Experimental("OPENAI002")] public class RealtimeCustomFunctionToolChoice : RealtimeCustomToolChoice, IJsonModel, IPersistableModel { public RealtimeCustomFunctionToolChoice(string functionName); public string FunctionName { get; set; } } [Experimental("OPENAI002")] public class RealtimeCustomMcpToolCallApprovalPolicy : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public RealtimeMcpToolFilter ToolsAlwaysRequiringApproval { get; set; } public RealtimeMcpToolFilter ToolsNeverRequiringApproval { get; set; } } [Experimental("OPENAI002")] public class RealtimeCustomMcpToolChoice : RealtimeCustomToolChoice, IJsonModel, IPersistableModel { public RealtimeCustomMcpToolChoice(string serverLabel); public string McpToolName { get; set; } public string ServerLabel { get; set; } } [Experimental("OPENAI002")] public class RealtimeCustomRetentionRatioTruncation : RealtimeCustomTruncation, IJsonModel, IPersistableModel { public RealtimeCustomRetentionRatioTruncation(float retentionRatio); public float RetentionRatio { get; set; } public RealtimeRetentionRatioTokenLimitDetails TokenLimitDetails { get; set; } } [Experimental("OPENAI002")] public class RealtimeCustomToolChoice : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeCustomTracing : IJsonModel, IPersistableModel { public string GroupId { get; set; } public IDictionary Metadata { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string WorkflowName { get; set; } } [Experimental("OPENAI002")] public class RealtimeCustomTruncation : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeDefaultMaxOutputTokenCount : IEquatable { public RealtimeDefaultMaxOutputTokenCount(string value); public static RealtimeDefaultMaxOutputTokenCount Infinity { get; } public readonly bool Equals(RealtimeDefaultMaxOutputTokenCount other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeDefaultMaxOutputTokenCount left, RealtimeDefaultMaxOutputTokenCount right); public static implicit operator RealtimeDefaultMaxOutputTokenCount(string value); public static implicit operator RealtimeDefaultMaxOutputTokenCount?(string value); public static bool operator !=(RealtimeDefaultMaxOutputTokenCount left, RealtimeDefaultMaxOutputTokenCount right); public override readonly string ToString(); } [Experimental("OPENAI002")] public readonly partial struct RealtimeDefaultMcpToolCallApprovalPolicy : IEquatable { public RealtimeDefaultMcpToolCallApprovalPolicy(string value); public static RealtimeDefaultMcpToolCallApprovalPolicy AlwaysRequireApproval { get; } public static RealtimeDefaultMcpToolCallApprovalPolicy NeverRequireApproval { get; } public readonly bool Equals(RealtimeDefaultMcpToolCallApprovalPolicy other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeDefaultMcpToolCallApprovalPolicy left, RealtimeDefaultMcpToolCallApprovalPolicy right); public static implicit operator RealtimeDefaultMcpToolCallApprovalPolicy(string value); public static implicit operator RealtimeDefaultMcpToolCallApprovalPolicy?(string value); public static bool operator !=(RealtimeDefaultMcpToolCallApprovalPolicy left, RealtimeDefaultMcpToolCallApprovalPolicy right); public override readonly string ToString(); } [Experimental("OPENAI002")] public readonly partial struct RealtimeDefaultToolChoice : IEquatable { public RealtimeDefaultToolChoice(string value); public static RealtimeDefaultToolChoice Auto { get; } public static RealtimeDefaultToolChoice None { get; } public static RealtimeDefaultToolChoice Required { get; } public readonly bool Equals(RealtimeDefaultToolChoice other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeDefaultToolChoice left, RealtimeDefaultToolChoice right); public static implicit operator RealtimeDefaultToolChoice(string value); public static implicit operator RealtimeDefaultToolChoice?(string value); public static bool operator !=(RealtimeDefaultToolChoice left, RealtimeDefaultToolChoice right); public override readonly string ToString(); } [Experimental("OPENAI002")] public readonly partial struct RealtimeDefaultTracing : IEquatable { public RealtimeDefaultTracing(string value); public static RealtimeDefaultTracing Auto { get; } public readonly bool Equals(RealtimeDefaultTracing other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeDefaultTracing left, RealtimeDefaultTracing right); public static implicit operator RealtimeDefaultTracing(string value); public static implicit operator RealtimeDefaultTracing?(string value); public static bool operator !=(RealtimeDefaultTracing left, RealtimeDefaultTracing right); public override readonly string ToString(); } [Experimental("OPENAI002")] public readonly partial struct RealtimeDefaultTruncation : IEquatable { public RealtimeDefaultTruncation(string value); public static RealtimeDefaultTruncation Auto { get; } public static RealtimeDefaultTruncation Disabled { get; } public readonly bool Equals(RealtimeDefaultTruncation other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeDefaultTruncation left, RealtimeDefaultTruncation right); public static implicit operator RealtimeDefaultTruncation(string value); public static implicit operator RealtimeDefaultTruncation?(string value); public static bool operator !=(RealtimeDefaultTruncation left, RealtimeDefaultTruncation right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeError : IJsonModel, IPersistableModel { public string Code { get; set; } public string EventId { get; set; } public string Kind { get; set; } public string Message { get; set; } public string ParameterName { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeFunctionCallItem : RealtimeItem, IJsonModel, IPersistableModel { public RealtimeFunctionCallItem(string callId, string functionName, BinaryData functionArguments); public string CallId { get; set; } public BinaryData FunctionArguments { get; set; } public string FunctionName { get; set; } public string Id { get; set; } public RealtimeFunctionCallStatus? Status { get; set; } } [Experimental("OPENAI002")] public class RealtimeFunctionCallOutputItem : RealtimeItem, IJsonModel, IPersistableModel { public RealtimeFunctionCallOutputItem(string callId, string functionOutput); public string CallId { get; set; } public string FunctionOutput { get; set; } public string Id { get; set; } public RealtimeFunctionCallOutputStatus? Status { get; set; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeFunctionCallOutputStatus : IEquatable { public RealtimeFunctionCallOutputStatus(string value); public static RealtimeFunctionCallOutputStatus Completed { get; } public static RealtimeFunctionCallOutputStatus Incomplete { get; } public static RealtimeFunctionCallOutputStatus InProgress { get; } public readonly bool Equals(RealtimeFunctionCallOutputStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeFunctionCallOutputStatus left, RealtimeFunctionCallOutputStatus right); public static implicit operator RealtimeFunctionCallOutputStatus(string value); public static implicit operator RealtimeFunctionCallOutputStatus?(string value); public static bool operator !=(RealtimeFunctionCallOutputStatus left, RealtimeFunctionCallOutputStatus right); public override readonly string ToString(); } [Experimental("OPENAI002")] public readonly partial struct RealtimeFunctionCallStatus : IEquatable { public RealtimeFunctionCallStatus(string value); public static RealtimeFunctionCallStatus Completed { get; } public static RealtimeFunctionCallStatus Incomplete { get; } public static RealtimeFunctionCallStatus InProgress { get; } public readonly bool Equals(RealtimeFunctionCallStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeFunctionCallStatus left, RealtimeFunctionCallStatus right); public static implicit operator RealtimeFunctionCallStatus(string value); public static implicit operator RealtimeFunctionCallStatus?(string value); public static bool operator !=(RealtimeFunctionCallStatus left, RealtimeFunctionCallStatus right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeFunctionTool : RealtimeTool, IJsonModel, IPersistableModel { public RealtimeFunctionTool(string functionName); public string FunctionDescription { get; set; } public string FunctionName { get; } public BinaryData FunctionParameters { get; set; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeImageDetailLevel : IEquatable { public RealtimeImageDetailLevel(string value); public static RealtimeImageDetailLevel Auto { get; } public static RealtimeImageDetailLevel High { get; } public static RealtimeImageDetailLevel Low { get; } public readonly bool Equals(RealtimeImageDetailLevel other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeImageDetailLevel left, RealtimeImageDetailLevel right); public static implicit operator RealtimeImageDetailLevel(string value); public static implicit operator RealtimeImageDetailLevel?(string value); public static bool operator !=(RealtimeImageDetailLevel left, RealtimeImageDetailLevel right); public override readonly string ToString(); } [Experimental("OPENAI002")] public readonly partial struct RealtimeIncludedProperty : IEquatable { public RealtimeIncludedProperty(string value); public static RealtimeIncludedProperty ItemInputAudioTranscriptionLogProbabilities { get; } public readonly bool Equals(RealtimeIncludedProperty other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeIncludedProperty left, RealtimeIncludedProperty right); public static implicit operator RealtimeIncludedProperty(string value); public static implicit operator RealtimeIncludedProperty?(string value); public static bool operator !=(RealtimeIncludedProperty left, RealtimeIncludedProperty right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeInputAudioMessageContentPart : RealtimeMessageContentPart, IJsonModel, IPersistableModel { public RealtimeInputAudioMessageContentPart(BinaryData audioBytes); public BinaryData AudioBytes { get; set; } public string Transcript { get; set; } } [Experimental("OPENAI002")] public class RealtimeInputImageMessageContentPart : RealtimeMessageContentPart, IJsonModel, IPersistableModel { public RealtimeInputImageMessageContentPart(Uri imageUri); public RealtimeImageDetailLevel? Detail { get; set; } public Uri ImageUri { get; set; } } [Experimental("OPENAI002")] public class RealtimeInputTextMessageContentPart : RealtimeMessageContentPart, IJsonModel, IPersistableModel { public RealtimeInputTextMessageContentPart(string text); public string Text { get; set; } } [Experimental("OPENAI002")] public class RealtimeItem : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static RealtimeMessageItem CreateAssistantMessageItem(IEnumerable contentParts); public static RealtimeMessageItem CreateAssistantMessageItem(string outputTextContent); public static RealtimeFunctionCallItem CreateFunctionCallItem(string callId, string functionName, BinaryData functionArguments); public static RealtimeFunctionCallOutputItem CreateFunctionCallOutputItem(string callId, string functionOutput); public static RealtimeMcpToolCallApprovalRequestItem CreateMcpApprovalRequestItem(string id, string serverLabel, string name, BinaryData arguments); public static RealtimeMcpToolCallApprovalResponseItem CreateMcpApprovalResponseItem(string approvalRequestId, bool approved); public static RealtimeMcpToolCallItem CreateMcpToolCallItem(string serverLabel, string name, BinaryData arguments); public static RealtimeMcpToolDefinitionListItem CreateMcpToolDefinitionListItem(string serverLabel, IEnumerable toolDefinitions); public static RealtimeMessageItem CreateSystemMessageItem(IEnumerable contentParts); public static RealtimeMessageItem CreateSystemMessageItem(string inputTextContent); public static RealtimeMessageItem CreateUserMessageItem(IEnumerable contentParts); public static RealtimeMessageItem CreateUserMessageItem(string inputTextContent); } [Experimental("OPENAI002")] public class RealtimeLogProbabilityDetails : IJsonModel, IPersistableModel { public float LogProbability { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Token { get; } public ReadOnlyMemory Utf8Bytes { get; } } [Experimental("OPENAI002")] public class RealtimeMaxOutputTokenCount : IJsonModel, IPersistableModel { public RealtimeMaxOutputTokenCount(RealtimeDefaultMaxOutputTokenCount defaultMaxOutputTokenCount); public RealtimeMaxOutputTokenCount(int customMaxOutputTokenCount); public int? CustomMaxOutputTokenCount { get; } public RealtimeDefaultMaxOutputTokenCount? DefaultMaxOutputTokenCount { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static implicit operator RealtimeMaxOutputTokenCount(RealtimeDefaultMaxOutputTokenCount defaultMaxOutputTokenCount); public static implicit operator RealtimeMaxOutputTokenCount(int customMaxOutputTokenCount); } [Experimental("OPENAI002")] public class RealtimeMcpTool : RealtimeTool, IJsonModel, IPersistableModel { public RealtimeMcpTool(string serverLabel, RealtimeMcpToolConnectorId connectorId); public RealtimeMcpTool(string serverLabel, Uri serverUri); public RealtimeMcpToolFilter AllowedTools { get; set; } public string AuthorizationToken { get; set; } public RealtimeMcpToolConnectorId? ConnectorId { get; set; } public IDictionary Headers { get; set; } public string ServerDescription { get; set; } public string ServerLabel { get; set; } public Uri ServerUri { get; set; } public RealtimeMcpToolCallApprovalPolicy ToolCallApprovalPolicy { get; set; } } [Experimental("OPENAI002")] public class RealtimeMcpToolCallApprovalPolicy : IJsonModel, IPersistableModel { public RealtimeMcpToolCallApprovalPolicy(RealtimeCustomMcpToolCallApprovalPolicy customPolicy); public RealtimeMcpToolCallApprovalPolicy(RealtimeDefaultMcpToolCallApprovalPolicy defaultPolicy); public RealtimeCustomMcpToolCallApprovalPolicy CustomPolicy { get; } public RealtimeDefaultMcpToolCallApprovalPolicy? DefaultPolicy { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static implicit operator RealtimeMcpToolCallApprovalPolicy(RealtimeCustomMcpToolCallApprovalPolicy customPolicy); public static implicit operator RealtimeMcpToolCallApprovalPolicy(RealtimeDefaultMcpToolCallApprovalPolicy defaultPolicy); } [Experimental("OPENAI002")] public class RealtimeMcpToolCallApprovalRequestItem : RealtimeItem, IJsonModel, IPersistableModel { public RealtimeMcpToolCallApprovalRequestItem(string id, string serverLabel, string toolName, BinaryData toolArguments); public string Id { get; set; } public string ServerLabel { get; set; } public BinaryData ToolArguments { get; set; } public string ToolName { get; set; } } [Experimental("OPENAI002")] public class RealtimeMcpToolCallApprovalResponseItem : RealtimeItem, IJsonModel, IPersistableModel { public RealtimeMcpToolCallApprovalResponseItem(string approvalRequestId, bool approved); public string ApprovalRequestId { get; set; } public bool Approved { get; set; } public string Id { get; set; } public string Reason { get; set; } } [Experimental("OPENAI002")] public class RealtimeMcpToolCallItem : RealtimeItem, IJsonModel, IPersistableModel { public RealtimeMcpToolCallItem(string serverLabel, string toolName, BinaryData toolArguments); public string ApprovalRequestId { get; set; } public RealtimeError Error { get; set; } public string Id { get; set; } public string ServerLabel { get; set; } public BinaryData ToolArguments { get; set; } public string ToolName { get; set; } public string ToolOutput { get; set; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeMcpToolConnectorId : IEquatable { public RealtimeMcpToolConnectorId(string value); public static RealtimeMcpToolConnectorId Dropbox { get; } public static RealtimeMcpToolConnectorId Gmail { get; } public static RealtimeMcpToolConnectorId GoogleCalendar { get; } public static RealtimeMcpToolConnectorId GoogleDrive { get; } public static RealtimeMcpToolConnectorId MicrosoftTeams { get; } public static RealtimeMcpToolConnectorId OutlookCalendar { get; } public static RealtimeMcpToolConnectorId OutlookEmail { get; } public static RealtimeMcpToolConnectorId SharePoint { get; } public readonly bool Equals(RealtimeMcpToolConnectorId other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeMcpToolConnectorId left, RealtimeMcpToolConnectorId right); public static implicit operator RealtimeMcpToolConnectorId(string value); public static implicit operator RealtimeMcpToolConnectorId?(string value); public static bool operator !=(RealtimeMcpToolConnectorId left, RealtimeMcpToolConnectorId right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeMcpToolDefinition : IJsonModel, IPersistableModel { public RealtimeMcpToolDefinition(string name, BinaryData inputSchema); public BinaryData Annotations { get; set; } public string Description { get; set; } public BinaryData InputSchema { get; set; } public string Name { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeMcpToolDefinitionListItem : RealtimeItem, IJsonModel, IPersistableModel { public RealtimeMcpToolDefinitionListItem(string serverLabel, IEnumerable toolDefinitions); public string Id { get; set; } public string ServerLabel { get; set; } public IList ToolDefinitions { get; } } [Experimental("OPENAI002")] public class RealtimeMcpToolFilter : IJsonModel, IPersistableModel { public bool? IsReadOnly { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public IList ToolNames { get; } } [Experimental("OPENAI002")] public class RealtimeMessageContentPart : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeMessageItem : RealtimeItem, IJsonModel, IPersistableModel { public RealtimeMessageItem(RealtimeMessageRole role, IEnumerable content); public IList Content { get; } public string Id { get; set; } public RealtimeMessageRole Role { get; set; } public RealtimeMessageStatus? Status { get; set; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeMessageRole : IEquatable { public RealtimeMessageRole(string value); public static RealtimeMessageRole Assistant { get; } public static RealtimeMessageRole System { get; } public static RealtimeMessageRole User { get; } public readonly bool Equals(RealtimeMessageRole other); [EditorBrowsable(global::EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(global::EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeMessageRole left, RealtimeMessageRole right); public static implicit operator RealtimeMessageRole(string value); public static implicit operator RealtimeMessageRole?(string value); public static bool operator !=(RealtimeMessageRole left, RealtimeMessageRole right); public override readonly string ToString(); } [Experimental("OPENAI002")] public readonly partial struct RealtimeMessageStatus : IEquatable { public RealtimeMessageStatus(string value); public static RealtimeMessageStatus Completed { get; } public static RealtimeMessageStatus Incomplete { get; } public static RealtimeMessageStatus InProgress { get; } public readonly bool Equals(RealtimeMessageStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeMessageStatus left, RealtimeMessageStatus right); public static implicit operator RealtimeMessageStatus(string value); public static implicit operator RealtimeMessageStatus?(string value); public static bool operator !=(RealtimeMessageStatus left, RealtimeMessageStatus right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeNoiseReduction : IJsonModel, IPersistableModel { public RealtimeNoiseReduction(RealtimeNoiseReductionKind kind); public RealtimeNoiseReductionKind Kind { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeNoiseReductionKind : IEquatable { public RealtimeNoiseReductionKind(string value); public static RealtimeNoiseReductionKind FarField { get; } public static RealtimeNoiseReductionKind NearField { get; } public readonly bool Equals(RealtimeNoiseReductionKind other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeNoiseReductionKind left, RealtimeNoiseReductionKind right); public static implicit operator RealtimeNoiseReductionKind(string value); public static implicit operator RealtimeNoiseReductionKind?(string value); public static bool operator !=(RealtimeNoiseReductionKind left, RealtimeNoiseReductionKind right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeOutputAudioMessageContentPart : RealtimeMessageContentPart, IJsonModel, IPersistableModel { public RealtimeOutputAudioMessageContentPart(BinaryData audioBytes, string transcript); public BinaryData AudioBytes { get; set; } public string Transcript { get; set; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeOutputModality : IEquatable { public RealtimeOutputModality(string value); public static RealtimeOutputModality Audio { get; } public static RealtimeOutputModality Text { get; } public readonly bool Equals(RealtimeOutputModality other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeOutputModality left, RealtimeOutputModality right); public static implicit operator RealtimeOutputModality(string value); public static implicit operator RealtimeOutputModality?(string value); public static bool operator !=(RealtimeOutputModality left, RealtimeOutputModality right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeOutputTextMessageContentPart : RealtimeMessageContentPart, IJsonModel, IPersistableModel { public RealtimeOutputTextMessageContentPart(string text); public string Text { get; set; } } [Experimental("OPENAI002")] public class RealtimePcmaAudioFormat : RealtimeAudioFormat, IJsonModel, IPersistableModel { public RealtimePcmaAudioFormat(); } [Experimental("OPENAI002")] public class RealtimePcmAudioFormat : RealtimeAudioFormat, IJsonModel, IPersistableModel { public RealtimePcmAudioFormat(); public int Rate { get; } } [Experimental("OPENAI002")] public class RealtimePcmuAudioFormat : RealtimeAudioFormat, IJsonModel, IPersistableModel { public RealtimePcmuAudioFormat(); } [Experimental("OPENAI002")] public class RealtimeRateLimitDetails : IJsonModel, IPersistableModel { public int? Limit { get; } public RealtimeRateLimitName? Name { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int? RemainingCount { get; } public TimeSpan? TimeUntilReset { get; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeRateLimitName : IEquatable { public RealtimeRateLimitName(string value); public static RealtimeRateLimitName Requests { get; } public static RealtimeRateLimitName Tokens { get; } public readonly bool Equals(RealtimeRateLimitName other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeRateLimitName left, RealtimeRateLimitName right); public static implicit operator RealtimeRateLimitName(string value); public static implicit operator RealtimeRateLimitName?(string value); public static bool operator !=(RealtimeRateLimitName left, RealtimeRateLimitName right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeResponse : IJsonModel, IPersistableModel { public RealtimeResponseAudioOptions AudioOptions { get; } public string ConversationId { get; } public string Id { get; } public RealtimeMaxOutputTokenCount MaxOutputTokenCount { get; } public IDictionary Metadata { get; } public IList OutputItems { get; } public IList OutputModalities { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public RealtimeResponseStatus? Status { get; } public RealtimeResponseStatusDetails StatusDetails { get; } public RealtimeResponseUsage Usage { get; } } [Experimental("OPENAI002")] public class RealtimeResponseAudioOptions : IJsonModel, IPersistableModel { public RealtimeResponseOutputAudioOptions OutputAudioOptions { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeResponseContentPart : IJsonModel, IPersistableModel { public BinaryData Audio { get; } public RealtimeResponseContentPartKind? Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Text { get; } public string Transcript { get; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeResponseContentPartKind : IEquatable { public RealtimeResponseContentPartKind(string value); public static RealtimeResponseContentPartKind Audio { get; } public static RealtimeResponseContentPartKind Text { get; } public readonly bool Equals(RealtimeResponseContentPartKind other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeResponseContentPartKind left, RealtimeResponseContentPartKind right); public static implicit operator RealtimeResponseContentPartKind(string value); public static implicit operator RealtimeResponseContentPartKind?(string value); public static bool operator !=(RealtimeResponseContentPartKind left, RealtimeResponseContentPartKind right); public override readonly string ToString(); } [Experimental("OPENAI002")] public readonly partial struct RealtimeResponseDefaultConversationConfiguration : IEquatable { public RealtimeResponseDefaultConversationConfiguration(string value); public static RealtimeResponseDefaultConversationConfiguration Auto { get; } public static RealtimeResponseDefaultConversationConfiguration None { get; } public readonly bool Equals(RealtimeResponseDefaultConversationConfiguration other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeResponseDefaultConversationConfiguration left, RealtimeResponseDefaultConversationConfiguration right); public static implicit operator RealtimeResponseDefaultConversationConfiguration(string value); public static implicit operator RealtimeResponseDefaultConversationConfiguration?(string value); public static bool operator !=(RealtimeResponseDefaultConversationConfiguration left, RealtimeResponseDefaultConversationConfiguration right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeResponseInputCachedTokenUsageDetails : IJsonModel, IPersistableModel { public int? AudioTokenCount { get; } public int? ImageTokenCount { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int? TextTokenCount { get; } } [Experimental("OPENAI002")] public class RealtimeResponseInputTokenUsageDetails : IJsonModel, IPersistableModel { public int? AudioTokenCount { get; } public int? CachedTokenCount { get; } public RealtimeResponseInputCachedTokenUsageDetails CachedTokenDetails { get; } public int? ImageTokenCount { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int? TextTokenCount { get; } } [Experimental("OPENAI002")] public class RealtimeResponseOptions : IJsonModel, IPersistableModel { public RealtimeResponseAudioOptions AudioOptions { get; set; } public RealtimeResponseDefaultConversationConfiguration? DefaultConversationConfiguration { get; set; } public IList InputItems { get; } public string Instructions { get; set; } public RealtimeMaxOutputTokenCount MaxOutputTokenCount { get; set; } public IDictionary Metadata { get; set; } public IList OutputModalities { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public RealtimeToolChoice ToolChoice { get; set; } public IList Tools { get; } } [Experimental("OPENAI002")] public class RealtimeResponseOutputAudioOptions : IJsonModel, IPersistableModel { public RealtimeAudioFormat AudioFormat { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public RealtimeVoice? Voice { get; set; } } [Experimental("OPENAI002")] public class RealtimeResponseOutputTokenUsageDetails : IJsonModel, IPersistableModel { public int? AudioTokenCount { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int? TextTokenCount { get; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeResponseStatus : IEquatable { public RealtimeResponseStatus(string value); public static RealtimeResponseStatus Cancelled { get; } public static RealtimeResponseStatus Completed { get; } public static RealtimeResponseStatus Failed { get; } public static RealtimeResponseStatus Incomplete { get; } public static RealtimeResponseStatus InProgress { get; } public readonly bool Equals(RealtimeResponseStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeResponseStatus left, RealtimeResponseStatus right); public static implicit operator RealtimeResponseStatus(string value); public static implicit operator RealtimeResponseStatus?(string value); public static bool operator !=(RealtimeResponseStatus left, RealtimeResponseStatus right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeResponseStatusDetails : IJsonModel, IPersistableModel { public RealtimeError Error { get; } public RealtimeResponseStatusErrorKind? Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public RealtimeResponseStatusReason? Reason { get; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeResponseStatusErrorKind : IEquatable { public RealtimeResponseStatusErrorKind(string value); public static RealtimeResponseStatusErrorKind Cancelled { get; } public static RealtimeResponseStatusErrorKind Completed { get; } public static RealtimeResponseStatusErrorKind Failed { get; } public static RealtimeResponseStatusErrorKind Incomplete { get; } public readonly bool Equals(RealtimeResponseStatusErrorKind other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeResponseStatusErrorKind left, RealtimeResponseStatusErrorKind right); public static implicit operator RealtimeResponseStatusErrorKind(string value); public static implicit operator RealtimeResponseStatusErrorKind?(string value); public static bool operator !=(RealtimeResponseStatusErrorKind left, RealtimeResponseStatusErrorKind right); public override readonly string ToString(); } [Experimental("OPENAI002")] public readonly partial struct RealtimeResponseStatusReason : IEquatable { public RealtimeResponseStatusReason(string value); public static RealtimeResponseStatusReason ClientCancelled { get; } public static RealtimeResponseStatusReason ContentFilter { get; } public static RealtimeResponseStatusReason MaxOutputTokens { get; } public static RealtimeResponseStatusReason TurnDetected { get; } public readonly bool Equals(RealtimeResponseStatusReason other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeResponseStatusReason left, RealtimeResponseStatusReason right); public static implicit operator RealtimeResponseStatusReason(string value); public static implicit operator RealtimeResponseStatusReason?(string value); public static bool operator !=(RealtimeResponseStatusReason left, RealtimeResponseStatusReason right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeResponseUsage : IJsonModel, IPersistableModel { public int? InputTokenCount { get; } public RealtimeResponseInputTokenUsageDetails InputTokenDetails { get; } public int? OutputTokenCount { get; } public RealtimeResponseOutputTokenUsageDetails OutputTokenDetails { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int? TotalTokenCount { get; } } [Experimental("OPENAI002")] public class RealtimeRetentionRatioTokenLimitDetails : IJsonModel, IPersistableModel { public int? MaxPostInstructionsTokenCount { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeSemanticVadEagernessLevel : IEquatable { public RealtimeSemanticVadEagernessLevel(string value); public static RealtimeSemanticVadEagernessLevel Auto { get; } public static RealtimeSemanticVadEagernessLevel High { get; } public static RealtimeSemanticVadEagernessLevel Low { get; } public static RealtimeSemanticVadEagernessLevel Medium { get; } public readonly bool Equals(RealtimeSemanticVadEagernessLevel other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeSemanticVadEagernessLevel left, RealtimeSemanticVadEagernessLevel right); public static implicit operator RealtimeSemanticVadEagernessLevel(string value); public static implicit operator RealtimeSemanticVadEagernessLevel?(string value); public static bool operator !=(RealtimeSemanticVadEagernessLevel left, RealtimeSemanticVadEagernessLevel right); public override readonly string ToString(); } [Experimental("OPENAI002")] public class RealtimeSemanticVadTurnDetection : RealtimeTurnDetection, IJsonModel, IPersistableModel { public RealtimeSemanticVadTurnDetection(); public bool? CreateResponseEnabled { get; set; } public RealtimeSemanticVadEagernessLevel? EagernessLevel { get; set; } public bool? InterruptResponseEnabled { get; set; } } [Experimental("OPENAI002")] public class RealtimeServerUpdate : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationCreated : RealtimeServerUpdate, IJsonModel, IPersistableModel { public RealtimeConversation Conversation { get; } public string EventId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemAdded : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeItem Item { get; } public string PreviousItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemCreated : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeItem Item { get; } public string PreviousItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemDeleted : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemDone : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeItem Item { get; } public string PreviousItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemInputAudioTranscriptionCompleted : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public string EventId { get; } public string ItemId { get; } public IList Logprobs { get; } public string Transcript { get; } public RealtimeTranscriptionUsage Usage { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemInputAudioTranscriptionDelta : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int? ContentIndex { get; } public string Delta { get; } public string EventId { get; } public string ItemId { get; } public IList Logprobs { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemInputAudioTranscriptionFailed : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public RealtimeError Error { get; } public string EventId { get; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemInputAudioTranscriptionSegment : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public float End { get; } public string EventId { get; } public string Id { get; } public string ItemId { get; } public string Speaker { get; } public float Start { get; } public string Text { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemRetrieved : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeItem Item { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateConversationItemTruncated : RealtimeServerUpdate, IJsonModel, IPersistableModel { public TimeSpan AudioEndTime { get; } public int ContentIndex { get; } public string EventId { get; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateError : RealtimeServerUpdate, IJsonModel, IPersistableModel { public RealtimeError Error { get; } public string EventId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateInputAudioBufferCleared : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateInputAudioBufferCommitted : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ItemId { get; } public string PreviousItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateInputAudioBufferDtmfEventReceived : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string Event { get; } public DateTimeOffset ReceivedAt { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateInputAudioBufferSpeechStarted : RealtimeServerUpdate, IJsonModel, IPersistableModel { public TimeSpan AudioStartTime { get; } public string EventId { get; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateInputAudioBufferSpeechStopped : RealtimeServerUpdate, IJsonModel, IPersistableModel { public TimeSpan AudioEndTime { get; } public string EventId { get; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateInputAudioBufferTimeoutTriggered : RealtimeServerUpdate, IJsonModel, IPersistableModel { public TimeSpan AudioEndTime { get; } public TimeSpan AudioStartTime { get; } public string EventId { get; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateMcpListToolsCompleted : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateMcpListToolsFailed : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateMcpListToolsInProgress : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ItemId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateOutputAudioBufferCleared : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateOutputAudioBufferStarted : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateOutputAudioBufferStopped : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateRateLimitsUpdated : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public IList RateLimitDetails { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseContentPartAdded : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public RealtimeResponseContentPart Part { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseContentPartDone : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public RealtimeResponseContentPart Part { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseCreated : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeResponse Response { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseDone : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeResponse Response { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseFunctionCallArgumentsDelta : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string CallId { get; } public BinaryData Delta { get; } public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseFunctionCallArgumentsDone : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string CallId { get; } public string EventId { get; } public BinaryData FunctionArguments { get; } public string FunctionName { get; } public string ItemId { get; } public int OutputIndex { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseMcpCallArgumentsDelta : RealtimeServerUpdate, IJsonModel, IPersistableModel { public BinaryData Delta { get; } public string EventId { get; } public string ItemId { get; } public string Obfuscation { get; } public int OutputIndex { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseMcpCallArgumentsDone : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public string ResponseId { get; } public BinaryData ToolArguments { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseMcpCallCompleted : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseMcpCallFailed : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseMcpCallInProgress : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseOutputAudioDelta : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public BinaryData Delta { get; } public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseOutputAudioDone : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseOutputAudioTranscriptDelta : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public string Delta { get; } public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseOutputAudioTranscriptDone : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public string ResponseId { get; } public string Transcript { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseOutputItemAdded : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeItem Item { get; } public int OutputIndex { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseOutputItemDone : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeItem Item { get; } public int OutputIndex { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseOutputTextDelta : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public string Delta { get; } public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public string ResponseId { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateResponseOutputTextDone : RealtimeServerUpdate, IJsonModel, IPersistableModel { public int ContentIndex { get; } public string EventId { get; } public string ItemId { get; } public int OutputIndex { get; } public string ResponseId { get; } public string Text { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateSessionCreated : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeSession Session { get; } } [Experimental("OPENAI002")] public class RealtimeServerUpdateSessionUpdated : RealtimeServerUpdate, IJsonModel, IPersistableModel { public string EventId { get; } public RealtimeSession Session { get; } } [Experimental("OPENAI002")] public class RealtimeServerVadTurnDetection : RealtimeTurnDetection, IJsonModel, IPersistableModel { public RealtimeServerVadTurnDetection(); public bool? CreateResponseEnabled { get; set; } public float? DetectionThreshold { get; set; } public TimeSpan? IdleTimeout { get; set; } public bool? InterruptResponseEnabled { get; set; } public TimeSpan? PrefixPadding { get; set; } public TimeSpan? SilenceDuration { get; set; } } [Experimental("OPENAI002")] public class RealtimeSession : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeSessionClient : IDisposable { protected internal RealtimeSessionClient(ApiKeyCredential credential, Uri endpoint, string model, string intent, RealtimeClient parentClient); public Net.WebSockets.WebSocket WebSocket { get; protected set; } public virtual void AddItem(RealtimeItem item, string previousItemId, CancellationToken cancellationToken = default); public virtual void AddItem(RealtimeItem item, CancellationToken cancellationToken = default); public virtual Task AddItemAsync(RealtimeItem item, string previousItemId, CancellationToken cancellationToken = default); public virtual Task AddItemAsync(RealtimeItem item, CancellationToken cancellationToken = default); public virtual void CancelResponse(CancellationToken cancellationToken = default); public virtual Task CancelResponseAsync(CancellationToken cancellationToken = default); public virtual void ClearInputAudio(CancellationToken cancellationToken = default); public virtual Task ClearInputAudioAsync(CancellationToken cancellationToken = default); public virtual void CommitPendingAudio(CancellationToken cancellationToken = default); public virtual Task CommitPendingAudioAsync(CancellationToken cancellationToken = default); public virtual void ConfigureConversationSession(RealtimeConversationSessionOptions sessionOptions, CancellationToken cancellationToken = default); public virtual Task ConfigureConversationSessionAsync(RealtimeConversationSessionOptions sessionOptions, CancellationToken cancellationToken = default); public virtual void ConfigureTranscriptionSession(RealtimeTranscriptionSessionOptions sessionOptions, CancellationToken cancellationToken = default); public virtual Task ConfigureTranscriptionSessionAsync(RealtimeTranscriptionSessionOptions sessionOptions, CancellationToken cancellationToken = default); protected internal virtual void Connect(string queryString = null, IDictionary headers = null, CancellationToken cancellationToken = default); protected internal virtual Task ConnectAsync(string queryString = null, IDictionary headers = null, CancellationToken cancellationToken = default); public virtual void DeleteItem(string itemId, CancellationToken cancellationToken = default); public virtual Task DeleteItemAsync(string itemId, CancellationToken cancellationToken = default); public void Dispose(); public virtual IEnumerable ReceiveUpdates(RequestOptions options); public virtual IEnumerable ReceiveUpdates(CancellationToken cancellationToken = default); public virtual IAsyncEnumerable ReceiveUpdatesAsync(RequestOptions options); public virtual IAsyncEnumerable ReceiveUpdatesAsync(CancellationToken cancellationToken = default); public virtual void RequestItemRetrieval(string itemId, CancellationToken cancellationToken = default); public virtual Task RequestItemRetrievalAsync(string itemId, CancellationToken cancellationToken = default); public virtual void SendCommand(RealtimeClientCommand command, CancellationToken cancellationToken = default); public virtual void SendCommand(BinaryData data, RequestOptions options); public virtual Task SendCommandAsync(RealtimeClientCommand command, CancellationToken cancellationToken = default); public virtual Task SendCommandAsync(BinaryData data, RequestOptions options); public virtual void SendInputAudio(BinaryData audio, CancellationToken cancellationToken = default); public virtual void SendInputAudio(Stream audio, CancellationToken cancellationToken = default); public virtual Task SendInputAudioAsync(BinaryData audio, CancellationToken cancellationToken = default); public virtual Task SendInputAudioAsync(Stream audio, CancellationToken cancellationToken = default); public virtual void StartResponse(RealtimeResponseOptions responseOptions, CancellationToken cancellationToken = default); public virtual void StartResponse(CancellationToken cancellationToken = default); public virtual Task StartResponseAsync(RealtimeResponseOptions responseOptions, CancellationToken cancellationToken = default); public virtual Task StartResponseAsync(CancellationToken cancellationToken = default); public virtual void TruncateItem(string itemId, int contentPartIndex, TimeSpan audioDuration, CancellationToken cancellationToken = default); public virtual Task TruncateItemAsync(string itemId, int contentPartIndex, TimeSpan audioDuration, CancellationToken cancellationToken = default); } [Experimental("OPENAI002")] public class RealtimeSessionClientOptions { public string ClientSecret { get; set; } public IDictionary Headers { get; } public string QueryString { get; set; } } [Experimental("OPENAI002")] public class RealtimeSessionOptions : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeTool : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeToolChoice : IJsonModel, IPersistableModel { public RealtimeToolChoice(RealtimeCustomToolChoice customToolChoice); public RealtimeToolChoice(RealtimeDefaultToolChoice defaultToolChoice); public RealtimeCustomToolChoice CustomToolChoice { get; } public RealtimeDefaultToolChoice? DefaultToolChoice { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static implicit operator RealtimeToolChoice(RealtimeCustomToolChoice customToolChoice); public static implicit operator RealtimeToolChoice(RealtimeDefaultToolChoice defaultToolChoice); } [Experimental("OPENAI002")] public class RealtimeTracing : IJsonModel, IPersistableModel { public RealtimeTracing(RealtimeCustomTracing customTracing); public RealtimeTracing(RealtimeDefaultTracing defaultTracing); public RealtimeCustomTracing CustomTracing { get; } public RealtimeDefaultTracing? DefaultTracing { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static implicit operator RealtimeTracing(RealtimeCustomTracing customTracing); public static implicit operator RealtimeTracing(RealtimeDefaultTracing defaultTracing); } [Experimental("OPENAI002")] public class RealtimeTranscriptionDurationUsage : RealtimeTranscriptionUsage, IJsonModel, IPersistableModel { public TimeSpan Duration { get; } } [Experimental("OPENAI002")] public class RealtimeTranscriptionInputTokenUsageDetails : IJsonModel, IPersistableModel { public int? AudioTokenCount { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int? TextTokenCount { get; } } [Experimental("OPENAI002")] public class RealtimeTranscriptionSession : RealtimeSession, IJsonModel, IPersistableModel { public RealtimeTranscriptionSessionAudioOptions AudioOptions { get; set; } public DateTimeOffset? ExpiresAt { get; } public string Id { get; } public IList IncludedProperties { get; } public string Object { get; } } [Experimental("OPENAI002")] public class RealtimeTranscriptionSessionAudioOptions : IJsonModel, IPersistableModel { public RealtimeTranscriptionSessionInputAudioOptions InputAudioOptions { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeTranscriptionSessionInputAudioOptions : IJsonModel, IPersistableModel { public RealtimeAudioFormat AudioFormat { get; set; } public RealtimeAudioTranscriptionOptions AudioTranscriptionOptions { get; set; } public RealtimeNoiseReduction NoiseReduction { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public RealtimeTurnDetection TurnDetection { get; set; } public void DisableTurnDetection(); } [Experimental("OPENAI002")] public class RealtimeTranscriptionSessionOptions : RealtimeSessionOptions, IJsonModel, IPersistableModel { public RealtimeTranscriptionSessionOptions(); public RealtimeTranscriptionSessionAudioOptions AudioOptions { get; set; } public IList IncludedProperties { get; } } [Experimental("OPENAI002")] public class RealtimeTranscriptionTokenUsage : RealtimeTranscriptionUsage, IJsonModel, IPersistableModel { public int InputTokenCount { get; } public RealtimeTranscriptionInputTokenUsageDetails InputTokenDetails { get; } public int OutputTokenCount { get; } public int TotalTokenCount { get; } } [Experimental("OPENAI002")] public class RealtimeTranscriptionUsage : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public class RealtimeTruncation : IJsonModel, IPersistableModel { public RealtimeTruncation(RealtimeCustomTruncation customTruncation); public RealtimeTruncation(RealtimeDefaultTruncation defaultTruncation); public RealtimeCustomTruncation CustomTruncation { get; } public RealtimeDefaultTruncation? DefaultTruncation { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static implicit operator RealtimeTruncation(RealtimeCustomTruncation customTruncation); public static implicit operator RealtimeTruncation(RealtimeDefaultTruncation defaultTruncation); } [Experimental("OPENAI002")] public class RealtimeTurnDetection : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI002")] public readonly partial struct RealtimeVoice : IEquatable { public RealtimeVoice(string value); public static RealtimeVoice Alloy { get; } public static RealtimeVoice Ash { get; } public static RealtimeVoice Ballad { get; } public static RealtimeVoice Cedar { get; } public static RealtimeVoice Coral { get; } public static RealtimeVoice Echo { get; } public static RealtimeVoice Marin { get; } public static RealtimeVoice Sage { get; } public static RealtimeVoice Shimmer { get; } public static RealtimeVoice Verse { get; } public readonly bool Equals(RealtimeVoice other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(RealtimeVoice left, RealtimeVoice right); public static implicit operator RealtimeVoice(string value); public static implicit operator RealtimeVoice?(string value); public static bool operator !=(RealtimeVoice left, RealtimeVoice right); public override readonly string ToString(); } } namespace OpenAI.Responses { [Experimental("OPENAI001")] public class ApplyPatchCallItem : ResponseItem, IJsonModel, IPersistableModel { public ApplyPatchCallItem(string callId, ApplyPatchOperation operation) : base(default); public string CallId { get; set; } public string CreatedBy { get; set; } public ApplyPatchOperation Operation { get; set; } public ApplyPatchCallStatus? Status { get; set; } } [Experimental("OPENAI001")] public class ApplyPatchCallOutputItem : ResponseItem, IJsonModel, IPersistableModel { public ApplyPatchCallOutputItem(string callId, ApplyPatchCallOutputStatus status) : base(default); public string CallId { get; set; } public string CreatedBy { get; set; } public string Output { get; set; } public ApplyPatchCallOutputStatus Status { get; set; } } [Experimental("OPENAI001")] public readonly partial struct ApplyPatchCallOutputStatus : IEquatable { public ApplyPatchCallOutputStatus(string value); public static ApplyPatchCallOutputStatus Completed { get; } public static ApplyPatchCallOutputStatus Failed { get; } public readonly bool Equals(ApplyPatchCallOutputStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ApplyPatchCallOutputStatus left, ApplyPatchCallOutputStatus right); public static implicit operator ApplyPatchCallOutputStatus(string value); public static implicit operator ApplyPatchCallOutputStatus?(string value); public static bool operator !=(ApplyPatchCallOutputStatus left, ApplyPatchCallOutputStatus right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct ApplyPatchCallStatus : IEquatable { public ApplyPatchCallStatus(string value); public static ApplyPatchCallStatus Completed { get; } public static ApplyPatchCallStatus InProgress { get; } public readonly bool Equals(ApplyPatchCallStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ApplyPatchCallStatus left, ApplyPatchCallStatus right); public static implicit operator ApplyPatchCallStatus(string value); public static implicit operator ApplyPatchCallStatus?(string value); public static bool operator !=(ApplyPatchCallStatus left, ApplyPatchCallStatus right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ApplyPatchCreateFileOperation : ApplyPatchOperation, IJsonModel, IPersistableModel { public ApplyPatchCreateFileOperation(string filePath, string diff); public string Diff { get; set; } public string FilePath { get; set; } } [Experimental("OPENAI001")] public class ApplyPatchDeleteFileOperation : ApplyPatchOperation, IJsonModel, IPersistableModel { public ApplyPatchDeleteFileOperation(string filePath); public string FilePath { get; set; } } [Experimental("OPENAI001")] public class ApplyPatchOperation : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class ApplyPatchTool : ResponseTool, IJsonModel, IPersistableModel { public ApplyPatchTool() : base(default); } [Experimental("OPENAI001")] public class ApplyPatchUpdateFileOperation : ApplyPatchOperation, IJsonModel, IPersistableModel { public ApplyPatchUpdateFileOperation(string filePath, string diff); public string Diff { get; set; } public string FilePath { get; set; } } [Experimental("OPENAI001")] public class AutomaticCodeInterpreterToolContainerConfiguration : CodeInterpreterToolContainerConfiguration, IJsonModel, IPersistableModel { public AutomaticCodeInterpreterToolContainerConfiguration(); public IList FileIds { get; } } [Experimental("OPENAI001")] public class CodeInterpreterCallImageOutput : CodeInterpreterCallOutput, IJsonModel, IPersistableModel { public CodeInterpreterCallImageOutput(Uri imageUri); public Uri ImageUri { get; set; } } [Experimental("OPENAI001")] public class CodeInterpreterCallLogsOutput : CodeInterpreterCallOutput, IJsonModel, IPersistableModel { public CodeInterpreterCallLogsOutput(string logs); public string Logs { get; set; } } [Experimental("OPENAI001")] public class CodeInterpreterCallOutput : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class CodeInterpreterCallResponseItem : ResponseItem, IJsonModel, IPersistableModel { public CodeInterpreterCallResponseItem(string code) : base(default); public string Code { get; set; } public string ContainerId { get; set; } public IList Outputs { get; } public CodeInterpreterCallStatus? Status { get; set; } } [Experimental("OPENAI001")] public enum CodeInterpreterCallStatus { InProgress = 0, Interpreting = 1, Completed = 2, Incomplete = 3, Failed = 4 } [Experimental("OPENAI001")] public class CodeInterpreterTool : ResponseTool, IJsonModel, IPersistableModel { public CodeInterpreterTool(CodeInterpreterToolContainer container) : base(default); public CodeInterpreterToolContainer Container { get; } } [Experimental("OPENAI001")] public class CodeInterpreterToolContainer : IJsonModel, IPersistableModel { public CodeInterpreterToolContainer(CodeInterpreterToolContainerConfiguration containerConfiguration); public CodeInterpreterToolContainer(string containerId); public CodeInterpreterToolContainerConfiguration ContainerConfiguration { get; } public string ContainerId { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class CodeInterpreterToolContainerConfiguration : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static AutomaticCodeInterpreterToolContainerConfiguration CreateAutomaticContainerConfiguration(IEnumerable fileIds = null); } [Experimental("OPENAICUA001")] public class ComputerCallAction : IJsonModel, IPersistableModel { public Drawing.Point? ClickCoordinates { get; } public ComputerCallActionMouseButton? ClickMouseButton { get; } public Drawing.Point? DoubleClickCoordinates { get; } public IList DragPath { get; } public IList KeyPressKeyCodes { get; } public ComputerCallActionKind Kind { get; } public Drawing.Point? MoveCoordinates { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public Drawing.Point? ScrollCoordinates { get; } public int? ScrollHorizontalOffset { get; } public int? ScrollVerticalOffset { get; } public string TypeText { get; } public static ComputerCallAction CreateClickAction(Drawing.Point clickCoordinates, ComputerCallActionMouseButton clickMouseButton); public static ComputerCallAction CreateDoubleClickAction(Drawing.Point doubleClickCoordinates, ComputerCallActionMouseButton doubleClickMouseButton); public static ComputerCallAction CreateDragAction(IList dragPath); public static ComputerCallAction CreateKeyPressAction(IList keyCodes); public static ComputerCallAction CreateMoveAction(Drawing.Point moveCoordinates); public static ComputerCallAction CreateScreenshotAction(); public static ComputerCallAction CreateScrollAction(Drawing.Point scrollCoordinates, int horizontalOffset, int verticalOffset); public static ComputerCallAction CreateTypeAction(string typeText); public static ComputerCallAction CreateWaitAction(); } [Experimental("OPENAICUA001")] public enum ComputerCallActionKind { Click = 0, DoubleClick = 1, Drag = 2, KeyPress = 3, Move = 4, Screenshot = 5, Scroll = 6, Type = 7, Wait = 8 } [Experimental("OPENAICUA001")] public enum ComputerCallActionMouseButton { Left = 0, Right = 1, Wheel = 2, Back = 3, Forward = 4 } [Experimental("OPENAICUA001")] public class ComputerCallOutput : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ComputerCallOutput CreateScreenshotOutput(BinaryData screenshotImageBytes, string screenshotImageBytesMediaType); public static ComputerCallOutput CreateScreenshotOutput(string screenshotImageFileId); public static ComputerCallOutput CreateScreenshotOutput(Uri screenshotImageUri); } [Experimental("OPENAICUA001")] public class ComputerCallOutputResponseItem : ResponseItem, IJsonModel, IPersistableModel { public ComputerCallOutputResponseItem(string callId, ComputerCallOutput output) : base(default); public IList AcknowledgedSafetyChecks { get; } public string CallId { get; set; } public ComputerCallOutput Output { get; set; } public ComputerCallOutputStatus? Status { get; set; } } [Experimental("OPENAICUA001")] public enum ComputerCallOutputStatus { InProgress = 0, Completed = 1, Incomplete = 2 } [Experimental("OPENAICUA001")] public class ComputerCallResponseItem : ResponseItem, IJsonModel, IPersistableModel { public ComputerCallResponseItem(string callId, ComputerCallAction action, IEnumerable pendingSafetyChecks) : base(default); public ComputerCallAction Action { get; set; } public string CallId { get; set; } public IList PendingSafetyChecks { get; } public ComputerCallStatus? Status { get; set; } } [Experimental("OPENAICUA001")] public class ComputerCallSafetyCheck : IJsonModel, IPersistableModel { public ComputerCallSafetyCheck(string id, string code, string message); public string Code { get; set; } public string Id { get; set; } public string Message { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAICUA001")] public enum ComputerCallStatus { InProgress = 0, Completed = 1, Incomplete = 2 } [Experimental("OPENAI001")] public class ComputerTool : ResponseTool, IJsonModel, IPersistableModel { public ComputerTool(ComputerToolEnvironment environment, int displayWidth, int displayHeight) : base(default); public int DisplayHeight { get; set; } public int DisplayWidth { get; set; } public ComputerToolEnvironment Environment { get; set; } } [Experimental("OPENAICUA001")] public readonly partial struct ComputerToolEnvironment : IEquatable { public ComputerToolEnvironment(string value); public static ComputerToolEnvironment Browser { get; } public static ComputerToolEnvironment Linux { get; } public static ComputerToolEnvironment Mac { get; } public static ComputerToolEnvironment Ubuntu { get; } public static ComputerToolEnvironment Windows { get; } public readonly bool Equals(ComputerToolEnvironment other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ComputerToolEnvironment left, ComputerToolEnvironment right); public static implicit operator ComputerToolEnvironment(string value); public static implicit operator ComputerToolEnvironment?(string value); public static bool operator !=(ComputerToolEnvironment left, ComputerToolEnvironment right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ContainerFileCitationMessageAnnotation : ResponseMessageAnnotation, IJsonModel, IPersistableModel { public ContainerFileCitationMessageAnnotation(string containerId, string fileId, int startIndex, int endIndex, string filename); public string ContainerId { get; set; } public int EndIndex { get; set; } public string FileId { get; set; } public string Filename { get; set; } public int StartIndex { get; set; } } [Experimental("OPENAI001")] public class CreateResponseOptions : IJsonModel, IPersistableModel { public CreateResponseOptions(); public CreateResponseOptions(string model, IEnumerable inputItems); public bool? BackgroundModeEnabled { get; set; } public ResponseConversationOptions ConversationOptions { get; set; } public string EndUserId { get; set; } public IList IncludedProperties { get; } public IList InputItems { get; } public string Instructions { get; set; } public int? MaxOutputTokenCount { get; set; } public int? MaxToolCallCount { get; set; } public IDictionary Metadata { get; } public string Model { get; set; } public bool? ParallelToolCallsEnabled { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string PreviousResponseId { get; set; } public ResponseReasoningOptions ReasoningOptions { get; set; } public string SafetyIdentifier { get; set; } public ResponseServiceTier? ServiceTier { get; set; } public bool? StoredOutputEnabled { get; set; } public bool? StreamingEnabled { get; set; } public float? Temperature { get; set; } public ResponseTextOptions TextOptions { get; set; } public ResponseToolChoice ToolChoice { get; set; } public IList Tools { get; } public int? TopLogProbabilityCount { get; set; } public float? TopP { get; set; } public ResponseTruncationMode? TruncationMode { get; set; } public static implicit operator BinaryContent(CreateResponseOptions createResponseOptions); } [Experimental("OPENAI001")] public class CustomMcpToolCallApprovalPolicy : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public McpToolFilter ToolsAlwaysRequiringApproval { get; set; } public McpToolFilter ToolsNeverRequiringApproval { get; set; } } [Experimental("OPENAI001")] public class FileCitationMessageAnnotation : ResponseMessageAnnotation, IJsonModel, IPersistableModel { public FileCitationMessageAnnotation(string fileId, int index, string filename); public string FileId { get; set; } public string Filename { get; set; } public int Index { get; set; } } [Experimental("OPENAI001")] public class FilePathMessageAnnotation : ResponseMessageAnnotation, IJsonModel, IPersistableModel { public FilePathMessageAnnotation(string fileId, int index); public string FileId { get; set; } public int Index { get; set; } } [Experimental("OPENAI001")] public class FileSearchCallResponseItem : ResponseItem, IJsonModel, IPersistableModel { public FileSearchCallResponseItem(IEnumerable queries) : base(default); public IList Queries { get; } public IList Results { get; set; } public FileSearchCallStatus? Status { get; set; } } [Experimental("OPENAI001")] public class FileSearchCallResult : IJsonModel, IPersistableModel { public IDictionary Attributes { get; } public string FileId { get; set; } public string Filename { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public float? Score { get; set; } public string Text { get; set; } } [Experimental("OPENAI001")] public enum FileSearchCallStatus { InProgress = 0, Searching = 1, Completed = 2, Incomplete = 3, Failed = 4 } [Experimental("OPENAI001")] public class FileSearchTool : ResponseTool, IJsonModel, IPersistableModel { public FileSearchTool(IEnumerable vectorStoreIds) : base(default); public BinaryData Filters { get; set; } public int? MaxResultCount { get; set; } public FileSearchToolRankingOptions RankingOptions { get; set; } public IList VectorStoreIds { get; } } [Experimental("OPENAI001")] public readonly partial struct FileSearchToolRanker : IEquatable { public FileSearchToolRanker(string value); public static FileSearchToolRanker Auto { get; } public static FileSearchToolRanker Default20241115 { get; } public readonly bool Equals(FileSearchToolRanker other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(FileSearchToolRanker left, FileSearchToolRanker right); public static implicit operator FileSearchToolRanker(string value); public static implicit operator FileSearchToolRanker?(string value); public static bool operator !=(FileSearchToolRanker left, FileSearchToolRanker right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class FileSearchToolRankingOptions : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public FileSearchToolRanker? Ranker { get; set; } public float? ScoreThreshold { get; set; } } [Experimental("OPENAI001")] public class FunctionCallOutputResponseItem : ResponseItem, IJsonModel, IPersistableModel { public FunctionCallOutputResponseItem(string callId, string functionOutput) : base(default); public string CallId { get; set; } public string FunctionOutput { get; set; } public FunctionCallOutputStatus? Status { get; set; } } [Experimental("OPENAI001")] public enum FunctionCallOutputStatus { InProgress = 0, Completed = 1, Incomplete = 2 } [Experimental("OPENAI001")] public class FunctionCallResponseItem : ResponseItem, IJsonModel, IPersistableModel { public FunctionCallResponseItem(string callId, string functionName, BinaryData functionArguments) : base(default); public string CallId { get; set; } public BinaryData FunctionArguments { get; set; } public string FunctionName { get; set; } public FunctionCallStatus? Status { get; set; } } [Experimental("OPENAI001")] public enum FunctionCallStatus { InProgress = 0, Completed = 1, Incomplete = 2 } [Experimental("OPENAI001")] public class FunctionTool : ResponseTool, IJsonModel, IPersistableModel { public FunctionTool(string functionName, BinaryData functionParameters, bool? strictModeEnabled) : base(default); public string FunctionDescription { get; set; } public string FunctionName { get; set; } public BinaryData FunctionParameters { get; set; } public bool? StrictModeEnabled { get; set; } } [Experimental("OPENAI001")] public class GetResponseOptions : IJsonModel, IPersistableModel { public GetResponseOptions(string responseId); public IList IncludedProperties { get; set; } public bool? IncludeObfuscation { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string ResponseId { get; } public int? StartingAfter { get; set; } public bool? StreamingEnabled { get; set; } } [Experimental("OPENAI001")] public readonly partial struct GlobalMcpToolCallApprovalPolicy : IEquatable { public GlobalMcpToolCallApprovalPolicy(string value); public static GlobalMcpToolCallApprovalPolicy AlwaysRequireApproval { get; } public static GlobalMcpToolCallApprovalPolicy NeverRequireApproval { get; } public readonly bool Equals(GlobalMcpToolCallApprovalPolicy other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(GlobalMcpToolCallApprovalPolicy left, GlobalMcpToolCallApprovalPolicy right); public static implicit operator GlobalMcpToolCallApprovalPolicy(string value); public static implicit operator GlobalMcpToolCallApprovalPolicy?(string value); public static bool operator !=(GlobalMcpToolCallApprovalPolicy left, GlobalMcpToolCallApprovalPolicy right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ImageGenerationCallResponseItem : ResponseItem, IJsonModel, IPersistableModel { public ImageGenerationCallResponseItem(BinaryData imageResultBytes) : base(default); public ImageGenerationToolAction? Action { get; set; } public ImageGenerationToolBackground? Background { get; set; } public BinaryData ImageResultBytes { get; set; } public ImageGenerationToolOutputFileFormat? OutputFileFormat { get; set; } public ImageGenerationToolQuality? Quality { get; set; } public string RevisedPrompt { get; set; } public ImageGenerationToolSize? Size { get; set; } public ImageGenerationCallStatus? Status { get; set; } } [Experimental("OPENAI001")] public enum ImageGenerationCallStatus { InProgress = 0, Completed = 1, Generating = 2, Failed = 3 } [Experimental("OPENAI001")] public class ImageGenerationTool : ResponseTool, IJsonModel, IPersistableModel { public ImageGenerationTool() : base(default); public ImageGenerationToolAction? Action { get; set; } public ImageGenerationToolBackground? Background { get; set; } public ImageGenerationToolInputFidelity? InputFidelity { get; set; } public ImageGenerationToolInputImageMask InputImageMask { get; set; } public string Model { get; set; } public ImageGenerationToolModerationLevel? ModerationLevel { get; set; } public int? OutputCompressionFactor { get; set; } public ImageGenerationToolOutputFileFormat? OutputFileFormat { get; set; } public int? PartialImageCount { get; set; } public ImageGenerationToolQuality? Quality { get; set; } public ImageGenerationToolSize? Size { get; set; } } [Experimental("OPENAI001")] public readonly partial struct ImageGenerationToolAction : IEquatable { public ImageGenerationToolAction(string value); public static ImageGenerationToolAction Auto { get; } public static ImageGenerationToolAction Edit { get; } public static ImageGenerationToolAction Generate { get; } public readonly bool Equals(ImageGenerationToolAction other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ImageGenerationToolAction left, ImageGenerationToolAction right); public static implicit operator ImageGenerationToolAction(string value); public static implicit operator ImageGenerationToolAction?(string value); public static bool operator !=(ImageGenerationToolAction left, ImageGenerationToolAction right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct ImageGenerationToolBackground : IEquatable { public ImageGenerationToolBackground(string value); public static ImageGenerationToolBackground Auto { get; } public static ImageGenerationToolBackground Opaque { get; } public static ImageGenerationToolBackground Transparent { get; } public readonly bool Equals(ImageGenerationToolBackground other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ImageGenerationToolBackground left, ImageGenerationToolBackground right); public static implicit operator ImageGenerationToolBackground(string value); public static implicit operator ImageGenerationToolBackground?(string value); public static bool operator !=(ImageGenerationToolBackground left, ImageGenerationToolBackground right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct ImageGenerationToolInputFidelity : IEquatable { public ImageGenerationToolInputFidelity(string value); public static ImageGenerationToolInputFidelity High { get; } public static ImageGenerationToolInputFidelity Low { get; } public readonly bool Equals(ImageGenerationToolInputFidelity other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ImageGenerationToolInputFidelity left, ImageGenerationToolInputFidelity right); public static implicit operator ImageGenerationToolInputFidelity(string value); public static implicit operator ImageGenerationToolInputFidelity?(string value); public static bool operator !=(ImageGenerationToolInputFidelity left, ImageGenerationToolInputFidelity right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ImageGenerationToolInputImageMask : IJsonModel, IPersistableModel { public ImageGenerationToolInputImageMask(BinaryData imageBytes); public ImageGenerationToolInputImageMask(string fileId); public ImageGenerationToolInputImageMask(Uri imageUri); public string FileId { get; set; } public string ImageUri { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public readonly partial struct ImageGenerationToolModerationLevel : IEquatable { public ImageGenerationToolModerationLevel(string value); public static ImageGenerationToolModerationLevel Auto { get; } public static ImageGenerationToolModerationLevel Low { get; } public readonly bool Equals(ImageGenerationToolModerationLevel other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ImageGenerationToolModerationLevel left, ImageGenerationToolModerationLevel right); public static implicit operator ImageGenerationToolModerationLevel(string value); public static implicit operator ImageGenerationToolModerationLevel?(string value); public static bool operator !=(ImageGenerationToolModerationLevel left, ImageGenerationToolModerationLevel right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct ImageGenerationToolOutputFileFormat : IEquatable { public ImageGenerationToolOutputFileFormat(string value); public static ImageGenerationToolOutputFileFormat Jpeg { get; } public static ImageGenerationToolOutputFileFormat Png { get; } public static ImageGenerationToolOutputFileFormat Webp { get; } public readonly bool Equals(ImageGenerationToolOutputFileFormat other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ImageGenerationToolOutputFileFormat left, ImageGenerationToolOutputFileFormat right); public static implicit operator ImageGenerationToolOutputFileFormat(string value); public static implicit operator ImageGenerationToolOutputFileFormat?(string value); public static bool operator !=(ImageGenerationToolOutputFileFormat left, ImageGenerationToolOutputFileFormat right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct ImageGenerationToolQuality : IEquatable { public ImageGenerationToolQuality(string value); public static ImageGenerationToolQuality Auto { get; } public static ImageGenerationToolQuality High { get; } public static ImageGenerationToolQuality Low { get; } public static ImageGenerationToolQuality Medium { get; } public readonly bool Equals(ImageGenerationToolQuality other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ImageGenerationToolQuality left, ImageGenerationToolQuality right); public static implicit operator ImageGenerationToolQuality(string value); public static implicit operator ImageGenerationToolQuality?(string value); public static bool operator !=(ImageGenerationToolQuality left, ImageGenerationToolQuality right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct ImageGenerationToolSize : IEquatable { public static readonly ImageGenerationToolSize W1024xH1024; public static readonly ImageGenerationToolSize W1024xH1536; public static readonly ImageGenerationToolSize W1536xH1024; public ImageGenerationToolSize(int width, int height); public static ImageGenerationToolSize Auto { get; } public readonly bool Equals(ImageGenerationToolSize other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ImageGenerationToolSize left, ImageGenerationToolSize right); public static bool operator !=(ImageGenerationToolSize left, ImageGenerationToolSize right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct IncludedResponseProperty : IEquatable { public IncludedResponseProperty(string value); public static IncludedResponseProperty CodeInterpreterCallOutputs { get; } public static IncludedResponseProperty ComputerCallOutputImageUri { get; } public static IncludedResponseProperty FileSearchCallResults { get; } public static IncludedResponseProperty MessageInputImageUri { get; } public static IncludedResponseProperty MessageOutputTextLogProbabilities { get; } public static IncludedResponseProperty ReasoningEncryptedContent { get; } public static IncludedResponseProperty WebSearchCallActionSources { get; } public static IncludedResponseProperty WebSearchCallResults { get; } public readonly bool Equals(IncludedResponseProperty other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(IncludedResponseProperty left, IncludedResponseProperty right); public static implicit operator IncludedResponseProperty(string value); public static implicit operator IncludedResponseProperty?(string value); public static bool operator !=(IncludedResponseProperty left, IncludedResponseProperty right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class McpTool : ResponseTool, IJsonModel, IPersistableModel { public McpTool(string serverLabel, McpToolConnectorId connectorId) : base(default); public McpTool(string serverLabel, Uri serverUri) : base(default); public McpToolFilter AllowedTools { get; set; } public string AuthorizationToken { get; set; } public McpToolConnectorId? ConnectorId { get; set; } public IDictionary Headers { get; set; } public string ServerDescription { get; set; } public string ServerLabel { get; set; } public Uri ServerUri { get; set; } public McpToolCallApprovalPolicy ToolCallApprovalPolicy { get; set; } } [Experimental("OPENAI001")] public class McpToolCallApprovalPolicy : IJsonModel, IPersistableModel { public McpToolCallApprovalPolicy(CustomMcpToolCallApprovalPolicy customPolicy); public McpToolCallApprovalPolicy(GlobalMcpToolCallApprovalPolicy globalPolicy); public CustomMcpToolCallApprovalPolicy CustomPolicy { get; } public GlobalMcpToolCallApprovalPolicy? GlobalPolicy { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static implicit operator McpToolCallApprovalPolicy(CustomMcpToolCallApprovalPolicy customPolicy); public static implicit operator McpToolCallApprovalPolicy(GlobalMcpToolCallApprovalPolicy globalPolicy); } [Experimental("OPENAI001")] public class McpToolCallApprovalRequestItem : ResponseItem, IJsonModel, IPersistableModel { public McpToolCallApprovalRequestItem(string id, string serverLabel, string toolName, BinaryData toolArguments) : base(default); public string ServerLabel { get; set; } public BinaryData ToolArguments { get; set; } public string ToolName { get; set; } } [Experimental("OPENAI001")] public class McpToolCallApprovalResponseItem : ResponseItem, IJsonModel, IPersistableModel { public McpToolCallApprovalResponseItem(string approvalRequestId, bool approved) : base(default); public string ApprovalRequestId { get; set; } public bool Approved { get; set; } public string Reason { get; set; } } [Experimental("OPENAI001")] public class McpToolCallItem : ResponseItem, IJsonModel, IPersistableModel { public McpToolCallItem(string serverLabel, string toolName, BinaryData toolArguments) : base(default); public BinaryData Error { get; set; } public string ServerLabel { get; set; } public BinaryData ToolArguments { get; set; } public string ToolName { get; set; } public string ToolOutput { get; set; } } [Experimental("OPENAI001")] public readonly partial struct McpToolConnectorId : IEquatable { public McpToolConnectorId(string value); public static McpToolConnectorId Dropbox { get; } public static McpToolConnectorId Gmail { get; } public static McpToolConnectorId GoogleCalendar { get; } public static McpToolConnectorId GoogleDrive { get; } public static McpToolConnectorId MicrosoftTeams { get; } public static McpToolConnectorId OutlookCalendar { get; } public static McpToolConnectorId OutlookEmail { get; } public static McpToolConnectorId SharePoint { get; } public readonly bool Equals(McpToolConnectorId other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(McpToolConnectorId left, McpToolConnectorId right); public static implicit operator McpToolConnectorId(string value); public static implicit operator McpToolConnectorId?(string value); public static bool operator !=(McpToolConnectorId left, McpToolConnectorId right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class McpToolDefinition : IJsonModel, IPersistableModel { public McpToolDefinition(string name, BinaryData inputSchema); public BinaryData Annotations { get; set; } public string Description { get; set; } public BinaryData InputSchema { get; set; } public string Name { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class McpToolDefinitionListItem : ResponseItem, IJsonModel, IPersistableModel { public McpToolDefinitionListItem(string serverLabel, IEnumerable toolDefinitions) : base(default); public BinaryData Error { get; set; } public string ServerLabel { get; set; } public IList ToolDefinitions { get; } } [Experimental("OPENAI001")] public class McpToolFilter : IJsonModel, IPersistableModel { public bool? IsReadOnly { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public IList ToolNames { get; } } [Experimental("OPENAI001")] public class MessageResponseItem : ResponseItem, IJsonModel, IPersistableModel { public IList Content { get; } public MessageRole Role { get; } public MessageStatus? Status { get; set; } } [Experimental("OPENAI001")] public enum MessageRole { Unknown = 0, Assistant = 1, Developer = 2, System = 3, User = 4 } [Experimental("OPENAI001")] public enum MessageStatus { InProgress = 0, Completed = 1, Incomplete = 2 } [Experimental("SCME0002")] public static class OpenAIResponsesHostBuilderExtensions { public static IClientBuilder AddKeyedResponsesClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName); public static IClientBuilder AddResponsesClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName); } [Experimental("OPENAI001")] public class ReasoningResponseItem : ResponseItem, IJsonModel, IPersistableModel { public ReasoningResponseItem(IEnumerable summaryParts) : base(default); public ReasoningResponseItem(string summaryText) : base(default); public string EncryptedContent { get; set; } public ReasoningStatus? Status { get; set; } public IList SummaryParts { get; } public string GetSummaryText(); } [Experimental("OPENAI001")] public enum ReasoningStatus { InProgress = 0, Completed = 1, Incomplete = 2 } [Experimental("OPENAI001")] public class ReasoningSummaryPart : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ReasoningSummaryTextPart CreateTextPart(string text); } [Experimental("OPENAI001")] public class ReasoningSummaryTextPart : ReasoningSummaryPart, IJsonModel, IPersistableModel { public ReasoningSummaryTextPart(string text); public string Text { get; set; } } [Experimental("OPENAI001")] public class ReferenceResponseItem : ResponseItem, IJsonModel, IPersistableModel { public ReferenceResponseItem(string id) : base(default); } [Experimental("OPENAI001")] public class ResponseContentPart : IJsonModel, IPersistableModel { public BinaryData InputFileBytes { get; } public string InputFileBytesMediaType { get; } public string InputFileId { get; } public string InputFilename { get; } public Uri InputFileUri { get; } public ResponseImageDetailLevel? InputImageDetailLevel { get; } public string InputImageFileId { get; } public string InputImageUri { get; } public ResponseContentPartKind Kind { get; } public IReadOnlyList OutputTextAnnotations { get; } public IReadOnlyList OutputTextTokenLogProbabilities { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Refusal { get; } public string Text { get; } public static ResponseContentPart CreateInputFilePart(BinaryData fileBytes, string fileBytesMediaType, string filename); public static ResponseContentPart CreateInputFilePart(string fileId); public static ResponseContentPart CreateInputFilePart(Uri fileUri); public static ResponseContentPart CreateInputImagePart(BinaryData imageBytes, ResponseImageDetailLevel? imageDetailLevel = null); public static ResponseContentPart CreateInputImagePart(string imageFileId, ResponseImageDetailLevel? imageDetailLevel = null); public static ResponseContentPart CreateInputImagePart(Uri imageUri, ResponseImageDetailLevel? imageDetailLevel = null); public static ResponseContentPart CreateInputTextPart(string text); public static ResponseContentPart CreateOutputTextPart(string text, IEnumerable annotations); public static ResponseContentPart CreateRefusalPart(string refusal); } [Experimental("OPENAI001")] public enum ResponseContentPartKind { Unknown = 0, InputText = 1, InputImage = 2, InputFile = 3, OutputText = 4, Refusal = 5 } [Experimental("OPENAI001")] public class ResponseConversationOptions : IJsonModel, IPersistableModel { public ResponseConversationOptions(string conversationId); public string ConversationId { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class ResponseDeletionResult : IJsonModel, IPersistableModel { public bool Deleted { get; set; } [EditorBrowsable(EditorBrowsableState.Never)] public string Object { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string ResponseId { get; set; } public static explicit operator ResponseDeletionResult(ClientResult result); } [Experimental("OPENAI001")] public class ResponseError : IJsonModel, IPersistableModel { public ResponseErrorCode Code { get; } public string Kind { get; } public string Message { get; } public string Param { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public readonly partial struct ResponseErrorCode : IEquatable { public ResponseErrorCode(string value); public static ResponseErrorCode EmptyImageFile { get; } public static ResponseErrorCode FailedToDownloadImage { get; } public static ResponseErrorCode ImageContentPolicyViolation { get; } public static ResponseErrorCode ImageFileNotFound { get; } public static ResponseErrorCode ImageFileTooLarge { get; } public static ResponseErrorCode ImageParseError { get; } public static ResponseErrorCode ImageTooLarge { get; } public static ResponseErrorCode ImageTooSmall { get; } public static ResponseErrorCode InvalidBase64Image { get; } public static ResponseErrorCode InvalidImage { get; } public static ResponseErrorCode InvalidImageFormat { get; } public static ResponseErrorCode InvalidImageMode { get; } public static ResponseErrorCode InvalidImageUrl { get; } public static ResponseErrorCode InvalidPrompt { get; } public static ResponseErrorCode RateLimitExceeded { get; } public static ResponseErrorCode ServerError { get; } public static ResponseErrorCode UnsupportedImageMediaType { get; } public static ResponseErrorCode VectorStoreTimeout { get; } public readonly bool Equals(ResponseErrorCode other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseErrorCode left, ResponseErrorCode right); public static implicit operator ResponseErrorCode(string value); public static implicit operator ResponseErrorCode?(string value); public static bool operator !=(ResponseErrorCode left, ResponseErrorCode right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct ResponseImageDetailLevel : IEquatable { public ResponseImageDetailLevel(string value); public static ResponseImageDetailLevel Auto { get; } public static ResponseImageDetailLevel High { get; } public static ResponseImageDetailLevel Low { get; } public readonly bool Equals(ResponseImageDetailLevel other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseImageDetailLevel left, ResponseImageDetailLevel right); public static implicit operator ResponseImageDetailLevel(string value); public static implicit operator ResponseImageDetailLevel?(string value); public static bool operator !=(ResponseImageDetailLevel left, ResponseImageDetailLevel right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ResponseIncompleteStatusDetails : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public ResponseIncompleteStatusReason? Reason { get; } } [Experimental("OPENAI001")] public readonly partial struct ResponseIncompleteStatusReason : IEquatable { public ResponseIncompleteStatusReason(string value); public static ResponseIncompleteStatusReason ContentFilter { get; } public static ResponseIncompleteStatusReason MaxOutputTokens { get; } public readonly bool Equals(ResponseIncompleteStatusReason other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseIncompleteStatusReason left, ResponseIncompleteStatusReason right); public static implicit operator ResponseIncompleteStatusReason(string value); public static implicit operator ResponseIncompleteStatusReason?(string value); public static bool operator !=(ResponseIncompleteStatusReason left, ResponseIncompleteStatusReason right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ResponseInputTokenUsageDetails : IJsonModel, IPersistableModel { public int CachedTokenCount { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class ResponseItem : IJsonModel, IPersistableModel { protected internal ResponseItem(ResponseItemKind kind); public string Id { get; set; } public ResponseItemKind Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ApplyPatchCallItem CreateApplyPatchCallItem(string callId, ApplyPatchOperation operation); public static ApplyPatchCallOutputItem CreateApplyPatchCallOutputItem(string callId, ApplyPatchCallOutputStatus status); public static MessageResponseItem CreateAssistantMessageItem(IEnumerable contentParts); public static MessageResponseItem CreateAssistantMessageItem(string outputTextContent, IEnumerable annotations = null); [Experimental("OPENAICUA001")] public static ComputerCallResponseItem CreateComputerCallItem(string callId, ComputerCallAction action, IEnumerable pendingSafetyChecks); [Experimental("OPENAICUA001")] public static ComputerCallOutputResponseItem CreateComputerCallOutputItem(string callId, ComputerCallOutput output); public static MessageResponseItem CreateDeveloperMessageItem(IEnumerable contentParts); public static MessageResponseItem CreateDeveloperMessageItem(string inputTextContent); public static FileSearchCallResponseItem CreateFileSearchCallItem(IEnumerable queries); public static FunctionCallResponseItem CreateFunctionCallItem(string callId, string functionName, BinaryData functionArguments); public static FunctionCallOutputResponseItem CreateFunctionCallOutputItem(string callId, string functionOutput); public static McpToolCallApprovalRequestItem CreateMcpApprovalRequestItem(string id, string serverLabel, string name, BinaryData arguments); public static McpToolCallApprovalResponseItem CreateMcpApprovalResponseItem(string approvalRequestId, bool approved); public static McpToolCallItem CreateMcpToolCallItem(string serverLabel, string name, BinaryData arguments); public static McpToolDefinitionListItem CreateMcpToolDefinitionListItem(string serverLabel, IEnumerable toolDefinitions); public static ReasoningResponseItem CreateReasoningItem(IEnumerable summaryParts); public static ReasoningResponseItem CreateReasoningItem(string summaryText); public static ReferenceResponseItem CreateReferenceItem(string id); public static MessageResponseItem CreateSystemMessageItem(IEnumerable contentParts); public static MessageResponseItem CreateSystemMessageItem(string inputTextContent); public static MessageResponseItem CreateUserMessageItem(IEnumerable contentParts); public static MessageResponseItem CreateUserMessageItem(string inputTextContent); public static WebSearchCallResponseItem CreateWebSearchCallItem(); } [Experimental("OPENAI001")] public class ResponseItemCollectionOptions : IJsonModel, IPersistableModel { public ResponseItemCollectionOptions(string responseId); public string AfterId { get; set; } public string BeforeId { get; set; } public ResponseItemCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } public string ResponseId { get; } } [Experimental("OPENAI001")] public readonly partial struct ResponseItemCollectionOrder : IEquatable { public ResponseItemCollectionOrder(string value); public static ResponseItemCollectionOrder Ascending { get; } public static ResponseItemCollectionOrder Descending { get; } public readonly bool Equals(ResponseItemCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseItemCollectionOrder left, ResponseItemCollectionOrder right); public static implicit operator ResponseItemCollectionOrder(string value); public static implicit operator ResponseItemCollectionOrder?(string value); public static bool operator !=(ResponseItemCollectionOrder left, ResponseItemCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ResponseItemCollectionPage : IJsonModel, IPersistableModel { public IList Data { get; } public string FirstId { get; set; } public bool HasMore { get; set; } public string LastId { get; set; } [EditorBrowsable(EditorBrowsableState.Never)] public string Object { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static explicit operator ResponseItemCollectionPage(ClientResult result); } [Experimental("OPENAI001")] public readonly partial struct ResponseItemKind : IEquatable { public ResponseItemKind(string value); public static ResponseItemKind ApplyPatchCall { get; } public static ResponseItemKind ApplyPatchCallOutput { get; } public static ResponseItemKind CodeInterpreterCall { get; } public static ResponseItemKind ComputerCall { get; } public static ResponseItemKind ComputerCallOutput { get; } public static ResponseItemKind FileSearchCall { get; } public static ResponseItemKind FunctionCall { get; } public static ResponseItemKind FunctionCallOutput { get; } public static ResponseItemKind ImageGenerationCall { get; } public static ResponseItemKind ItemReference { get; } public static ResponseItemKind McpApprovalRequest { get; } public static ResponseItemKind McpApprovalResponse { get; } public static ResponseItemKind McpCall { get; } public static ResponseItemKind McpListTools { get; } public static ResponseItemKind Message { get; } public static ResponseItemKind Reasoning { get; } public static ResponseItemKind WebSearchCall { get; } public readonly bool Equals(ResponseItemKind other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseItemKind left, ResponseItemKind right); public static implicit operator ResponseItemKind(string value); public static implicit operator ResponseItemKind?(string value); public static bool operator !=(ResponseItemKind left, ResponseItemKind right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ResponseMessageAnnotation : IJsonModel, IPersistableModel { public ResponseMessageAnnotationKind Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public enum ResponseMessageAnnotationKind { FileCitation = 0, UriCitation = 1, FilePath = 2, ContainerFileCitation = 3 } [Experimental("OPENAI001")] public class ResponseOutputTokenUsageDetails : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int ReasoningTokenCount { get; set; } } [Experimental("OPENAI001")] public readonly partial struct ResponseReasoningEffortLevel : IEquatable { public ResponseReasoningEffortLevel(string value); public static ResponseReasoningEffortLevel High { get; } public static ResponseReasoningEffortLevel Low { get; } public static ResponseReasoningEffortLevel Medium { get; } public static ResponseReasoningEffortLevel Minimal { get; } public static ResponseReasoningEffortLevel None { get; } public readonly bool Equals(ResponseReasoningEffortLevel other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseReasoningEffortLevel left, ResponseReasoningEffortLevel right); public static implicit operator ResponseReasoningEffortLevel(string value); public static implicit operator ResponseReasoningEffortLevel?(string value); public static bool operator !=(ResponseReasoningEffortLevel left, ResponseReasoningEffortLevel right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ResponseReasoningOptions : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public ResponseReasoningEffortLevel? ReasoningEffortLevel { get; set; } public ResponseReasoningSummaryVerbosity? ReasoningSummaryVerbosity { get; set; } } [Experimental("OPENAI001")] public readonly partial struct ResponseReasoningSummaryVerbosity : IEquatable { public ResponseReasoningSummaryVerbosity(string value); public static ResponseReasoningSummaryVerbosity Auto { get; } public static ResponseReasoningSummaryVerbosity Concise { get; } public static ResponseReasoningSummaryVerbosity Detailed { get; } public readonly bool Equals(ResponseReasoningSummaryVerbosity other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseReasoningSummaryVerbosity left, ResponseReasoningSummaryVerbosity right); public static implicit operator ResponseReasoningSummaryVerbosity(string value); public static implicit operator ResponseReasoningSummaryVerbosity?(string value); public static bool operator !=(ResponseReasoningSummaryVerbosity left, ResponseReasoningSummaryVerbosity right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class ResponseResult : IJsonModel, IPersistableModel { public bool? BackgroundModeEnabled { get; set; } public ResponseConversationOptions ConversationOptions { get; set; } public DateTimeOffset CreatedAt { get; set; } public string EndUserId { get; set; } public ResponseError Error { get; set; } public string Id { get; set; } public ResponseIncompleteStatusDetails IncompleteStatusDetails { get; set; } public IList Instructions { get; } public int? MaxOutputTokenCount { get; set; } public int? MaxToolCallCount { get; set; } public IDictionary Metadata { get; } public string Model { get; set; } [EditorBrowsable(EditorBrowsableState.Never)] public string Object { get; set; } public IList OutputItems { get; } public bool ParallelToolCallsEnabled { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string PreviousResponseId { get; set; } public ResponseReasoningOptions ReasoningOptions { get; set; } public string SafetyIdentifier { get; set; } public ResponseServiceTier? ServiceTier { get; set; } public ResponseStatus? Status { get; set; } public float? Temperature { get; set; } public ResponseTextOptions TextOptions { get; set; } public ResponseToolChoice ToolChoice { get; set; } public IList Tools { get; } public int? TopLogProbabilityCount { get; set; } public float? TopP { get; set; } public ResponseTruncationMode? TruncationMode { get; set; } public ResponseTokenUsage Usage { get; set; } public string GetOutputText(); public static explicit operator ResponseResult(ClientResult result); } [Experimental("OPENAI001")] public class ResponsesClient { protected ResponsesClient(); [Experimental("SCME0002")] public ResponsesClient(ResponsesClientSettings settings); public ResponsesClient(ApiKeyCredential credential, ResponsesClientOptions options); public ResponsesClient(ApiKeyCredential credential); public ResponsesClient(AuthenticationPolicy authenticationPolicy, ResponsesClientOptions options); public ResponsesClient(AuthenticationPolicy authenticationPolicy); protected internal ResponsesClient(ClientPipeline pipeline, ResponsesClientOptions options); public ResponsesClient(string apiKey); [Experimental("OPENAI001")] public virtual Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult CancelResponse(string responseId, RequestOptions options); public virtual ClientResult CancelResponse(string responseId, CancellationToken cancellationToken = default); public virtual Task CancelResponseAsync(string responseId, RequestOptions options); public virtual Task> CancelResponseAsync(string responseId, CancellationToken cancellationToken = default); public virtual ClientResult CompactResponse(BinaryContent content, string contentType, RequestOptions options = null); public virtual Task CompactResponseAsync(BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult CreateResponse(CreateResponseOptions options, CancellationToken cancellationToken = default); public virtual ClientResult CreateResponse(BinaryContent content, RequestOptions options = null); public virtual ClientResult CreateResponse(string model, IEnumerable inputItems, string previousResponseId = null, CancellationToken cancellationToken = default); public virtual ClientResult CreateResponse(string model, string userInputText, string previousResponseId = null, CancellationToken cancellationToken = default); public virtual Task> CreateResponseAsync(CreateResponseOptions options, CancellationToken cancellationToken = default); public virtual Task CreateResponseAsync(BinaryContent content, RequestOptions options = null); public virtual Task> CreateResponseAsync(string model, IEnumerable inputItems, string previousResponseId = null, CancellationToken cancellationToken = default); public virtual Task> CreateResponseAsync(string model, string userInputText, string previousResponseId = null, CancellationToken cancellationToken = default); public virtual CollectionResult CreateResponseStreaming(CreateResponseOptions options, CancellationToken cancellationToken = default); public virtual CollectionResult CreateResponseStreaming(string model, IEnumerable inputItems, string previousResponseId = null, CancellationToken cancellationToken = default); public virtual CollectionResult CreateResponseStreaming(string model, string userInputText, string previousResponseId = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult CreateResponseStreamingAsync(CreateResponseOptions options, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult CreateResponseStreamingAsync(string model, IEnumerable inputItems, string previousResponseId = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult CreateResponseStreamingAsync(string model, string userInputText, string previousResponseId = null, CancellationToken cancellationToken = default); public virtual ClientResult DeleteResponse(string responseId, RequestOptions options); public virtual ClientResult DeleteResponse(string responseId, CancellationToken cancellationToken = default); public virtual Task DeleteResponseAsync(string responseId, RequestOptions options); public virtual Task> DeleteResponseAsync(string responseId, CancellationToken cancellationToken = default); public virtual ClientResult GetInputTokenCount(BinaryContent content, string contentType, RequestOptions options = null); public virtual Task GetInputTokenCountAsync(BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult GetResponse(GetResponseOptions options, CancellationToken cancellationToken = default); public virtual ClientResult GetResponse(string responseId, IEnumerable include, bool? stream, int? startingAfter, bool? includeObfuscation, RequestOptions options); public virtual ClientResult GetResponse(string responseId, CancellationToken cancellationToken = default); public virtual Task> GetResponseAsync(GetResponseOptions options, CancellationToken cancellationToken = default); public virtual Task GetResponseAsync(string responseId, IEnumerable include, bool? stream, int? startingAfter, bool? includeObfuscation, RequestOptions options); public virtual Task> GetResponseAsync(string responseId, CancellationToken cancellationToken = default); public virtual ClientResult GetResponseInputItemCollectionPage(ResponseItemCollectionOptions options, CancellationToken cancellationToken = default); public virtual ClientResult GetResponseInputItemCollectionPage(string responseId, int? limit, string order, string after, string before, RequestOptions options); public virtual Task> GetResponseInputItemCollectionPageAsync(ResponseItemCollectionOptions options, CancellationToken cancellationToken = default); public virtual Task GetResponseInputItemCollectionPageAsync(string responseId, int? limit, string order, string after, string before, RequestOptions options); public virtual CollectionResult GetResponseInputItems(ResponseItemCollectionOptions options, CancellationToken cancellationToken = default); public virtual CollectionResult GetResponseInputItems(string responseId, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetResponseInputItemsAsync(ResponseItemCollectionOptions options, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetResponseInputItemsAsync(string responseId, CancellationToken cancellationToken = default); public virtual CollectionResult GetResponseStreaming(GetResponseOptions options, CancellationToken cancellationToken = default); public virtual CollectionResult GetResponseStreaming(string responseId, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetResponseStreamingAsync(GetResponseOptions options, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetResponseStreamingAsync(string responseId, CancellationToken cancellationToken = default); } [Experimental("OPENAI001")] public class ResponsesClientOptions : ClientPipelineOptions { public Uri Endpoint { get; set; } public string OrganizationId { get; set; } public string ProjectId { get; set; } public string UserAgentApplicationId { get; set; } } [Experimental("SCME0002")] public sealed class ResponsesClientSettings : ClientSettings { public ResponsesClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI001")] public readonly partial struct ResponseServiceTier : IEquatable { public ResponseServiceTier(string value); public static ResponseServiceTier Auto { get; } public static ResponseServiceTier Default { get; } public static ResponseServiceTier Flex { get; } public static ResponseServiceTier Scale { get; } public readonly bool Equals(ResponseServiceTier other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseServiceTier left, ResponseServiceTier right); public static implicit operator ResponseServiceTier(string value); public static implicit operator ResponseServiceTier?(string value); public static bool operator !=(ResponseServiceTier left, ResponseServiceTier right); public override readonly string ToString(); } [Experimental("OPENAI001")] public enum ResponseStatus { InProgress = 0, Completed = 1, Cancelled = 2, Queued = 3, Incomplete = 4, Failed = 5 } [Experimental("OPENAI001")] public class ResponseTextFormat : IJsonModel, IPersistableModel { public ResponseTextFormatKind Kind { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ResponseTextFormat CreateJsonObjectFormat(); public static ResponseTextFormat CreateJsonSchemaFormat(string jsonSchemaFormatName, BinaryData jsonSchema, string jsonSchemaFormatDescription = null, bool? jsonSchemaIsStrict = null); public static ResponseTextFormat CreateTextFormat(); } [Experimental("OPENAI001")] public enum ResponseTextFormatKind { Unknown = 0, Text = 1, JsonObject = 2, JsonSchema = 3 } [Experimental("OPENAI001")] public class ResponseTextOptions : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public ResponseTextFormat TextFormat { get; set; } } [Experimental("OPENAI001")] public class ResponseTokenLogProbabilityDetails : IJsonModel, IPersistableModel { public ResponseTokenLogProbabilityDetails(); public ResponseTokenLogProbabilityDetails(string token, float logProbability, ReadOnlyMemory? utf8Bytes, IEnumerable topLogProbabilities); public float LogProbability { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Token { get; set; } public IReadOnlyList TopLogProbabilities { get; } public ReadOnlyMemory? Utf8Bytes { get; set; } } [Experimental("OPENAI001")] public class ResponseTokenTopLogProbabilityDetails : IJsonModel, IPersistableModel { public ResponseTokenTopLogProbabilityDetails(); public ResponseTokenTopLogProbabilityDetails(string token, float logProbability, ReadOnlyMemory? utf8Bytes); public float LogProbability { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public string Token { get; set; } public ReadOnlyMemory? Utf8Bytes { get; set; } } [Experimental("OPENAI001")] public class ResponseTokenUsage : IJsonModel, IPersistableModel { public int InputTokenCount { get; set; } public ResponseInputTokenUsageDetails InputTokenDetails { get; set; } public int OutputTokenCount { get; set; } public ResponseOutputTokenUsageDetails OutputTokenDetails { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int TotalTokenCount { get; set; } } [Experimental("OPENAI001")] public class ResponseTool : IJsonModel, IPersistableModel { protected internal ResponseTool(ResponseToolKind kind); public ResponseToolKind Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static ApplyPatchTool CreateApplyPatchTool(); public static CodeInterpreterTool CreateCodeInterpreterTool(CodeInterpreterToolContainer container); [Experimental("OPENAICUA001")] public static ComputerTool CreateComputerTool(ComputerToolEnvironment environment, int displayWidth, int displayHeight); public static FileSearchTool CreateFileSearchTool(IEnumerable vectorStoreIds, int? maxResultCount = null, FileSearchToolRankingOptions rankingOptions = null, BinaryData filters = null); public static FunctionTool CreateFunctionTool(string functionName, BinaryData functionParameters, bool? strictModeEnabled, string functionDescription = null); public static ImageGenerationTool CreateImageGenerationTool(string model, ImageGenerationToolQuality? quality = null, ImageGenerationToolSize? size = null, ImageGenerationToolOutputFileFormat? outputFileFormat = null, int? outputCompressionFactor = null, ImageGenerationToolModerationLevel? moderationLevel = null, ImageGenerationToolBackground? background = null, ImageGenerationToolInputFidelity? inputFidelity = null, ImageGenerationToolInputImageMask inputImageMask = null, int? partialImageCount = null, ImageGenerationToolAction? action = null); public static McpTool CreateMcpTool(string serverLabel, McpToolConnectorId connectorId, string authorizationToken = null, string serverDescription = null, IDictionary headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null); public static McpTool CreateMcpTool(string serverLabel, Uri serverUri, string authorizationToken = null, string serverDescription = null, IDictionary headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null); public static WebSearchPreviewTool CreateWebSearchPreviewTool(WebSearchToolLocation userLocation = null, WebSearchToolContextSize? searchContextSize = null); public static WebSearchTool CreateWebSearchTool(WebSearchToolLocation userLocation = null, WebSearchToolContextSize? searchContextSize = null, WebSearchToolFilters filters = null); } [Experimental("OPENAI001")] public class ResponseToolChoice : IJsonModel, IPersistableModel { public string FunctionName { get; } public ResponseToolChoiceKind Kind { get; } public static ResponseToolChoice CreateAutoChoice(); [Experimental("OPENAICUA001")] public static ResponseToolChoice CreateComputerChoice(); public static ResponseToolChoice CreateFileSearchChoice(); public static ResponseToolChoice CreateFunctionChoice(string functionName); public static ResponseToolChoice CreateNoneChoice(); public static ResponseToolChoice CreateRequiredChoice(); public static ResponseToolChoice CreateWebSearchChoice(); } [Experimental("OPENAI001")] public enum ResponseToolChoiceKind { Unknown = 0, Auto = 1, None = 2, Required = 3, Function = 4, FileSearch = 5, WebSearch = 6, Computer = 7 } [Experimental("OPENAI001")] public readonly partial struct ResponseToolKind : IEquatable { public ResponseToolKind(string value); public static ResponseToolKind ApplyPatch { get; } public static ResponseToolKind CodeInterpreter { get; } public static ResponseToolKind ComputerUsePreview { get; } public static ResponseToolKind FileSearch { get; } public static ResponseToolKind Function { get; } public static ResponseToolKind ImageGeneration { get; } public static ResponseToolKind Mcp { get; } public static ResponseToolKind WebSearch { get; } public static ResponseToolKind WebSearchPreview { get; } public readonly bool Equals(ResponseToolKind other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseToolKind left, ResponseToolKind right); public static implicit operator ResponseToolKind(string value); public static implicit operator ResponseToolKind?(string value); public static bool operator !=(ResponseToolKind left, ResponseToolKind right); public override readonly string ToString(); } [Experimental("OPENAI001")] public readonly partial struct ResponseTruncationMode : IEquatable { public ResponseTruncationMode(string value); public static ResponseTruncationMode Auto { get; } public static ResponseTruncationMode Disabled { get; } public readonly bool Equals(ResponseTruncationMode other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(ResponseTruncationMode left, ResponseTruncationMode right); public static implicit operator ResponseTruncationMode(string value); public static implicit operator ResponseTruncationMode?(string value); public static bool operator !=(ResponseTruncationMode left, ResponseTruncationMode right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class StreamingResponseCodeInterpreterCallCodeDeltaUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseCodeInterpreterCallCodeDeltaUpdate() : base(default, default); public string Delta { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseCodeInterpreterCallCodeDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseCodeInterpreterCallCodeDoneUpdate() : base(default, default); public string Code { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseCodeInterpreterCallCompletedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseCodeInterpreterCallCompletedUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseCodeInterpreterCallInProgressUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseCodeInterpreterCallInProgressUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseCodeInterpreterCallInterpretingUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseCodeInterpreterCallInterpretingUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseCompletedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseCompletedUpdate() : base(default, default); public ResponseResult Response { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseContentPartAddedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseContentPartAddedUpdate() : base(default, default); public int ContentIndex { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } public ResponseContentPart Part { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseContentPartDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseContentPartDoneUpdate() : base(default, default); public int ContentIndex { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } public ResponseContentPart Part { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseCreatedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseCreatedUpdate() : base(default, default); public ResponseResult Response { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseErrorUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseErrorUpdate() : base(default, default); public string Code { get; set; } public string Message { get; set; } public string Param { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseFailedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseFailedUpdate() : base(default, default); public ResponseResult Response { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseFileSearchCallCompletedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseFileSearchCallCompletedUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseFileSearchCallInProgressUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseFileSearchCallInProgressUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseFileSearchCallSearchingUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseFileSearchCallSearchingUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseFunctionCallArgumentsDeltaUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseFunctionCallArgumentsDeltaUpdate() : base(default, default); public BinaryData Delta { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseFunctionCallArgumentsDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseFunctionCallArgumentsDoneUpdate() : base(default, default); public BinaryData FunctionArguments { get; set; } public string FunctionName { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseImageGenerationCallCompletedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseImageGenerationCallCompletedUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseImageGenerationCallGeneratingUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseImageGenerationCallGeneratingUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseImageGenerationCallInProgressUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseImageGenerationCallInProgressUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseImageGenerationCallPartialImageUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseImageGenerationCallPartialImageUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } public BinaryData PartialImageBytes { get; set; } public int PartialImageIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseIncompleteUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseIncompleteUpdate() : base(default, default); public ResponseResult Response { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseInProgressUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseInProgressUpdate() : base(default, default); public ResponseResult Response { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseMcpCallArgumentsDeltaUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseMcpCallArgumentsDeltaUpdate() : base(default, default); public BinaryData Delta { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseMcpCallArgumentsDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseMcpCallArgumentsDoneUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } public BinaryData ToolArguments { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseMcpCallCompletedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseMcpCallCompletedUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseMcpCallFailedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseMcpCallFailedUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseMcpCallInProgressUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseMcpCallInProgressUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseMcpListToolsCompletedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseMcpListToolsCompletedUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseMcpListToolsFailedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseMcpListToolsFailedUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseMcpListToolsInProgressUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseMcpListToolsInProgressUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseOutputItemAddedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseOutputItemAddedUpdate() : base(default, default); public ResponseItem Item { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseOutputItemDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseOutputItemDoneUpdate() : base(default, default); public ResponseItem Item { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseOutputTextAnnotationAddedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseOutputTextAnnotationAddedUpdate() : base(default, default); public ResponseMessageAnnotation Annotation { get; set; } public int AnnotationIndex { get; set; } public int ContentIndex { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseOutputTextDeltaUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseOutputTextDeltaUpdate() : base(default, default); public int ContentIndex { get; set; } public string Delta { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } public IList TokenLogProbabilities { get; } } [Experimental("OPENAI001")] public class StreamingResponseOutputTextDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseOutputTextDoneUpdate() : base(default, default); public int ContentIndex { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } public string Text { get; set; } public IList TokenLogProbabilities { get; } } [Experimental("OPENAI001")] public class StreamingResponseQueuedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseQueuedUpdate() : base(default, default); public ResponseResult Response { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseReasoningSummaryPartAddedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseReasoningSummaryPartAddedUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } public ReasoningSummaryPart Part { get; set; } public int SummaryIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseReasoningSummaryPartDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseReasoningSummaryPartDoneUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } public ReasoningSummaryPart Part { get; set; } public int SummaryIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseReasoningSummaryTextDeltaUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseReasoningSummaryTextDeltaUpdate() : base(default, default); public string Delta { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } public int SummaryIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseReasoningSummaryTextDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseReasoningSummaryTextDoneUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } public int SummaryIndex { get; set; } public string Text { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseReasoningTextDeltaUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseReasoningTextDeltaUpdate() : base(default, default); public int ContentIndex { get; set; } public string Delta { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseReasoningTextDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseReasoningTextDoneUpdate() : base(default, default); public int ContentIndex { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } public string Text { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseRefusalDeltaUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseRefusalDeltaUpdate() : base(default, default); public int ContentIndex { get; set; } public string Delta { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseRefusalDoneUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseRefusalDoneUpdate() : base(default, default); public int ContentIndex { get; set; } public string ItemId { get; set; } public int OutputIndex { get; set; } public string Refusal { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseUpdate : IJsonModel, IPersistableModel { protected internal StreamingResponseUpdate(StreamingResponseUpdateKind kind, int sequenceNumber); public StreamingResponseUpdateKind Kind { get; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public int SequenceNumber { get; set; } } [Experimental("OPENAI001")] public readonly partial struct StreamingResponseUpdateKind : IEquatable { public StreamingResponseUpdateKind(string value); public static StreamingResponseUpdateKind Error { get; } public static StreamingResponseUpdateKind ResponseAudioDelta { get; } public static StreamingResponseUpdateKind ResponseAudioDone { get; } public static StreamingResponseUpdateKind ResponseAudioTranscriptDelta { get; } public static StreamingResponseUpdateKind ResponseAudioTranscriptDone { get; } public static StreamingResponseUpdateKind ResponseCodeInterpreterCallCodeDelta { get; } public static StreamingResponseUpdateKind ResponseCodeInterpreterCallCodeDone { get; } public static StreamingResponseUpdateKind ResponseCodeInterpreterCallCompleted { get; } public static StreamingResponseUpdateKind ResponseCodeInterpreterCallInProgress { get; } public static StreamingResponseUpdateKind ResponseCodeInterpreterCallInterpreting { get; } public static StreamingResponseUpdateKind ResponseCompleted { get; } public static StreamingResponseUpdateKind ResponseContentPartAdded { get; } public static StreamingResponseUpdateKind ResponseContentPartDone { get; } public static StreamingResponseUpdateKind ResponseCreated { get; } public static StreamingResponseUpdateKind ResponseCustomToolCallInputDelta { get; } public static StreamingResponseUpdateKind ResponseCustomToolCallInputDone { get; } public static StreamingResponseUpdateKind ResponseFailed { get; } public static StreamingResponseUpdateKind ResponseFileSearchCallCompleted { get; } public static StreamingResponseUpdateKind ResponseFileSearchCallInProgress { get; } public static StreamingResponseUpdateKind ResponseFileSearchCallSearching { get; } public static StreamingResponseUpdateKind ResponseFunctionCallArgumentsDelta { get; } public static StreamingResponseUpdateKind ResponseFunctionCallArgumentsDone { get; } public static StreamingResponseUpdateKind ResponseImageGenerationCallCompleted { get; } public static StreamingResponseUpdateKind ResponseImageGenerationCallGenerating { get; } public static StreamingResponseUpdateKind ResponseImageGenerationCallInProgress { get; } public static StreamingResponseUpdateKind ResponseImageGenerationCallPartialImage { get; } public static StreamingResponseUpdateKind ResponseIncomplete { get; } public static StreamingResponseUpdateKind ResponseInProgress { get; } public static StreamingResponseUpdateKind ResponseMcpCallArgumentsDelta { get; } public static StreamingResponseUpdateKind ResponseMcpCallArgumentsDone { get; } public static StreamingResponseUpdateKind ResponseMcpCallCompleted { get; } public static StreamingResponseUpdateKind ResponseMcpCallFailed { get; } public static StreamingResponseUpdateKind ResponseMcpCallInProgress { get; } public static StreamingResponseUpdateKind ResponseMcpListToolsCompleted { get; } public static StreamingResponseUpdateKind ResponseMcpListToolsFailed { get; } public static StreamingResponseUpdateKind ResponseMcpListToolsInProgress { get; } public static StreamingResponseUpdateKind ResponseOutputItemAdded { get; } public static StreamingResponseUpdateKind ResponseOutputItemDone { get; } public static StreamingResponseUpdateKind ResponseOutputTextAnnotationAdded { get; } public static StreamingResponseUpdateKind ResponseOutputTextDelta { get; } public static StreamingResponseUpdateKind ResponseOutputTextDone { get; } public static StreamingResponseUpdateKind ResponseQueued { get; } public static StreamingResponseUpdateKind ResponseReasoningSummaryPartAdded { get; } public static StreamingResponseUpdateKind ResponseReasoningSummaryPartDone { get; } public static StreamingResponseUpdateKind ResponseReasoningSummaryTextDelta { get; } public static StreamingResponseUpdateKind ResponseReasoningSummaryTextDone { get; } public static StreamingResponseUpdateKind ResponseReasoningTextDelta { get; } public static StreamingResponseUpdateKind ResponseReasoningTextDone { get; } public static StreamingResponseUpdateKind ResponseRefusalDelta { get; } public static StreamingResponseUpdateKind ResponseRefusalDone { get; } public static StreamingResponseUpdateKind ResponseWebSearchCallCompleted { get; } public static StreamingResponseUpdateKind ResponseWebSearchCallInProgress { get; } public static StreamingResponseUpdateKind ResponseWebSearchCallSearching { get; } public readonly bool Equals(StreamingResponseUpdateKind other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(StreamingResponseUpdateKind left, StreamingResponseUpdateKind right); public static implicit operator StreamingResponseUpdateKind(string value); public static implicit operator StreamingResponseUpdateKind?(string value); public static bool operator !=(StreamingResponseUpdateKind left, StreamingResponseUpdateKind right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class StreamingResponseWebSearchCallCompletedUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseWebSearchCallCompletedUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseWebSearchCallInProgressUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseWebSearchCallInProgressUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class StreamingResponseWebSearchCallSearchingUpdate : StreamingResponseUpdate, IJsonModel, IPersistableModel { public StreamingResponseWebSearchCallSearchingUpdate() : base(default, default); public string ItemId { get; set; } public int OutputIndex { get; set; } } [Experimental("OPENAI001")] public class UriCitationMessageAnnotation : ResponseMessageAnnotation, IJsonModel, IPersistableModel { public UriCitationMessageAnnotation(Uri uri, int startIndex, int endIndex, string title); public int EndIndex { get; set; } public int StartIndex { get; set; } public string Title { get; set; } public Uri Uri { get; set; } } [Experimental("OPENAI001")] public class WebSearchAction : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class WebSearchActionSource : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class WebSearchActionUriSource : WebSearchActionSource, IJsonModel, IPersistableModel { public WebSearchActionUriSource(Uri uri); public Uri Uri { get; set; } } [Experimental("OPENAI001")] public class WebSearchCallResponseItem : ResponseItem, IJsonModel, IPersistableModel { public WebSearchCallResponseItem() : base(default); public WebSearchAction Action { get; set; } public WebSearchCallStatus? Status { get; set; } } [Experimental("OPENAI001")] public enum WebSearchCallStatus { InProgress = 0, Searching = 1, Completed = 2, Failed = 3 } [Experimental("OPENAI001")] public class WebSearchFindInPageAction : WebSearchAction, IJsonModel, IPersistableModel { public WebSearchFindInPageAction(Uri uri, string pattern); public string Pattern { get; set; } public Uri Uri { get; set; } } [Experimental("OPENAI001")] public class WebSearchOpenPageAction : WebSearchAction, IJsonModel, IPersistableModel { public WebSearchOpenPageAction(); public Uri Uri { get; set; } } [Experimental("OPENAI001")] public class WebSearchPreviewTool : ResponseTool, IJsonModel, IPersistableModel { public WebSearchPreviewTool() : base(default); public WebSearchToolContextSize? SearchContextSize { get; set; } public WebSearchToolLocation UserLocation { get; set; } } [Experimental("OPENAI001")] public class WebSearchSearchAction : WebSearchAction, IJsonModel, IPersistableModel { public WebSearchSearchAction(); public IList Queries { get; } [Obsolete("This property is obsolete. Use the Queries property instead.")] public string Query { get; set; } public IList Sources { get; } } [Experimental("OPENAI001")] public class WebSearchTool : ResponseTool, IJsonModel, IPersistableModel { public WebSearchTool() : base(default); public WebSearchToolFilters Filters { get; set; } public WebSearchToolContextSize? SearchContextSize { get; set; } public WebSearchToolLocation UserLocation { get; set; } } [Experimental("OPENAI001")] public class WebSearchToolApproximateLocation : WebSearchToolLocation, IJsonModel, IPersistableModel { public WebSearchToolApproximateLocation(); public string City { get; set; } public string Country { get; set; } public string Region { get; set; } public string Timezone { get; set; } } [Experimental("OPENAI001")] public readonly partial struct WebSearchToolContextSize : IEquatable { public WebSearchToolContextSize(string value); public static WebSearchToolContextSize High { get; } public static WebSearchToolContextSize Low { get; } public static WebSearchToolContextSize Medium { get; } public readonly bool Equals(WebSearchToolContextSize other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(WebSearchToolContextSize left, WebSearchToolContextSize right); public static implicit operator WebSearchToolContextSize(string value); public static implicit operator WebSearchToolContextSize?(string value); public static bool operator !=(WebSearchToolContextSize left, WebSearchToolContextSize right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class WebSearchToolFilters : IJsonModel, IPersistableModel { public IList AllowedDomains { get; set; } [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } } [Experimental("OPENAI001")] public class WebSearchToolLocation : IJsonModel, IPersistableModel { [Serialization.JsonIgnore] [EditorBrowsable(EditorBrowsableState.Never)] [Experimental("SCME0001")] public ref JsonPatch Patch { get; } public static WebSearchToolApproximateLocation CreateApproximateLocation(string country = null, string region = null, string city = null, string timezone = null); } } namespace OpenAI.Skills { [Experimental("OPENAI001")] public class SkillClient { protected SkillClient(); [Experimental("SCME0002")] public SkillClient(SkillClientSettings settings); public SkillClient(ApiKeyCredential credential, OpenAIClientOptions options); public SkillClient(ApiKeyCredential credential); public SkillClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public SkillClient(AuthenticationPolicy authenticationPolicy); protected internal SkillClient(ClientPipeline pipeline, OpenAIClientOptions options); public SkillClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult DeleteSkill(string skillId, RequestOptions options = null); public virtual Task DeleteSkillAsync(string skillId, RequestOptions options = null); public virtual ClientResult DeleteSkillVersion(string skillId, string version, RequestOptions options = null); public virtual Task DeleteSkillVersionAsync(string skillId, string version, RequestOptions options = null); public virtual ClientResult DownloadSkill(string skillId, RequestOptions options = null); public virtual Task DownloadSkillAsync(string skillId, RequestOptions options = null); public virtual ClientResult DownloadSkillVersion(string skillId, string version, RequestOptions options = null); public virtual Task DownloadSkillVersionAsync(string skillId, string version, RequestOptions options = null); public virtual ClientResult GetSkill(string skillId, RequestOptions options = null); public virtual Task GetSkillAsync(string skillId, RequestOptions options = null); public virtual ClientResult GetSkills(int? limit = null, string order = null, string after = null, RequestOptions options = null); public virtual Task GetSkillsAsync(int? limit = null, string order = null, string after = null, RequestOptions options = null); public virtual ClientResult GetSkillVersion(string skillId, string version, RequestOptions options = null); public virtual Task GetSkillVersionAsync(string skillId, string version, RequestOptions options = null); public virtual ClientResult GetSkillVersions(string skillId, int? limit = null, string order = null, string after = null, RequestOptions options = null); public virtual Task GetSkillVersionsAsync(string skillId, int? limit = null, string order = null, string after = null, RequestOptions options = null); public virtual ClientResult UpdateSkill(string skillId, BinaryContent content, string contentType, RequestOptions options = null); public virtual Task UpdateSkillAsync(string skillId, BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult UploadSkill(BinaryContent content, string contentType, RequestOptions options = null); public virtual Task UploadSkillAsync(BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult UploadSkillVersion(string skillId, BinaryContent content, string contentType, RequestOptions options = null); public virtual Task UploadSkillVersionAsync(string skillId, BinaryContent content, string contentType, RequestOptions options = null); } [Experimental("SCME0002")] public sealed class SkillClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } } namespace OpenAI.VectorStores { [Experimental("OPENAI001")] public abstract class FileChunkingStrategy : IJsonModel, IPersistableModel { public static FileChunkingStrategy Auto { get; } public static FileChunkingStrategy Unknown { get; } public static FileChunkingStrategy CreateStaticStrategy(int maxTokensPerChunk, int overlappingTokenCount); } [Experimental("OPENAI001")] public class FileFromStoreRemovalResult : IJsonModel, IPersistableModel { public string FileId { get; } public bool Removed { get; } public static explicit operator FileFromStoreRemovalResult(ClientResult result); } [Experimental("OPENAI001")] public class StaticFileChunkingStrategy : FileChunkingStrategy, IJsonModel, IPersistableModel { public StaticFileChunkingStrategy(int maxTokensPerChunk, int overlappingTokenCount); public int MaxTokensPerChunk { get; } public int OverlappingTokenCount { get; } } [Experimental("OPENAI001")] public class VectorStore : IJsonModel, IPersistableModel { public DateTimeOffset CreatedAt { get; } public VectorStoreExpirationPolicy ExpirationPolicy { get; } public DateTimeOffset? ExpiresAt { get; } public VectorStoreFileCounts FileCounts { get; } public string Id { get; } public DateTimeOffset? LastActiveAt { get; } public IReadOnlyDictionary Metadata { get; } public string Name { get; } public VectorStoreStatus Status { get; } public int UsageBytes { get; } public static explicit operator VectorStore(ClientResult result); } [Experimental("OPENAI001")] public class VectorStoreClient { protected VectorStoreClient(); [Experimental("SCME0002")] public VectorStoreClient(VectorStoreClientSettings settings); public VectorStoreClient(ApiKeyCredential credential, OpenAIClientOptions options); public VectorStoreClient(ApiKeyCredential credential); public VectorStoreClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public VectorStoreClient(AuthenticationPolicy authenticationPolicy); protected internal VectorStoreClient(ClientPipeline pipeline, OpenAIClientOptions options); public VectorStoreClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult AddFileBatchToVectorStore(string vectorStoreId, BinaryContent content, RequestOptions options = null); public virtual ClientResult AddFileBatchToVectorStore(string vectorStoreId, IEnumerable fileIds, CancellationToken cancellationToken = default); public virtual Task AddFileBatchToVectorStoreAsync(string vectorStoreId, BinaryContent content, RequestOptions options = null); public virtual Task> AddFileBatchToVectorStoreAsync(string vectorStoreId, IEnumerable fileIds, CancellationToken cancellationToken = default); public virtual ClientResult AddFileToVectorStore(string vectorStoreId, BinaryContent content, RequestOptions options = null); public virtual ClientResult AddFileToVectorStore(string vectorStoreId, string fileId, CancellationToken cancellationToken = default); public virtual Task AddFileToVectorStoreAsync(string vectorStoreId, BinaryContent content, RequestOptions options = null); public virtual Task> AddFileToVectorStoreAsync(string vectorStoreId, string fileId, CancellationToken cancellationToken = default); public virtual ClientResult CancelVectorStoreFileBatch(string vectorStoreId, string batchId, RequestOptions options); public virtual ClientResult CancelVectorStoreFileBatch(string vectorStoreId, string batchId, CancellationToken cancellationToken = default); public virtual Task CancelVectorStoreFileBatchAsync(string vectorStoreId, string batchId, RequestOptions options); public virtual Task> CancelVectorStoreFileBatchAsync(string vectorStoreId, string batchId, CancellationToken cancellationToken = default); public virtual ClientResult CreateVectorStore(VectorStoreCreationOptions options = null, CancellationToken cancellationToken = default); public virtual ClientResult CreateVectorStore(BinaryContent content, RequestOptions options = null); public virtual Task> CreateVectorStoreAsync(VectorStoreCreationOptions options = null, CancellationToken cancellationToken = default); public virtual Task CreateVectorStoreAsync(BinaryContent content, RequestOptions options = null); public virtual ClientResult DeleteVectorStore(string vectorStoreId, RequestOptions options); public virtual ClientResult DeleteVectorStore(string vectorStoreId, CancellationToken cancellationToken = default); public virtual Task DeleteVectorStoreAsync(string vectorStoreId, RequestOptions options); public virtual Task> DeleteVectorStoreAsync(string vectorStoreId, CancellationToken cancellationToken = default); public virtual ClientResult GetVectorStore(string vectorStoreId, RequestOptions options); public virtual ClientResult GetVectorStore(string vectorStoreId, CancellationToken cancellationToken = default); public virtual Task GetVectorStoreAsync(string vectorStoreId, RequestOptions options); public virtual Task> GetVectorStoreAsync(string vectorStoreId, CancellationToken cancellationToken = default); public virtual ClientResult GetVectorStoreFile(string vectorStoreId, string fileId, RequestOptions options); public virtual ClientResult GetVectorStoreFile(string vectorStoreId, string fileId, CancellationToken cancellationToken = default); public virtual Task GetVectorStoreFileAsync(string vectorStoreId, string fileId, RequestOptions options); public virtual Task> GetVectorStoreFileAsync(string vectorStoreId, string fileId, CancellationToken cancellationToken = default); public virtual ClientResult GetVectorStoreFileBatch(string vectorStoreId, string batchId, RequestOptions options); public virtual ClientResult GetVectorStoreFileBatch(string vectorStoreId, string batchId, CancellationToken cancellationToken = default); public virtual Task GetVectorStoreFileBatchAsync(string vectorStoreId, string batchId, RequestOptions options); public virtual Task> GetVectorStoreFileBatchAsync(string vectorStoreId, string batchId, CancellationToken cancellationToken = default); public virtual CollectionResult GetVectorStoreFiles(string vectorStoreId, VectorStoreFileCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetVectorStoreFiles(string vectorStoreId, int? limit, string order, string after, string before, string filter, RequestOptions options); public virtual AsyncCollectionResult GetVectorStoreFilesAsync(string vectorStoreId, VectorStoreFileCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetVectorStoreFilesAsync(string vectorStoreId, int? limit, string order, string after, string before, string filter, RequestOptions options); public virtual CollectionResult GetVectorStoreFilesInBatch(string vectorStoreId, string batchId, VectorStoreFileCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetVectorStoreFilesInBatch(string vectorStoreId, string batchId, int? limit, string order, string after, string before, string filter, RequestOptions options); public virtual AsyncCollectionResult GetVectorStoreFilesInBatchAsync(string vectorStoreId, string batchId, VectorStoreFileCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetVectorStoreFilesInBatchAsync(string vectorStoreId, string batchId, int? limit, string order, string after, string before, string filter, RequestOptions options); public virtual CollectionResult GetVectorStores(VectorStoreCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual CollectionResult GetVectorStores(int? limit, string order, string after, string before, RequestOptions options); public virtual AsyncCollectionResult GetVectorStoresAsync(VectorStoreCollectionOptions options = null, CancellationToken cancellationToken = default); public virtual AsyncCollectionResult GetVectorStoresAsync(int? limit, string order, string after, string before, RequestOptions options); public virtual ClientResult ModifyVectorStore(string vectorStoreId, VectorStoreModificationOptions options, CancellationToken cancellationToken = default); public virtual ClientResult ModifyVectorStore(string vectorStoreId, BinaryContent content, RequestOptions options = null); public virtual Task> ModifyVectorStoreAsync(string vectorStoreId, VectorStoreModificationOptions options, CancellationToken cancellationToken = default); public virtual Task ModifyVectorStoreAsync(string vectorStoreId, BinaryContent content, RequestOptions options = null); public virtual ClientResult RemoveFileFromVectorStore(string vectorStoreId, string fileId, RequestOptions options); public virtual ClientResult RemoveFileFromVectorStore(string vectorStoreId, string fileId, CancellationToken cancellationToken = default); public virtual Task RemoveFileFromVectorStoreAsync(string vectorStoreId, string fileId, RequestOptions options); public virtual Task> RemoveFileFromVectorStoreAsync(string vectorStoreId, string fileId, CancellationToken cancellationToken = default); public virtual ClientResult RetrieveVectorStoreFileContent(string vectorStoreId, string fileId, RequestOptions options); public virtual Task RetrieveVectorStoreFileContentAsync(string vectorStoreId, string fileId, RequestOptions options); public virtual ClientResult SearchVectorStore(string vectorStoreId, BinaryContent content, RequestOptions options = null); public virtual Task SearchVectorStoreAsync(string vectorStoreId, BinaryContent content, RequestOptions options = null); public virtual ClientResult UpdateVectorStoreFileAttributes(string vectorStoreId, string fileId, BinaryContent content, RequestOptions options = null); public virtual ClientResult UpdateVectorStoreFileAttributes(string vectorStoreId, string fileId, IDictionary attributes, CancellationToken cancellationToken = default); public virtual Task UpdateVectorStoreFileAttributesAsync(string vectorStoreId, string fileId, BinaryContent content, RequestOptions options = null); public virtual Task> UpdateVectorStoreFileAttributesAsync(string vectorStoreId, string fileId, IDictionary attributes, CancellationToken cancellationToken = default); } [Experimental("SCME0002")] public sealed class VectorStoreClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } [Experimental("OPENAI001")] public class VectorStoreCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public string BeforeId { get; set; } public VectorStoreCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } } [Experimental("OPENAI001")] public readonly partial struct VectorStoreCollectionOrder : IEquatable { public VectorStoreCollectionOrder(string value); public static VectorStoreCollectionOrder Ascending { get; } public static VectorStoreCollectionOrder Descending { get; } public readonly bool Equals(VectorStoreCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(VectorStoreCollectionOrder left, VectorStoreCollectionOrder right); public static implicit operator VectorStoreCollectionOrder(string value); public static implicit operator VectorStoreCollectionOrder?(string value); public static bool operator !=(VectorStoreCollectionOrder left, VectorStoreCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class VectorStoreCreationOptions : IJsonModel, IPersistableModel { public FileChunkingStrategy ChunkingStrategy { get; set; } public string Description { get; set; } public VectorStoreExpirationPolicy ExpirationPolicy { get; set; } public IList FileIds { get; } public IDictionary Metadata { get; } public string Name { get; set; } } [Experimental("OPENAI001")] public class VectorStoreDeletionResult : IJsonModel, IPersistableModel { public bool Deleted { get; } public string VectorStoreId { get; } public static explicit operator VectorStoreDeletionResult(ClientResult result); } [Experimental("OPENAI001")] public enum VectorStoreExpirationAnchor { Unknown = 0, LastActiveAt = 1 } [Experimental("OPENAI001")] public class VectorStoreExpirationPolicy : IJsonModel, IPersistableModel { public VectorStoreExpirationPolicy(VectorStoreExpirationAnchor anchor, int days); public VectorStoreExpirationAnchor Anchor { get; set; } public int Days { get; set; } } [Experimental("OPENAI001")] public class VectorStoreFile : IJsonModel, IPersistableModel { public IDictionary Attributes { get; } public FileChunkingStrategy ChunkingStrategy { get; } public DateTimeOffset CreatedAt { get; } public string FileId { get; } public VectorStoreFileError LastError { get; } public VectorStoreFileStatus Status { get; } public long? UsageInBytes { get; } public string VectorStoreId { get; } public static explicit operator VectorStoreFile(ClientResult result); } [Experimental("OPENAI001")] public class VectorStoreFileBatch : IJsonModel, IPersistableModel { public string BatchId { get; } public DateTimeOffset CreatedAt { get; } public VectorStoreFileCounts FileCounts { get; } public VectorStoreFileBatchStatus Status { get; } public string VectorStoreId { get; } public static explicit operator VectorStoreFileBatch(ClientResult result); } [Experimental("OPENAI001")] public readonly partial struct VectorStoreFileBatchStatus : IEquatable { public VectorStoreFileBatchStatus(string value); public static VectorStoreFileBatchStatus Cancelled { get; } public static VectorStoreFileBatchStatus Completed { get; } public static VectorStoreFileBatchStatus Failed { get; } public static VectorStoreFileBatchStatus InProgress { get; } public readonly bool Equals(VectorStoreFileBatchStatus other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(VectorStoreFileBatchStatus left, VectorStoreFileBatchStatus right); public static implicit operator VectorStoreFileBatchStatus(string value); public static implicit operator VectorStoreFileBatchStatus?(string value); public static bool operator !=(VectorStoreFileBatchStatus left, VectorStoreFileBatchStatus right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class VectorStoreFileCollectionOptions : IJsonModel, IPersistableModel { public string AfterId { get; set; } public string BeforeId { get; set; } public VectorStoreFileStatusFilter? Filter { get; set; } public VectorStoreFileCollectionOrder? Order { get; set; } public int? PageSizeLimit { get; set; } } [Experimental("OPENAI001")] public readonly partial struct VectorStoreFileCollectionOrder : IEquatable { public VectorStoreFileCollectionOrder(string value); public static VectorStoreFileCollectionOrder Ascending { get; } public static VectorStoreFileCollectionOrder Descending { get; } public readonly bool Equals(VectorStoreFileCollectionOrder other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(VectorStoreFileCollectionOrder left, VectorStoreFileCollectionOrder right); public static implicit operator VectorStoreFileCollectionOrder(string value); public static implicit operator VectorStoreFileCollectionOrder?(string value); public static bool operator !=(VectorStoreFileCollectionOrder left, VectorStoreFileCollectionOrder right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class VectorStoreFileCounts : IJsonModel, IPersistableModel { public int Cancelled { get; } public int Completed { get; } public int Failed { get; } public int InProgress { get; } public int Total { get; } } [Experimental("OPENAI001")] public class VectorStoreFileError : IJsonModel, IPersistableModel { public VectorStoreFileErrorCode Code { get; } public string Message { get; } } [Experimental("OPENAI001")] public readonly partial struct VectorStoreFileErrorCode : IEquatable { public VectorStoreFileErrorCode(string value); public static VectorStoreFileErrorCode InvalidFile { get; } public static VectorStoreFileErrorCode ServerError { get; } public static VectorStoreFileErrorCode UnsupportedFile { get; } public readonly bool Equals(VectorStoreFileErrorCode other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(VectorStoreFileErrorCode left, VectorStoreFileErrorCode right); public static implicit operator VectorStoreFileErrorCode(string value); public static implicit operator VectorStoreFileErrorCode?(string value); public static bool operator !=(VectorStoreFileErrorCode left, VectorStoreFileErrorCode right); public override readonly string ToString(); } [Experimental("OPENAI001")] public enum VectorStoreFileStatus { Unknown = 0, InProgress = 1, Completed = 2, Cancelled = 3, Failed = 4 } [Experimental("OPENAI001")] public readonly partial struct VectorStoreFileStatusFilter : IEquatable { public VectorStoreFileStatusFilter(string value); public static VectorStoreFileStatusFilter Cancelled { get; } public static VectorStoreFileStatusFilter Completed { get; } public static VectorStoreFileStatusFilter Failed { get; } public static VectorStoreFileStatusFilter InProgress { get; } public readonly bool Equals(VectorStoreFileStatusFilter other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); public static bool operator ==(VectorStoreFileStatusFilter left, VectorStoreFileStatusFilter right); public static implicit operator VectorStoreFileStatusFilter(string value); public static implicit operator VectorStoreFileStatusFilter?(string value); public static bool operator !=(VectorStoreFileStatusFilter left, VectorStoreFileStatusFilter right); public override readonly string ToString(); } [Experimental("OPENAI001")] public class VectorStoreModificationOptions : IJsonModel, IPersistableModel { public VectorStoreExpirationPolicy ExpirationPolicy { get; set; } public IDictionary Metadata { get; } public string Name { get; set; } } [Experimental("OPENAI001")] public enum VectorStoreStatus { Unknown = 0, InProgress = 1, Completed = 2, Expired = 3 } } namespace OpenAI.Videos { [Experimental("OPENAI001")] public class VideoClient { protected VideoClient(); [Experimental("SCME0002")] public VideoClient(VideoClientSettings settings); public VideoClient(ApiKeyCredential credential, OpenAIClientOptions options); public VideoClient(ApiKeyCredential credential); public VideoClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options); public VideoClient(AuthenticationPolicy authenticationPolicy); protected internal VideoClient(ClientPipeline pipeline, OpenAIClientOptions options); public VideoClient(string apiKey); [Experimental("OPENAI001")] public Uri Endpoint { get; } public ClientPipeline Pipeline { get; } public virtual ClientResult CreateVideo(BinaryContent content, string contentType, RequestOptions options = null); public virtual Task CreateVideoAsync(BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult CreateVideoRemix(string videoId, BinaryContent content, string contentType, RequestOptions options = null); public virtual Task CreateVideoRemixAsync(string videoId, BinaryContent content, string contentType, RequestOptions options = null); public virtual ClientResult DeleteVideo(string videoId, RequestOptions options = null); public virtual Task DeleteVideoAsync(string videoId, RequestOptions options = null); public virtual ClientResult DownloadVideo(string videoId, string variant = null, RequestOptions options = null); public virtual Task DownloadVideoAsync(string videoId, string variant = null, RequestOptions options = null); public virtual ClientResult GetVideo(string videoId, RequestOptions options = null); public virtual Task GetVideoAsync(string videoId, RequestOptions options = null); public virtual CollectionResult GetVideos(int? limit = null, string order = null, string after = null, RequestOptions options = null); public virtual AsyncCollectionResult GetVideosAsync(int? limit = null, string order = null, string after = null, RequestOptions options = null); } [Experimental("SCME0002")] public sealed class VideoClientSettings : ClientSettings { public OpenAIClientOptions Options { get; set; } protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section); } }