openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/customize-openairesponsescontext-attribute

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

api/OpenAI.net10.0.cs

5530lines · modecode

1//------------------------------------------------------------------------------
2// <auto-generated>
3// This file is auto-generated by scripts/Export-Api.ps1 and must not be
4// modified manually. To update it, make the necessary source-code changes
5// and re-run scripts/Export-Api.ps1 to regenerate it.
6// </auto-generated>
7//------------------------------------------------------------------------------
8namespace OpenAI {
9 public class OpenAIClient {
10 protected OpenAIClient();
11 public OpenAIClient(ApiKeyCredential credential, OpenAIClientOptions options);
12 public OpenAIClient(ApiKeyCredential credential);
13 [Experimental("OPENAI001")]
14 public OpenAIClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
15 [Experimental("OPENAI001")]
16 public OpenAIClient(AuthenticationPolicy authenticationPolicy);
17 protected internal OpenAIClient(ClientPipeline pipeline, OpenAIClientOptions options);
18 public OpenAIClient(string apiKey);
19 [Experimental("OPENAI001")]
20 public Uri Endpoint { get; }
21 public ClientPipeline Pipeline { get; }
22 [Experimental("OPENAI001")]
23 public virtual AssistantClient GetAssistantClient();
24 public virtual AudioClient GetAudioClient(string model);
25 [Experimental("OPENAI001")]
26 public virtual BatchClient GetBatchClient();
27 public virtual ChatClient GetChatClient(string model);
28 [Experimental("OPENAI001")]
29 public virtual ContainerClient GetContainerClient();
30 [Experimental("OPENAI001")]
31 public virtual ConversationClient GetConversationClient();
32 public virtual EmbeddingClient GetEmbeddingClient(string model);
33 [Experimental("OPENAI001")]
34 public virtual EvaluationClient GetEvaluationClient();
35 [Experimental("OPENAI001")]
36 public virtual FineTuningClient GetFineTuningClient();
37 [Experimental("OPENAI001")]
38 public virtual GraderClient GetGraderClient();
39 public virtual ImageClient GetImageClient(string model);
40 public virtual ModerationClient GetModerationClient(string model);
41 public virtual OpenAIFileClient GetOpenAIFileClient();
42 public virtual OpenAIModelClient GetOpenAIModelClient();
43 [Experimental("OPENAI002")]
44 public virtual RealtimeClient GetRealtimeClient();
45 [Experimental("OPENAI001")]
46 public virtual SkillClient GetSkillClient();
47 [Experimental("OPENAI001")]
48 public virtual VectorStoreClient GetVectorStoreClient();
49 [Experimental("OPENAI001")]
50 public virtual VideoClient GetVideoClient();
51 }
52 public class OpenAIClientOptions : ClientPipelineOptions {
53 public Uri Endpoint { get; set; }
54 public string OrganizationId { get; set; }
55 public string ProjectId { get; set; }
56 public string UserAgentApplicationId { get; set; }
57 }
58 [Experimental("OPENAI001")]
59 public class OpenAIContext : ModelReaderWriterContext {
60 public static OpenAIContext Default { get; }
61 protected override bool TryGetTypeBuilderCore(Type type, out ModelReaderWriterTypeBuilder builder);
62 }
63 [Experimental("SCME0002")]
64 public static class OpenAIHostBuilderExtensions {
65 public static IClientBuilder AddAssistantClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
66 public static IClientBuilder AddAudioClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
67 public static IClientBuilder AddBatchClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
68 public static IClientBuilder AddChatClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
69 public static IClientBuilder AddContainerClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
70 public static IClientBuilder AddConversationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
71 public static IClientBuilder AddEmbeddingClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
72 public static IClientBuilder AddEvaluationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
73 public static IClientBuilder AddFineTuningClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
74 public static IClientBuilder AddGraderClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
75 public static IClientBuilder AddImageClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
76 public static IClientBuilder AddKeyedAssistantClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
77 public static IClientBuilder AddKeyedAudioClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
78 public static IClientBuilder AddKeyedBatchClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
79 public static IClientBuilder AddKeyedChatClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
80 public static IClientBuilder AddKeyedContainerClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
81 public static IClientBuilder AddKeyedConversationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
82 public static IClientBuilder AddKeyedEmbeddingClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
83 public static IClientBuilder AddKeyedEvaluationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
84 public static IClientBuilder AddKeyedFineTuningClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
85 public static IClientBuilder AddKeyedGraderClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
86 public static IClientBuilder AddKeyedImageClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
87 public static IClientBuilder AddKeyedModerationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
88 public static IClientBuilder AddKeyedOpenAIFileClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
89 public static IClientBuilder AddKeyedOpenAIModelClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
90 public static IClientBuilder AddKeyedRealtimeClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
91 public static IClientBuilder AddKeyedSkillClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
92 public static IClientBuilder AddKeyedVectorStoreClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
93 public static IClientBuilder AddKeyedVideoClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string serviceKey, string sectionName);
94 public static IClientBuilder AddModerationClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
95 public static IClientBuilder AddOpenAIFileClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
96 public static IClientBuilder AddOpenAIModelClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
97 public static IClientBuilder AddRealtimeClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
98 public static IClientBuilder AddSkillClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
99 public static IClientBuilder AddVectorStoreClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
100 public static IClientBuilder AddVideoClient(this Microsoft.Extensions.Hosting.IHostApplicationBuilder builder, string sectionName);
101 }
102}
103namespace OpenAI.Assistants {
104 [Experimental("OPENAI001")]
105 public class Assistant : IJsonModel<Assistant>, IPersistableModel<Assistant> {
106 public DateTimeOffset CreatedAt { get; }
107 public string Description { get; }
108 public string Id { get; }
109 public string Instructions { get; }
110 public IReadOnlyDictionary<string, string> Metadata { get; }
111 public string Model { get; }
112 public string Name { get; }
113 public float? NucleusSamplingFactor { get; }
114 public AssistantResponseFormat ResponseFormat { get; }
115 public float? Temperature { get; }
116 public ToolResources ToolResources { get; }
117 public IReadOnlyList<ToolDefinition> Tools { get; }
118 public static explicit operator Assistant(ClientResult result);
119 }
120 [Experimental("OPENAI001")]
121 public class AssistantClient {
122 protected AssistantClient();
123 [Experimental("SCME0002")]
124 public AssistantClient(AssistantClientSettings settings);
125 public AssistantClient(ApiKeyCredential credential, OpenAIClientOptions options);
126 public AssistantClient(ApiKeyCredential credential);
127 public AssistantClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
128 public AssistantClient(AuthenticationPolicy authenticationPolicy);
129 protected internal AssistantClient(ClientPipeline pipeline, OpenAIClientOptions options);
130 public AssistantClient(string apiKey);
131 [Experimental("OPENAI001")]
132 public Uri Endpoint { get; }
133 public ClientPipeline Pipeline { get; }
134 public virtual ClientResult CancelRun(string threadId, string runId, RequestOptions options);
135 public virtual ClientResult<ThreadRun> CancelRun(string threadId, string runId, CancellationToken cancellationToken = default);
136 public virtual Task<ClientResult> CancelRunAsync(string threadId, string runId, RequestOptions options);
137 public virtual Task<ClientResult<ThreadRun>> CancelRunAsync(string threadId, string runId, CancellationToken cancellationToken = default);
138 public virtual ClientResult CreateAssistant(BinaryContent content, RequestOptions options = null);
139 public virtual ClientResult<Assistant> CreateAssistant(string model, AssistantCreationOptions options = null, CancellationToken cancellationToken = default);
140 public virtual Task<ClientResult> CreateAssistantAsync(BinaryContent content, RequestOptions options = null);
141 public virtual Task<ClientResult<Assistant>> CreateAssistantAsync(string model, AssistantCreationOptions options = null, CancellationToken cancellationToken = default);
142 public virtual ClientResult<ThreadMessage> CreateMessage(string threadId, MessageRole role, IEnumerable<MessageContent> content, MessageCreationOptions options = null, CancellationToken cancellationToken = default);
143 public virtual ClientResult CreateMessage(string threadId, BinaryContent content, RequestOptions options = null);
144 public virtual Task<ClientResult<ThreadMessage>> CreateMessageAsync(string threadId, MessageRole role, IEnumerable<MessageContent> content, MessageCreationOptions options = null, CancellationToken cancellationToken = default);
145 public virtual Task<ClientResult> CreateMessageAsync(string threadId, BinaryContent content, RequestOptions options = null);
146 public virtual ClientResult CreateRun(string threadId, BinaryContent content, RequestOptions options = null);
147 public virtual ClientResult<ThreadRun> CreateRun(string threadId, string assistantId, RunCreationOptions options = null, CancellationToken cancellationToken = default);
148 public virtual Task<ClientResult> CreateRunAsync(string threadId, BinaryContent content, RequestOptions options = null);
149 public virtual Task<ClientResult<ThreadRun>> CreateRunAsync(string threadId, string assistantId, RunCreationOptions options = null, CancellationToken cancellationToken = default);
150 public virtual CollectionResult<StreamingUpdate> CreateRunStreaming(string threadId, string assistantId, RunCreationOptions options = null, CancellationToken cancellationToken = default);
151 public virtual AsyncCollectionResult<StreamingUpdate> CreateRunStreamingAsync(string threadId, string assistantId, RunCreationOptions options = null, CancellationToken cancellationToken = default);
152 public virtual ClientResult<AssistantThread> CreateThread(ThreadCreationOptions options = null, CancellationToken cancellationToken = default);
153 public virtual ClientResult CreateThread(BinaryContent content, RequestOptions options = null);
154 public virtual ClientResult CreateThreadAndRun(BinaryContent content, RequestOptions options = null);
155 public virtual ClientResult<ThreadRun> CreateThreadAndRun(string assistantId, ThreadCreationOptions threadOptions = null, RunCreationOptions runOptions = null, CancellationToken cancellationToken = default);
156 public virtual Task<ClientResult> CreateThreadAndRunAsync(BinaryContent content, RequestOptions options = null);
157 public virtual Task<ClientResult<ThreadRun>> CreateThreadAndRunAsync(string assistantId, ThreadCreationOptions threadOptions = null, RunCreationOptions runOptions = null, CancellationToken cancellationToken = default);
158 public virtual CollectionResult<StreamingUpdate> CreateThreadAndRunStreaming(string assistantId, ThreadCreationOptions threadOptions = null, RunCreationOptions runOptions = null, CancellationToken cancellationToken = default);
159 public virtual AsyncCollectionResult<StreamingUpdate> CreateThreadAndRunStreamingAsync(string assistantId, ThreadCreationOptions threadOptions = null, RunCreationOptions runOptions = null, CancellationToken cancellationToken = default);
160 public virtual Task<ClientResult<AssistantThread>> CreateThreadAsync(ThreadCreationOptions options = null, CancellationToken cancellationToken = default);
161 public virtual Task<ClientResult> CreateThreadAsync(BinaryContent content, RequestOptions options = null);
162 public virtual ClientResult DeleteAssistant(string assistantId, RequestOptions options);
163 public virtual ClientResult<AssistantDeletionResult> DeleteAssistant(string assistantId, CancellationToken cancellationToken = default);
164 public virtual Task<ClientResult> DeleteAssistantAsync(string assistantId, RequestOptions options);
165 public virtual Task<ClientResult<AssistantDeletionResult>> DeleteAssistantAsync(string assistantId, CancellationToken cancellationToken = default);
166 public virtual ClientResult DeleteMessage(string threadId, string messageId, RequestOptions options);
167 public virtual ClientResult<MessageDeletionResult> DeleteMessage(string threadId, string messageId, CancellationToken cancellationToken = default);
168 public virtual Task<ClientResult> DeleteMessageAsync(string threadId, string messageId, RequestOptions options);
169 public virtual Task<ClientResult<MessageDeletionResult>> DeleteMessageAsync(string threadId, string messageId, CancellationToken cancellationToken = default);
170 public virtual ClientResult DeleteThread(string threadId, RequestOptions options);
171 public virtual ClientResult<ThreadDeletionResult> DeleteThread(string threadId, CancellationToken cancellationToken = default);
172 public virtual Task<ClientResult> DeleteThreadAsync(string threadId, RequestOptions options);
173 public virtual Task<ClientResult<ThreadDeletionResult>> DeleteThreadAsync(string threadId, CancellationToken cancellationToken = default);
174 public virtual ClientResult GetAssistant(string assistantId, RequestOptions options);
175 public virtual ClientResult<Assistant> GetAssistant(string assistantId, CancellationToken cancellationToken = default);
176 public virtual Task<ClientResult> GetAssistantAsync(string assistantId, RequestOptions options);
177 public virtual Task<ClientResult<Assistant>> GetAssistantAsync(string assistantId, CancellationToken cancellationToken = default);
178 public virtual CollectionResult<Assistant> GetAssistants(AssistantCollectionOptions options = null, CancellationToken cancellationToken = default);
179 public virtual CollectionResult GetAssistants(int? limit, string order, string after, string before, RequestOptions options);
180 public virtual AsyncCollectionResult<Assistant> GetAssistantsAsync(AssistantCollectionOptions options = null, CancellationToken cancellationToken = default);
181 public virtual AsyncCollectionResult GetAssistantsAsync(int? limit, string order, string after, string before, RequestOptions options);
182 public virtual ClientResult GetMessage(string threadId, string messageId, RequestOptions options);
183 public virtual ClientResult<ThreadMessage> GetMessage(string threadId, string messageId, CancellationToken cancellationToken = default);
184 public virtual Task<ClientResult> GetMessageAsync(string threadId, string messageId, RequestOptions options);
185 public virtual Task<ClientResult<ThreadMessage>> GetMessageAsync(string threadId, string messageId, CancellationToken cancellationToken = default);
186 public virtual CollectionResult<ThreadMessage> GetMessages(string threadId, MessageCollectionOptions options = null, CancellationToken cancellationToken = default);
187 public virtual CollectionResult GetMessages(string threadId, int? limit, string order, string after, string before, RequestOptions options);
188 public virtual AsyncCollectionResult<ThreadMessage> GetMessagesAsync(string threadId, MessageCollectionOptions options = null, CancellationToken cancellationToken = default);
189 public virtual AsyncCollectionResult GetMessagesAsync(string threadId, int? limit, string order, string after, string before, RequestOptions options);
190 public virtual ClientResult GetRun(string threadId, string runId, RequestOptions options);
191 public virtual ClientResult<ThreadRun> GetRun(string threadId, string runId, CancellationToken cancellationToken = default);
192 public virtual Task<ClientResult> GetRunAsync(string threadId, string runId, RequestOptions options);
193 public virtual Task<ClientResult<ThreadRun>> GetRunAsync(string threadId, string runId, CancellationToken cancellationToken = default);
194 public virtual CollectionResult<ThreadRun> GetRuns(string threadId, RunCollectionOptions options = null, CancellationToken cancellationToken = default);
195 public virtual CollectionResult GetRuns(string threadId, int? limit, string order, string after, string before, RequestOptions options);
196 public virtual AsyncCollectionResult<ThreadRun> GetRunsAsync(string threadId, RunCollectionOptions options = null, CancellationToken cancellationToken = default);
197 public virtual AsyncCollectionResult GetRunsAsync(string threadId, int? limit, string order, string after, string before, RequestOptions options);
198 public virtual ClientResult GetRunStep(string threadId, string runId, string stepId, RequestOptions options);
199 public virtual ClientResult<RunStep> GetRunStep(string threadId, string runId, string stepId, CancellationToken cancellationToken = default);
200 public virtual Task<ClientResult> GetRunStepAsync(string threadId, string runId, string stepId, RequestOptions options);
201 public virtual Task<ClientResult<RunStep>> GetRunStepAsync(string threadId, string runId, string stepId, CancellationToken cancellationToken = default);
202 public virtual CollectionResult<RunStep> GetRunSteps(string threadId, string runId, RunStepCollectionOptions options = null, CancellationToken cancellationToken = default);
203 public virtual CollectionResult GetRunSteps(string threadId, string runId, int? limit, string order, string after, string before, RequestOptions options);
204 public virtual AsyncCollectionResult<RunStep> GetRunStepsAsync(string threadId, string runId, RunStepCollectionOptions options = null, CancellationToken cancellationToken = default);
205 public virtual AsyncCollectionResult GetRunStepsAsync(string threadId, string runId, int? limit, string order, string after, string before, RequestOptions options);
206 public virtual ClientResult GetThread(string threadId, RequestOptions options);
207 public virtual ClientResult<AssistantThread> GetThread(string threadId, CancellationToken cancellationToken = default);
208 public virtual Task<ClientResult> GetThreadAsync(string threadId, RequestOptions options);
209 public virtual Task<ClientResult<AssistantThread>> GetThreadAsync(string threadId, CancellationToken cancellationToken = default);
210 public virtual ClientResult<Assistant> ModifyAssistant(string assistantId, AssistantModificationOptions options, CancellationToken cancellationToken = default);
211 public virtual ClientResult ModifyAssistant(string assistantId, BinaryContent content, RequestOptions options = null);
212 public virtual Task<ClientResult<Assistant>> ModifyAssistantAsync(string assistantId, AssistantModificationOptions options, CancellationToken cancellationToken = default);
213 public virtual Task<ClientResult> ModifyAssistantAsync(string assistantId, BinaryContent content, RequestOptions options = null);
214 public virtual ClientResult<ThreadMessage> ModifyMessage(string threadId, string messageId, MessageModificationOptions options, CancellationToken cancellationToken = default);
215 public virtual ClientResult ModifyMessage(string threadId, string messageId, BinaryContent content, RequestOptions options = null);
216 public virtual Task<ClientResult<ThreadMessage>> ModifyMessageAsync(string threadId, string messageId, MessageModificationOptions options, CancellationToken cancellationToken = default);
217 public virtual Task<ClientResult> ModifyMessageAsync(string threadId, string messageId, BinaryContent content, RequestOptions options = null);
218 public virtual ClientResult ModifyRun(string threadId, string runId, BinaryContent content, RequestOptions options = null);
219 public virtual Task<ClientResult> ModifyRunAsync(string threadId, string runId, BinaryContent content, RequestOptions options = null);
220 public virtual ClientResult<AssistantThread> ModifyThread(string threadId, ThreadModificationOptions options, CancellationToken cancellationToken = default);
221 public virtual ClientResult ModifyThread(string threadId, BinaryContent content, RequestOptions options = null);
222 public virtual Task<ClientResult<AssistantThread>> ModifyThreadAsync(string threadId, ThreadModificationOptions options, CancellationToken cancellationToken = default);
223 public virtual Task<ClientResult> ModifyThreadAsync(string threadId, BinaryContent content, RequestOptions options = null);
224 public virtual ClientResult SubmitToolOutputsToRun(string threadId, string runId, BinaryContent content, RequestOptions options = null);
225 public virtual ClientResult<ThreadRun> SubmitToolOutputsToRun(string threadId, string runId, IEnumerable<ToolOutput> toolOutputs, CancellationToken cancellationToken = default);
226 public virtual Task<ClientResult> SubmitToolOutputsToRunAsync(string threadId, string runId, BinaryContent content, RequestOptions options = null);
227 public virtual Task<ClientResult<ThreadRun>> SubmitToolOutputsToRunAsync(string threadId, string runId, IEnumerable<ToolOutput> toolOutputs, CancellationToken cancellationToken = default);
228 public virtual CollectionResult<StreamingUpdate> SubmitToolOutputsToRunStreaming(string threadId, string runId, IEnumerable<ToolOutput> toolOutputs, CancellationToken cancellationToken = default);
229 public virtual AsyncCollectionResult<StreamingUpdate> SubmitToolOutputsToRunStreamingAsync(string threadId, string runId, IEnumerable<ToolOutput> toolOutputs, CancellationToken cancellationToken = default);
230 }
231 [Experimental("SCME0002")]
232 public sealed class AssistantClientSettings : ClientSettings {
233 public OpenAIClientOptions Options { get; set; }
234 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
235 }
236 [Experimental("OPENAI001")]
237 public class AssistantCollectionOptions : IJsonModel<AssistantCollectionOptions>, IPersistableModel<AssistantCollectionOptions> {
238 public string AfterId { get; set; }
239 public string BeforeId { get; set; }
240 public AssistantCollectionOrder? Order { get; set; }
241 public int? PageSizeLimit { get; set; }
242 }
243 [Experimental("OPENAI001")]
244 public readonly partial struct AssistantCollectionOrder : IEquatable<AssistantCollectionOrder> {
245 public AssistantCollectionOrder(string value);
246 public static AssistantCollectionOrder Ascending { get; }
247 public static AssistantCollectionOrder Descending { get; }
248 public readonly bool Equals(AssistantCollectionOrder other);
249 [EditorBrowsable(EditorBrowsableState.Never)]
250 public override readonly bool Equals(object obj);
251 [EditorBrowsable(EditorBrowsableState.Never)]
252 public override readonly int GetHashCode();
253 public static bool operator ==(AssistantCollectionOrder left, AssistantCollectionOrder right);
254 public static implicit operator AssistantCollectionOrder(string value);
255 public static implicit operator AssistantCollectionOrder?(string value);
256 public static bool operator !=(AssistantCollectionOrder left, AssistantCollectionOrder right);
257 public override readonly string ToString();
258 }
259 [Experimental("OPENAI001")]
260 public class AssistantCreationOptions : IJsonModel<AssistantCreationOptions>, IPersistableModel<AssistantCreationOptions> {
261 public string Description { get; set; }
262 public string Instructions { get; set; }
263 public IDictionary<string, string> Metadata { get; }
264 public string Name { get; set; }
265 public float? NucleusSamplingFactor { get; set; }
266 public AssistantResponseFormat ResponseFormat { get; set; }
267 public float? Temperature { get; set; }
268 public ToolResources ToolResources { get; set; }
269 public IList<ToolDefinition> Tools { get; }
270 }
271 [Experimental("OPENAI001")]
272 public class AssistantDeletionResult : IJsonModel<AssistantDeletionResult>, IPersistableModel<AssistantDeletionResult> {
273 public string AssistantId { get; }
274 public bool Deleted { get; }
275 public static explicit operator AssistantDeletionResult(ClientResult result);
276 }
277 [Experimental("OPENAI001")]
278 public class AssistantModificationOptions : IJsonModel<AssistantModificationOptions>, IPersistableModel<AssistantModificationOptions> {
279 public IList<ToolDefinition> DefaultTools { get; }
280 public string Description { get; set; }
281 public string Instructions { get; set; }
282 public IDictionary<string, string> Metadata { get; }
283 public string Model { get; set; }
284 public string Name { get; set; }
285 public float? NucleusSamplingFactor { get; set; }
286 public AssistantResponseFormat ResponseFormat { get; set; }
287 public float? Temperature { get; set; }
288 public ToolResources ToolResources { get; set; }
289 }
290 [Experimental("OPENAI001")]
291 public class AssistantResponseFormat : IEquatable<AssistantResponseFormat>, IEquatable<string>, IJsonModel<AssistantResponseFormat>, IPersistableModel<AssistantResponseFormat> {
292 public static AssistantResponseFormat Auto { get; }
293 public static AssistantResponseFormat JsonObject { get; }
294 public static AssistantResponseFormat Text { get; }
295 public static AssistantResponseFormat CreateAutoFormat();
296 public static AssistantResponseFormat CreateJsonObjectFormat();
297 public static AssistantResponseFormat CreateJsonSchemaFormat(string name, BinaryData jsonSchema, string description = null, bool? strictSchemaEnabled = null);
298 public static AssistantResponseFormat CreateTextFormat();
299 [EditorBrowsable(EditorBrowsableState.Never)]
300 public override bool Equals(object obj);
301 [EditorBrowsable(EditorBrowsableState.Never)]
302 public override int GetHashCode();
303 [EditorBrowsable(EditorBrowsableState.Never)]
304 public static bool operator ==(AssistantResponseFormat first, AssistantResponseFormat second);
305 [EditorBrowsable(EditorBrowsableState.Never)]
306 public static implicit operator AssistantResponseFormat(string plainTextFormat);
307 [EditorBrowsable(EditorBrowsableState.Never)]
308 public static bool operator !=(AssistantResponseFormat first, AssistantResponseFormat second);
309 [EditorBrowsable(EditorBrowsableState.Never)]
310 bool IEquatable<AssistantResponseFormat>.Equals(AssistantResponseFormat other);
311 [EditorBrowsable(EditorBrowsableState.Never)]
312 bool IEquatable<string>.Equals(string other);
313 public override string ToString();
314 }
315 [Experimental("OPENAI001")]
316 public class AssistantThread : IJsonModel<AssistantThread>, IPersistableModel<AssistantThread> {
317 public DateTimeOffset CreatedAt { get; }
318 public string Id { get; }
319 public IReadOnlyDictionary<string, string> Metadata { get; }
320 public ToolResources ToolResources { get; }
321 public static explicit operator AssistantThread(ClientResult result);
322 }
323 [Experimental("OPENAI001")]
324 public class CodeInterpreterToolDefinition : ToolDefinition, IJsonModel<CodeInterpreterToolDefinition>, IPersistableModel<CodeInterpreterToolDefinition> {
325 public CodeInterpreterToolDefinition();
326 }
327 [Experimental("OPENAI001")]
328 public class CodeInterpreterToolResources : IJsonModel<CodeInterpreterToolResources>, IPersistableModel<CodeInterpreterToolResources> {
329 public IList<string> FileIds { get; }
330 }
331 [Experimental("OPENAI001")]
332 public readonly partial struct FileSearchRanker : IEquatable<FileSearchRanker> {
333 public FileSearchRanker(string value);
334 public static FileSearchRanker Auto { get; }
335 public static FileSearchRanker Default20240821 { get; }
336 public readonly bool Equals(FileSearchRanker other);
337 [EditorBrowsable(EditorBrowsableState.Never)]
338 public override readonly bool Equals(object obj);
339 [EditorBrowsable(EditorBrowsableState.Never)]
340 public override readonly int GetHashCode();
341 public static bool operator ==(FileSearchRanker left, FileSearchRanker right);
342 public static implicit operator FileSearchRanker(string value);
343 public static implicit operator FileSearchRanker?(string value);
344 public static bool operator !=(FileSearchRanker left, FileSearchRanker right);
345 public override readonly string ToString();
346 }
347 [Experimental("OPENAI001")]
348 public class FileSearchRankingOptions : IJsonModel<FileSearchRankingOptions>, IPersistableModel<FileSearchRankingOptions> {
349 public FileSearchRankingOptions(float scoreThreshold);
350 public FileSearchRanker? Ranker { get; set; }
351 public float ScoreThreshold { get; set; }
352 }
353 [Experimental("OPENAI001")]
354 public class FileSearchToolDefinition : ToolDefinition, IJsonModel<FileSearchToolDefinition>, IPersistableModel<FileSearchToolDefinition> {
355 public FileSearchToolDefinition();
356 public int? MaxResults { get; set; }
357 public FileSearchRankingOptions RankingOptions { get; set; }
358 }
359 [Experimental("OPENAI001")]
360 public class FileSearchToolResources : IJsonModel<FileSearchToolResources>, IPersistableModel<FileSearchToolResources> {
361 public IList<VectorStoreCreationHelper> NewVectorStores { get; }
362 public IList<string> VectorStoreIds { get; }
363 }
364 [Experimental("OPENAI001")]
365 public class FunctionToolDefinition : ToolDefinition, IJsonModel<FunctionToolDefinition>, IPersistableModel<FunctionToolDefinition> {
366 public FunctionToolDefinition();
367 public FunctionToolDefinition(string name);
368 public string Description { get; set; }
369 public string FunctionName { get; set; }
370 public BinaryData Parameters { get; set; }
371 public bool? StrictParameterSchemaEnabled { get; set; }
372 }
373 [Experimental("OPENAI001")]
374 public class MessageCollectionOptions : IJsonModel<MessageCollectionOptions>, IPersistableModel<MessageCollectionOptions> {
375 public string AfterId { get; set; }
376 public string BeforeId { get; set; }
377 public MessageCollectionOrder? Order { get; set; }
378 public int? PageSizeLimit { get; set; }
379 }
380 [Experimental("OPENAI001")]
381 public readonly partial struct MessageCollectionOrder : IEquatable<MessageCollectionOrder> {
382 public MessageCollectionOrder(string value);
383 public static MessageCollectionOrder Ascending { get; }
384 public static MessageCollectionOrder Descending { get; }
385 public readonly bool Equals(MessageCollectionOrder other);
386 [EditorBrowsable(EditorBrowsableState.Never)]
387 public override readonly bool Equals(object obj);
388 [EditorBrowsable(EditorBrowsableState.Never)]
389 public override readonly int GetHashCode();
390 public static bool operator ==(MessageCollectionOrder left, MessageCollectionOrder right);
391 public static implicit operator MessageCollectionOrder(string value);
392 public static implicit operator MessageCollectionOrder?(string value);
393 public static bool operator !=(MessageCollectionOrder left, MessageCollectionOrder right);
394 public override readonly string ToString();
395 }
396 [Experimental("OPENAI001")]
397 public abstract class MessageContent : IJsonModel<MessageContent>, IPersistableModel<MessageContent> {
398 public MessageImageDetail? ImageDetail { get; }
399 public string ImageFileId { get; }
400 public Uri ImageUri { get; }
401 public string Refusal { get; }
402 public string Text { get; }
403 public IReadOnlyList<TextAnnotation> TextAnnotations { get; }
404 public static MessageContent FromImageFileId(string imageFileId, MessageImageDetail? detail = null);
405 public static MessageContent FromImageUri(Uri imageUri, MessageImageDetail? detail = null);
406 public static MessageContent FromText(string text);
407 public static implicit operator MessageContent(string value);
408 }
409 [Experimental("OPENAI001")]
410 public class MessageContentUpdate : StreamingUpdate {
411 public MessageImageDetail? ImageDetail { get; }
412 public string ImageFileId { get; }
413 public string MessageId { get; }
414 public int MessageIndex { get; }
415 public string RefusalUpdate { get; }
416 public MessageRole? Role { get; }
417 public string Text { get; }
418 public TextAnnotationUpdate TextAnnotation { get; }
419 }
420 [Experimental("OPENAI001")]
421 public class MessageCreationAttachment : IJsonModel<MessageCreationAttachment>, IPersistableModel<MessageCreationAttachment> {
422 public MessageCreationAttachment(string fileId, IEnumerable<ToolDefinition> tools);
423 public string FileId { get; }
424 public IReadOnlyList<ToolDefinition> Tools { get; }
425 }
426 [Experimental("OPENAI001")]
427 public class MessageCreationOptions : IJsonModel<MessageCreationOptions>, IPersistableModel<MessageCreationOptions> {
428 public IList<MessageCreationAttachment> Attachments { get; set; }
429 public IDictionary<string, string> Metadata { get; }
430 }
431 [Experimental("OPENAI001")]
432 public class MessageDeletionResult : IJsonModel<MessageDeletionResult>, IPersistableModel<MessageDeletionResult> {
433 public bool Deleted { get; }
434 public string MessageId { get; }
435 public static explicit operator MessageDeletionResult(ClientResult result);
436 }
437 [Experimental("OPENAI001")]
438 public class MessageFailureDetails : IJsonModel<MessageFailureDetails>, IPersistableModel<MessageFailureDetails> {
439 public MessageFailureReason Reason { get; }
440 }
441 [Experimental("OPENAI001")]
442 public readonly partial struct MessageFailureReason : IEquatable<MessageFailureReason> {
443 public MessageFailureReason(string value);
444 public static MessageFailureReason ContentFilter { get; }
445 public static MessageFailureReason MaxTokens { get; }
446 public static MessageFailureReason RunCancelled { get; }
447 public static MessageFailureReason RunExpired { get; }
448 public static MessageFailureReason RunFailed { get; }
449 public readonly bool Equals(MessageFailureReason other);
450 [EditorBrowsable(EditorBrowsableState.Never)]
451 public override readonly bool Equals(object obj);
452 [EditorBrowsable(EditorBrowsableState.Never)]
453 public override readonly int GetHashCode();
454 public static bool operator ==(MessageFailureReason left, MessageFailureReason right);
455 public static implicit operator MessageFailureReason(string value);
456 public static implicit operator MessageFailureReason?(string value);
457 public static bool operator !=(MessageFailureReason left, MessageFailureReason right);
458 public override readonly string ToString();
459 }
460 [Experimental("OPENAI001")]
461 public enum MessageImageDetail {
462 Auto = 0,
463 Low = 1,
464 High = 2
465 }
466 [Experimental("OPENAI001")]
467 public class MessageModificationOptions : IJsonModel<MessageModificationOptions>, IPersistableModel<MessageModificationOptions> {
468 public IDictionary<string, string> Metadata { get; }
469 }
470 [Experimental("OPENAI001")]
471 public enum MessageRole {
472 User = 0,
473 Assistant = 1
474 }
475 [Experimental("OPENAI001")]
476 public readonly partial struct MessageStatus : IEquatable<MessageStatus> {
477 public MessageStatus(string value);
478 public static MessageStatus Completed { get; }
479 public static MessageStatus Incomplete { get; }
480 public static MessageStatus InProgress { get; }
481 public readonly bool Equals(MessageStatus other);
482 [EditorBrowsable(EditorBrowsableState.Never)]
483 public override readonly bool Equals(object obj);
484 [EditorBrowsable(EditorBrowsableState.Never)]
485 public override readonly int GetHashCode();
486 public static bool operator ==(MessageStatus left, MessageStatus right);
487 public static implicit operator MessageStatus(string value);
488 public static implicit operator MessageStatus?(string value);
489 public static bool operator !=(MessageStatus left, MessageStatus right);
490 public override readonly string ToString();
491 }
492 [Experimental("OPENAI001")]
493 public class MessageStatusUpdate : StreamingUpdate<ThreadMessage> {
494 }
495 [Experimental("OPENAI001")]
496 public abstract class RequiredAction {
497 public string FunctionArguments { get; }
498 public string FunctionName { get; }
499 public string ToolCallId { get; }
500 }
501 [Experimental("OPENAI001")]
502 public class RequiredActionUpdate : RunUpdate {
503 public string FunctionArguments { get; }
504 public string FunctionName { get; }
505 public string ToolCallId { get; }
506 public ThreadRun GetThreadRun();
507 }
508 [Experimental("OPENAI001")]
509 public class RunCollectionOptions : IJsonModel<RunCollectionOptions>, IPersistableModel<RunCollectionOptions> {
510 public string AfterId { get; set; }
511 public string BeforeId { get; set; }
512 public RunCollectionOrder? Order { get; set; }
513 public int? PageSizeLimit { get; set; }
514 }
515 [Experimental("OPENAI001")]
516 public readonly partial struct RunCollectionOrder : IEquatable<RunCollectionOrder> {
517 public RunCollectionOrder(string value);
518 public static RunCollectionOrder Ascending { get; }
519 public static RunCollectionOrder Descending { get; }
520 public readonly bool Equals(RunCollectionOrder other);
521 [EditorBrowsable(EditorBrowsableState.Never)]
522 public override readonly bool Equals(object obj);
523 [EditorBrowsable(EditorBrowsableState.Never)]
524 public override readonly int GetHashCode();
525 public static bool operator ==(RunCollectionOrder left, RunCollectionOrder right);
526 public static implicit operator RunCollectionOrder(string value);
527 public static implicit operator RunCollectionOrder?(string value);
528 public static bool operator !=(RunCollectionOrder left, RunCollectionOrder right);
529 public override readonly string ToString();
530 }
531 [Experimental("OPENAI001")]
532 public class RunCreationOptions : IJsonModel<RunCreationOptions>, IPersistableModel<RunCreationOptions> {
533 public string AdditionalInstructions { get; set; }
534 public IList<ThreadInitializationMessage> AdditionalMessages { get; }
535 public bool? AllowParallelToolCalls { get; set; }
536 public string InstructionsOverride { get; set; }
537 public int? MaxInputTokenCount { get; set; }
538 public int? MaxOutputTokenCount { get; set; }
539 public IDictionary<string, string> Metadata { get; }
540 public string ModelOverride { get; set; }
541 public float? NucleusSamplingFactor { get; set; }
542 public AssistantResponseFormat ResponseFormat { get; set; }
543 public float? Temperature { get; set; }
544 public ToolConstraint ToolConstraint { get; set; }
545 public IList<ToolDefinition> ToolsOverride { get; }
546 public RunTruncationStrategy TruncationStrategy { get; set; }
547 }
548 [Experimental("OPENAI001")]
549 public class RunError : IJsonModel<RunError>, IPersistableModel<RunError> {
550 public RunErrorCode Code { get; }
551 public string Message { get; }
552 }
553 [Experimental("OPENAI001")]
554 public readonly partial struct RunErrorCode : IEquatable<RunErrorCode> {
555 public RunErrorCode(string value);
556 public static RunErrorCode InvalidPrompt { get; }
557 public static RunErrorCode RateLimitExceeded { get; }
558 public static RunErrorCode ServerError { get; }
559 public readonly bool Equals(RunErrorCode other);
560 [EditorBrowsable(EditorBrowsableState.Never)]
561 public override readonly bool Equals(object obj);
562 [EditorBrowsable(EditorBrowsableState.Never)]
563 public override readonly int GetHashCode();
564 public static bool operator ==(RunErrorCode left, RunErrorCode right);
565 public static implicit operator RunErrorCode(string value);
566 public static implicit operator RunErrorCode?(string value);
567 public static bool operator !=(RunErrorCode left, RunErrorCode right);
568 public override readonly string ToString();
569 }
570 [Experimental("OPENAI001")]
571 public class RunIncompleteDetails : IJsonModel<RunIncompleteDetails>, IPersistableModel<RunIncompleteDetails> {
572 public RunIncompleteReason? Reason { get; }
573 }
574 [Experimental("OPENAI001")]
575 public readonly partial struct RunIncompleteReason : IEquatable<RunIncompleteReason> {
576 public RunIncompleteReason(string value);
577 public static RunIncompleteReason MaxInputTokenCount { get; }
578 public static RunIncompleteReason MaxOutputTokenCount { get; }
579 public readonly bool Equals(RunIncompleteReason other);
580 [EditorBrowsable(EditorBrowsableState.Never)]
581 public override readonly bool Equals(object obj);
582 [EditorBrowsable(EditorBrowsableState.Never)]
583 public override readonly int GetHashCode();
584 public static bool operator ==(RunIncompleteReason left, RunIncompleteReason right);
585 public static implicit operator RunIncompleteReason(string value);
586 public static implicit operator RunIncompleteReason?(string value);
587 public static bool operator !=(RunIncompleteReason left, RunIncompleteReason right);
588 public override readonly string ToString();
589 }
590 [Experimental("OPENAI001")]
591 public class RunModificationOptions : IJsonModel<RunModificationOptions>, IPersistableModel<RunModificationOptions> {
592 public IDictionary<string, string> Metadata { get; }
593 }
594 [Experimental("OPENAI001")]
595 public readonly partial struct RunStatus : IEquatable<RunStatus> {
596 public RunStatus(string value);
597 public static RunStatus Cancelled { get; }
598 public static RunStatus Cancelling { get; }
599 public static RunStatus Completed { get; }
600 public static RunStatus Expired { get; }
601 public static RunStatus Failed { get; }
602 public static RunStatus Incomplete { get; }
603 public static RunStatus InProgress { get; }
604 public bool IsTerminal { get; }
605 public static RunStatus Queued { get; }
606 public static RunStatus RequiresAction { get; }
607 public readonly bool Equals(RunStatus other);
608 [EditorBrowsable(EditorBrowsableState.Never)]
609 public override readonly bool Equals(object obj);
610 [EditorBrowsable(EditorBrowsableState.Never)]
611 public override readonly int GetHashCode();
612 public static bool operator ==(RunStatus left, RunStatus right);
613 public static implicit operator RunStatus(string value);
614 public static implicit operator RunStatus?(string value);
615 public static bool operator !=(RunStatus left, RunStatus right);
616 public override readonly string ToString();
617 }
618 [Experimental("OPENAI001")]
619 public class RunStep : IJsonModel<RunStep>, IPersistableModel<RunStep> {
620 public string AssistantId { get; }
621 public DateTimeOffset? CancelledAt { get; }
622 public DateTimeOffset? CompletedAt { get; }
623 public DateTimeOffset CreatedAt { get; }
624 public RunStepDetails Details { get; }
625 public DateTimeOffset? ExpiredAt { get; }
626 public DateTimeOffset? FailedAt { get; }
627 public string Id { get; }
628 public RunStepKind Kind { get; }
629 public RunStepError LastError { get; }
630 public IReadOnlyDictionary<string, string> Metadata { get; }
631 public string RunId { get; }
632 public RunStepStatus Status { get; }
633 public string ThreadId { get; }
634 public RunStepTokenUsage Usage { get; }
635 public static explicit operator RunStep(ClientResult result);
636 }
637 [Experimental("OPENAI001")]
638 public abstract class RunStepCodeInterpreterOutput : IJsonModel<RunStepCodeInterpreterOutput>, IPersistableModel<RunStepCodeInterpreterOutput> {
639 public string ImageFileId { get; }
640 public string Logs { get; }
641 }
642 [Experimental("OPENAI001")]
643 public class RunStepCollectionOptions : IJsonModel<RunStepCollectionOptions>, IPersistableModel<RunStepCollectionOptions> {
644 public string AfterId { get; set; }
645 public string BeforeId { get; set; }
646 public RunStepCollectionOrder? Order { get; set; }
647 public int? PageSizeLimit { get; set; }
648 }
649 [Experimental("OPENAI001")]
650 public readonly partial struct RunStepCollectionOrder : IEquatable<RunStepCollectionOrder> {
651 public RunStepCollectionOrder(string value);
652 public static RunStepCollectionOrder Ascending { get; }
653 public static RunStepCollectionOrder Descending { get; }
654 public readonly bool Equals(RunStepCollectionOrder other);
655 [EditorBrowsable(EditorBrowsableState.Never)]
656 public override readonly bool Equals(object obj);
657 [EditorBrowsable(EditorBrowsableState.Never)]
658 public override readonly int GetHashCode();
659 public static bool operator ==(RunStepCollectionOrder left, RunStepCollectionOrder right);
660 public static implicit operator RunStepCollectionOrder(string value);
661 public static implicit operator RunStepCollectionOrder?(string value);
662 public static bool operator !=(RunStepCollectionOrder left, RunStepCollectionOrder right);
663 public override readonly string ToString();
664 }
665 [Experimental("OPENAI001")]
666 public abstract class RunStepDetails : IJsonModel<RunStepDetails>, IPersistableModel<RunStepDetails> {
667 public string CreatedMessageId { get; }
668 public IReadOnlyList<RunStepToolCall> ToolCalls { get; }
669 }
670 [Experimental("OPENAI001")]
671 public class RunStepDetailsUpdate : StreamingUpdate {
672 public string CodeInterpreterInput { get; }
673 public IReadOnlyList<RunStepUpdateCodeInterpreterOutput> CodeInterpreterOutputs { get; }
674 public string CreatedMessageId { get; }
675 public FileSearchRankingOptions FileSearchRankingOptions { get; }
676 public IReadOnlyList<RunStepFileSearchResult> FileSearchResults { get; }
677 public string FunctionArguments { get; }
678 public string FunctionName { get; }
679 public string FunctionOutput { get; }
680 public string StepId { get; }
681 public string ToolCallId { get; }
682 public int? ToolCallIndex { get; }
683 }
684 [Experimental("OPENAI001")]
685 public class RunStepError : IJsonModel<RunStepError>, IPersistableModel<RunStepError> {
686 public RunStepErrorCode Code { get; }
687 public string Message { get; }
688 }
689 [Experimental("OPENAI001")]
690 public readonly partial struct RunStepErrorCode : IEquatable<RunStepErrorCode> {
691 public RunStepErrorCode(string value);
692 public static RunStepErrorCode RateLimitExceeded { get; }
693 public static RunStepErrorCode ServerError { get; }
694 public readonly bool Equals(RunStepErrorCode other);
695 [EditorBrowsable(EditorBrowsableState.Never)]
696 public override readonly bool Equals(object obj);
697 [EditorBrowsable(EditorBrowsableState.Never)]
698 public override readonly int GetHashCode();
699 public static bool operator ==(RunStepErrorCode left, RunStepErrorCode right);
700 public static implicit operator RunStepErrorCode(string value);
701 public static implicit operator RunStepErrorCode?(string value);
702 public static bool operator !=(RunStepErrorCode left, RunStepErrorCode right);
703 public override readonly string ToString();
704 }
705 [Experimental("OPENAI001")]
706 public class RunStepFileSearchResult : IJsonModel<RunStepFileSearchResult>, IPersistableModel<RunStepFileSearchResult> {
707 public IReadOnlyList<RunStepFileSearchResultContent> Content { get; }
708 public string FileId { get; }
709 public string FileName { get; }
710 public float Score { get; }
711 }
712 [Experimental("OPENAI001")]
713 public class RunStepFileSearchResultContent : IJsonModel<RunStepFileSearchResultContent>, IPersistableModel<RunStepFileSearchResultContent> {
714 public RunStepFileSearchResultContentKind Kind { get; }
715 public string Text { get; }
716 }
717 [Experimental("OPENAI001")]
718 public enum RunStepFileSearchResultContentKind {
719 Text = 0
720 }
721 [Experimental("OPENAI001")]
722 public enum RunStepKind {
723 CreatedMessage = 0,
724 ToolCall = 1
725 }
726 [Experimental("OPENAI001")]
727 public readonly partial struct RunStepStatus : IEquatable<RunStepStatus> {
728 public RunStepStatus(string value);
729 public static RunStepStatus Cancelled { get; }
730 public static RunStepStatus Completed { get; }
731 public static RunStepStatus Expired { get; }
732 public static RunStepStatus Failed { get; }
733 public static RunStepStatus InProgress { get; }
734 public readonly bool Equals(RunStepStatus other);
735 [EditorBrowsable(EditorBrowsableState.Never)]
736 public override readonly bool Equals(object obj);
737 [EditorBrowsable(EditorBrowsableState.Never)]
738 public override readonly int GetHashCode();
739 public static bool operator ==(RunStepStatus left, RunStepStatus right);
740 public static implicit operator RunStepStatus(string value);
741 public static implicit operator RunStepStatus?(string value);
742 public static bool operator !=(RunStepStatus left, RunStepStatus right);
743 public override readonly string ToString();
744 }
745 [Experimental("OPENAI001")]
746 public class RunStepTokenUsage : IJsonModel<RunStepTokenUsage>, IPersistableModel<RunStepTokenUsage> {
747 public int InputTokenCount { get; }
748 public int OutputTokenCount { get; }
749 public int TotalTokenCount { get; }
750 }
751 [Experimental("OPENAI001")]
752 public class RunStepToolCall : IJsonModel<RunStepToolCall>, IPersistableModel<RunStepToolCall> {
753 public string CodeInterpreterInput { get; }
754 public IReadOnlyList<RunStepCodeInterpreterOutput> CodeInterpreterOutputs { get; }
755 public FileSearchRankingOptions FileSearchRankingOptions { get; }
756 public IReadOnlyList<RunStepFileSearchResult> FileSearchResults { get; }
757 public string FunctionArguments { get; }
758 public string FunctionName { get; }
759 public string FunctionOutput { get; }
760 public string Id { get; }
761 public RunStepToolCallKind Kind { get; }
762 }
763 [Experimental("OPENAI001")]
764 public enum RunStepToolCallKind {
765 CodeInterpreter = 0,
766 FileSearch = 1,
767 Function = 2
768 }
769 [Experimental("OPENAI001")]
770 public class RunStepUpdate : StreamingUpdate<RunStep> {
771 }
772 [Experimental("OPENAI001")]
773 public class RunStepUpdateCodeInterpreterOutput : IJsonModel<RunStepUpdateCodeInterpreterOutput>, IPersistableModel<RunStepUpdateCodeInterpreterOutput> {
774 public string ImageFileId { get; }
775 public string Logs { get; }
776 public int OutputIndex { get; }
777 }
778 [Experimental("OPENAI001")]
779 public class RunTokenUsage : IJsonModel<RunTokenUsage>, IPersistableModel<RunTokenUsage> {
780 public int InputTokenCount { get; }
781 public int OutputTokenCount { get; }
782 public int TotalTokenCount { get; }
783 }
784 [Experimental("OPENAI001")]
785 public class RunTruncationStrategy : IJsonModel<RunTruncationStrategy>, IPersistableModel<RunTruncationStrategy> {
786 public static RunTruncationStrategy Auto { get; }
787 public int? LastMessages { get; }
788 public static RunTruncationStrategy CreateLastMessagesStrategy(int lastMessageCount);
789 }
790 [Experimental("OPENAI001")]
791 public class RunUpdate : StreamingUpdate<ThreadRun> {
792 }
793 [Experimental("OPENAI001")]
794 public abstract class StreamingUpdate {
795 public StreamingUpdateReason UpdateKind { get; }
796 }
797 [Experimental("OPENAI001")]
798 public enum StreamingUpdateReason {
799 Unknown = 0,
800 ThreadCreated = 1,
801 RunCreated = 2,
802 RunQueued = 3,
803 RunInProgress = 4,
804 RunRequiresAction = 5,
805 RunCompleted = 6,
806 RunIncomplete = 7,
807 RunFailed = 8,
808 RunCancelling = 9,
809 RunCancelled = 10,
810 RunExpired = 11,
811 RunStepCreated = 12,
812 RunStepInProgress = 13,
813 RunStepUpdated = 14,
814 RunStepCompleted = 15,
815 RunStepFailed = 16,
816 RunStepCancelled = 17,
817 RunStepExpired = 18,
818 MessageCreated = 19,
819 MessageInProgress = 20,
820 MessageUpdated = 21,
821 MessageCompleted = 22,
822 MessageFailed = 23,
823 Error = 24,
824 Done = 25
825 }
826 [Experimental("OPENAI001")]
827 public class StreamingUpdate<T> : StreamingUpdate where T : class {
828 public T Value { get; }
829 public static implicit operator T(StreamingUpdate<T> update);
830 }
831 [Experimental("OPENAI001")]
832 public class TextAnnotation {
833 public int EndIndex { get; }
834 public string InputFileId { get; }
835 public string OutputFileId { get; }
836 public int StartIndex { get; }
837 public string TextToReplace { get; }
838 }
839 [Experimental("OPENAI001")]
840 public class TextAnnotationUpdate {
841 public int ContentIndex { get; }
842 public int? EndIndex { get; }
843 public string InputFileId { get; }
844 public string OutputFileId { get; }
845 public int? StartIndex { get; }
846 public string TextToReplace { get; }
847 }
848 [Experimental("OPENAI001")]
849 public class ThreadCreationOptions : IJsonModel<ThreadCreationOptions>, IPersistableModel<ThreadCreationOptions> {
850 public IList<ThreadInitializationMessage> InitialMessages { get; }
851 public IDictionary<string, string> Metadata { get; }
852 public ToolResources ToolResources { get; set; }
853 }
854 [Experimental("OPENAI001")]
855 public class ThreadDeletionResult : IJsonModel<ThreadDeletionResult>, IPersistableModel<ThreadDeletionResult> {
856 public bool Deleted { get; }
857 public string ThreadId { get; }
858 public static explicit operator ThreadDeletionResult(ClientResult result);
859 }
860 [Experimental("OPENAI001")]
861 public class ThreadInitializationMessage : MessageCreationOptions {
862 public ThreadInitializationMessage(MessageRole role, IEnumerable<MessageContent> content);
863 public static implicit operator ThreadInitializationMessage(string initializationMessage);
864 }
865 [Experimental("OPENAI001")]
866 public class ThreadMessage : IJsonModel<ThreadMessage>, IPersistableModel<ThreadMessage> {
867 public string AssistantId { get; }
868 public IReadOnlyList<MessageCreationAttachment> Attachments { get; }
869 public DateTimeOffset? CompletedAt { get; }
870 public IReadOnlyList<MessageContent> Content { get; }
871 public DateTimeOffset CreatedAt { get; }
872 public string Id { get; }
873 public DateTimeOffset? IncompleteAt { get; }
874 public MessageFailureDetails IncompleteDetails { get; }
875 public IReadOnlyDictionary<string, string> Metadata { get; }
876 public MessageRole Role { get; }
877 public string RunId { get; }
878 public MessageStatus Status { get; }
879 public string ThreadId { get; }
880 public static explicit operator ThreadMessage(ClientResult result);
881 }
882 [Experimental("OPENAI001")]
883 public class ThreadModificationOptions : IJsonModel<ThreadModificationOptions>, IPersistableModel<ThreadModificationOptions> {
884 public IDictionary<string, string> Metadata { get; }
885 public ToolResources ToolResources { get; set; }
886 }
887 [Experimental("OPENAI001")]
888 public class ThreadRun : IJsonModel<ThreadRun>, IPersistableModel<ThreadRun> {
889 public bool? AllowParallelToolCalls { get; }
890 public string AssistantId { get; }
891 public DateTimeOffset? CancelledAt { get; }
892 public DateTimeOffset? CompletedAt { get; }
893 public DateTimeOffset CreatedAt { get; }
894 public DateTimeOffset? ExpiresAt { get; }
895 public DateTimeOffset? FailedAt { get; }
896 public string Id { get; }
897 public RunIncompleteDetails IncompleteDetails { get; }
898 public string Instructions { get; }
899 public RunError LastError { get; }
900 public int? MaxInputTokenCount { get; }
901 public int? MaxOutputTokenCount { get; }
902 public IReadOnlyDictionary<string, string> Metadata { get; }
903 public string Model { get; }
904 public float? NucleusSamplingFactor { get; }
905 public IReadOnlyList<RequiredAction> RequiredActions { get; }
906 public AssistantResponseFormat ResponseFormat { get; }
907 public DateTimeOffset? StartedAt { get; }
908 public RunStatus Status { get; }
909 public float? Temperature { get; }
910 public string ThreadId { get; }
911 public ToolConstraint ToolConstraint { get; }
912 public IReadOnlyList<ToolDefinition> Tools { get; }
913 public RunTruncationStrategy TruncationStrategy { get; }
914 public RunTokenUsage Usage { get; }
915 public static explicit operator ThreadRun(ClientResult result);
916 }
917 [Experimental("OPENAI001")]
918 public class ThreadUpdate : StreamingUpdate<AssistantThread> {
919 public DateTimeOffset CreatedAt { get; }
920 public string Id { get; }
921 public IReadOnlyDictionary<string, string> Metadata { get; }
922 public ToolResources ToolResources { get; }
923 }
924 [Experimental("OPENAI001")]
925 public class ToolConstraint : IJsonModel<ToolConstraint>, IPersistableModel<ToolConstraint> {
926 public ToolConstraint(ToolDefinition toolDefinition);
927 public static ToolConstraint Auto { get; }
928 public static ToolConstraint None { get; }
929 public static ToolConstraint Required { get; }
930 }
931 [Experimental("OPENAI001")]
932 public class ToolDefinition : IJsonModel<ToolDefinition>, IPersistableModel<ToolDefinition> {
933 public static CodeInterpreterToolDefinition CreateCodeInterpreter();
934 public static FileSearchToolDefinition CreateFileSearch(int? maxResults = null);
935 public static FunctionToolDefinition CreateFunction(string name, string description = null, BinaryData parameters = null, bool? strictParameterSchemaEnabled = null);
936 }
937 [Experimental("OPENAI001")]
938 public class ToolOutput : IJsonModel<ToolOutput>, IPersistableModel<ToolOutput> {
939 public ToolOutput();
940 public ToolOutput(string toolCallId, string output);
941 public string Output { get; set; }
942 public string ToolCallId { get; set; }
943 }
944 [Experimental("OPENAI001")]
945 public class ToolResources : IJsonModel<ToolResources>, IPersistableModel<ToolResources> {
946 public CodeInterpreterToolResources CodeInterpreter { get; set; }
947 public FileSearchToolResources FileSearch { get; set; }
948 }
949 [Experimental("OPENAI001")]
950 public class VectorStoreCreationHelper : IJsonModel<VectorStoreCreationHelper>, IPersistableModel<VectorStoreCreationHelper> {
951 public VectorStoreCreationHelper();
952 public VectorStoreCreationHelper(IEnumerable<OpenAIFile> files);
953 public VectorStoreCreationHelper(IEnumerable<string> fileIds);
954 public FileChunkingStrategy ChunkingStrategy { get; set; }
955 public IList<string> FileIds { get; }
956 public IDictionary<string, string> Metadata { get; }
957 }
958}
959namespace OpenAI.Audio {
960 public class AudioClient {
961 protected AudioClient();
962 [Experimental("SCME0002")]
963 public AudioClient(AudioClientSettings settings);
964 protected internal AudioClient(ClientPipeline pipeline, string model, OpenAIClientOptions options);
965 public AudioClient(string model, ApiKeyCredential credential, OpenAIClientOptions options);
966 public AudioClient(string model, ApiKeyCredential credential);
967 [Experimental("OPENAI001")]
968 public AudioClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
969 [Experimental("OPENAI001")]
970 public AudioClient(string model, AuthenticationPolicy authenticationPolicy);
971 public AudioClient(string model, string apiKey);
972 [Experimental("OPENAI001")]
973 public Uri Endpoint { get; }
974 [Experimental("OPENAI001")]
975 public string Model { get; }
976 public ClientPipeline Pipeline { get; }
977 [Experimental("OPENAI001")]
978 public virtual ClientResult CreateVoice(BinaryContent content, string contentType, RequestOptions options = null);
979 [Experimental("OPENAI001")]
980 public virtual Task<ClientResult> CreateVoiceAsync(BinaryContent content, string contentType, RequestOptions options = null);
981 [Experimental("OPENAI001")]
982 public virtual ClientResult CreateVoiceConsent(BinaryContent content, string contentType, RequestOptions options = null);
983 [Experimental("OPENAI001")]
984 public virtual Task<ClientResult> CreateVoiceConsentAsync(BinaryContent content, string contentType, RequestOptions options = null);
985 [Experimental("OPENAI001")]
986 public virtual ClientResult DeleteVoiceConsent(string consentId, RequestOptions options = null);
987 [Experimental("OPENAI001")]
988 public virtual Task<ClientResult> DeleteVoiceConsentAsync(string consentId, RequestOptions options = null);
989 public virtual ClientResult GenerateSpeech(BinaryContent content, RequestOptions options = null);
990 public virtual ClientResult<BinaryData> GenerateSpeech(string text, GeneratedSpeechVoice voice, SpeechGenerationOptions options = null, CancellationToken cancellationToken = default);
991 public virtual Task<ClientResult> GenerateSpeechAsync(BinaryContent content, RequestOptions options = null);
992 public virtual Task<ClientResult<BinaryData>> GenerateSpeechAsync(string text, GeneratedSpeechVoice voice, SpeechGenerationOptions options = null, CancellationToken cancellationToken = default);
993 [Experimental("OPENAI001")]
994 public virtual CollectionResult<StreamingSpeechUpdate> GenerateSpeechStreaming(string text, GeneratedSpeechVoice voice, SpeechGenerationOptions options = null, CancellationToken cancellationToken = default);
995 [Experimental("OPENAI001")]
996 public virtual AsyncCollectionResult<StreamingSpeechUpdate> GenerateSpeechStreamingAsync(string text, GeneratedSpeechVoice voice, SpeechGenerationOptions options = null, CancellationToken cancellationToken = default);
997 [Experimental("OPENAI001")]
998 public virtual ClientResult GetVoiceConsent(string consentId, RequestOptions options = null);
999 [Experimental("OPENAI001")]
1000 public virtual Task<ClientResult> GetVoiceConsentAsync(string consentId, RequestOptions options = null);
1001 [Experimental("OPENAI001")]
1002 public virtual CollectionResult GetVoiceConsents(string after = null, int? limit = null, RequestOptions options = null);
1003 [Experimental("OPENAI001")]
1004 public virtual AsyncCollectionResult GetVoiceConsentsAsync(string after = null, int? limit = null, RequestOptions options = null);
1005 public virtual ClientResult TranscribeAudio(BinaryContent content, string contentType, RequestOptions options = null);
1006 public virtual ClientResult<AudioTranscription> TranscribeAudio(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default);
1007 public virtual ClientResult<AudioTranscription> TranscribeAudio(string audioFilePath, AudioTranscriptionOptions options = null);
1008 public virtual Task<ClientResult> TranscribeAudioAsync(BinaryContent content, string contentType, RequestOptions options = null);
1009 public virtual Task<ClientResult<AudioTranscription>> TranscribeAudioAsync(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default);
1010 public virtual Task<ClientResult<AudioTranscription>> TranscribeAudioAsync(string audioFilePath, AudioTranscriptionOptions options = null);
1011 [Experimental("OPENAI001")]
1012 public virtual ClientResult<DiarizedAudioTranscription> TranscribeAudioDiarized(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default);
1013 [Experimental("OPENAI001")]
1014 public virtual ClientResult<DiarizedAudioTranscription> TranscribeAudioDiarized(string audioFilePath, AudioTranscriptionOptions options = null);
1015 [Experimental("OPENAI001")]
1016 public virtual Task<ClientResult<DiarizedAudioTranscription>> TranscribeAudioDiarizedAsync(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default);
1017 [Experimental("OPENAI001")]
1018 public virtual Task<ClientResult<DiarizedAudioTranscription>> TranscribeAudioDiarizedAsync(string audioFilePath, AudioTranscriptionOptions options = null);
1019 [Experimental("OPENAI001")]
1020 public virtual CollectionResult<StreamingAudioTranscriptionUpdate> TranscribeAudioStreaming(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default);
1021 [Experimental("OPENAI001")]
1022 public virtual CollectionResult<StreamingAudioTranscriptionUpdate> TranscribeAudioStreaming(string audioFilePath, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default);
1023 [Experimental("OPENAI001")]
1024 public virtual AsyncCollectionResult<StreamingAudioTranscriptionUpdate> TranscribeAudioStreamingAsync(Stream audio, string audioFilename, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default);
1025 [Experimental("OPENAI001")]
1026 public virtual AsyncCollectionResult<StreamingAudioTranscriptionUpdate> TranscribeAudioStreamingAsync(string audioFilePath, AudioTranscriptionOptions options = null, CancellationToken cancellationToken = default);
1027 public virtual ClientResult TranslateAudio(BinaryContent content, string contentType, RequestOptions options = null);
1028 public virtual ClientResult<AudioTranslation> TranslateAudio(Stream audio, string audioFilename, AudioTranslationOptions options = null, CancellationToken cancellationToken = default);
1029 public virtual ClientResult<AudioTranslation> TranslateAudio(string audioFilePath, AudioTranslationOptions options = null);
1030 public virtual Task<ClientResult> TranslateAudioAsync(BinaryContent content, string contentType, RequestOptions options = null);
1031 public virtual Task<ClientResult<AudioTranslation>> TranslateAudioAsync(Stream audio, string audioFilename, AudioTranslationOptions options = null, CancellationToken cancellationToken = default);
1032 public virtual Task<ClientResult<AudioTranslation>> TranslateAudioAsync(string audioFilePath, AudioTranslationOptions options = null);
1033 [Experimental("OPENAI001")]
1034 public virtual ClientResult UpdateVoiceConsent(string consentId, BinaryContent content, RequestOptions options = null);
1035 [Experimental("OPENAI001")]
1036 public virtual Task<ClientResult> UpdateVoiceConsentAsync(string consentId, BinaryContent content, RequestOptions options = null);
1037 }
1038 [Experimental("SCME0002")]
1039 public sealed class AudioClientSettings : ClientSettings {
1040 public string Model { get; set; }
1041 public OpenAIClientOptions Options { get; set; }
1042 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
1043 }
1044 [Flags]
1045 public enum AudioTimestampGranularities {
1046 Default = 0,
1047 Word = 1,
1048 Segment = 2
1049 }
1050 [Experimental("OPENAI001")]
1051 public class AudioTokenLogProbabilityDetails : IJsonModel<AudioTokenLogProbabilityDetails>, IPersistableModel<AudioTokenLogProbabilityDetails> {
1052 public float LogProbability { get; }
1053 public string Token { get; }
1054 public ReadOnlyMemory<byte> Utf8Bytes { get; }
1055 }
1056 public class AudioTranscription : IJsonModel<AudioTranscription>, IPersistableModel<AudioTranscription> {
1057 public TimeSpan? Duration { get; }
1058 public string Language { get; }
1059 public IReadOnlyList<TranscribedSegment> Segments { get; }
1060 public string Text { get; }
1061 [Experimental("OPENAI001")]
1062 public IReadOnlyList<AudioTokenLogProbabilityDetails> TranscriptionTokenLogProbabilities { get; }
1063 [Experimental("OPENAI001")]
1064 public AudioTranscriptionUsage Usage { get; }
1065 public IReadOnlyList<TranscribedWord> Words { get; }
1066 [Experimental("OPENAI001")]
1067 public static explicit operator AudioTranscription(ClientResult result);
1068 }
1069 [Experimental("OPENAI001")]
1070 public class AudioTranscriptionChunkingStrategy : IJsonModel<AudioTranscriptionChunkingStrategy>, IPersistableModel<AudioTranscriptionChunkingStrategy> {
1071 public AudioTranscriptionChunkingStrategy(AudioTranscriptionCustomChunkingStrategy customChunkingStrategy);
1072 public AudioTranscriptionChunkingStrategy(AudioTranscriptionDefaultChunkingStrategy defaultChunkingStrategy);
1073 public AudioTranscriptionCustomChunkingStrategy CustomChunkingStrategy { get; }
1074 public AudioTranscriptionDefaultChunkingStrategy? DefaultChunkingStrategy { get; }
1075 public static implicit operator AudioTranscriptionChunkingStrategy(AudioTranscriptionCustomChunkingStrategy customChunkingStrategy);
1076 public static implicit operator AudioTranscriptionChunkingStrategy(AudioTranscriptionDefaultChunkingStrategy defaultChunkingStrategy);
1077 }
1078 [Experimental("OPENAI001")]
1079 public class AudioTranscriptionCustomChunkingStrategy : IJsonModel<AudioTranscriptionCustomChunkingStrategy>, IPersistableModel<AudioTranscriptionCustomChunkingStrategy> {
1080 }
1081 [Experimental("OPENAI001")]
1082 public class AudioTranscriptionCustomServerVadChunkingStrategy : AudioTranscriptionCustomChunkingStrategy, IJsonModel<AudioTranscriptionCustomServerVadChunkingStrategy>, IPersistableModel<AudioTranscriptionCustomServerVadChunkingStrategy> {
1083 public AudioTranscriptionCustomServerVadChunkingStrategy();
1084 public float? DetectionThreshold { get; set; }
1085 public TimeSpan? PrefixPadding { get; set; }
1086 public TimeSpan? SilenceDuration { get; set; }
1087 }
1088 [Experimental("OPENAI001")]
1089 public readonly partial struct AudioTranscriptionDefaultChunkingStrategy : IEquatable<AudioTranscriptionDefaultChunkingStrategy> {
1090 public AudioTranscriptionDefaultChunkingStrategy(string value);
1091 public static AudioTranscriptionDefaultChunkingStrategy Auto { get; }
1092 public readonly bool Equals(AudioTranscriptionDefaultChunkingStrategy other);
1093 [EditorBrowsable(EditorBrowsableState.Never)]
1094 public override readonly bool Equals(object obj);
1095 [EditorBrowsable(EditorBrowsableState.Never)]
1096 public override readonly int GetHashCode();
1097 public static bool operator ==(AudioTranscriptionDefaultChunkingStrategy left, AudioTranscriptionDefaultChunkingStrategy right);
1098 public static implicit operator AudioTranscriptionDefaultChunkingStrategy(string value);
1099 public static implicit operator AudioTranscriptionDefaultChunkingStrategy?(string value);
1100 public static bool operator !=(AudioTranscriptionDefaultChunkingStrategy left, AudioTranscriptionDefaultChunkingStrategy right);
1101 public override readonly string ToString();
1102 }
1103 [Experimental("OPENAI001")]
1104 public class AudioTranscriptionDurationUsage : AudioTranscriptionUsage, IJsonModel<AudioTranscriptionDurationUsage>, IPersistableModel<AudioTranscriptionDurationUsage> {
1105 public TimeSpan Duration { get; }
1106 }
1107 public readonly partial struct AudioTranscriptionFormat : IEquatable<AudioTranscriptionFormat> {
1108 public AudioTranscriptionFormat(string value);
1109 [Experimental("OPENAI001")]
1110 public static AudioTranscriptionFormat Diarized { get; }
1111 public static AudioTranscriptionFormat Simple { get; }
1112 public static AudioTranscriptionFormat Srt { get; }
1113 [EditorBrowsable(EditorBrowsableState.Never)]
1114 public static AudioTranscriptionFormat Text { get; }
1115 public static AudioTranscriptionFormat Verbose { get; }
1116 public static AudioTranscriptionFormat Vtt { get; }
1117 public readonly bool Equals(AudioTranscriptionFormat other);
1118 [EditorBrowsable(EditorBrowsableState.Never)]
1119 public override readonly bool Equals(object obj);
1120 [EditorBrowsable(EditorBrowsableState.Never)]
1121 public override readonly int GetHashCode();
1122 public static bool operator ==(AudioTranscriptionFormat left, AudioTranscriptionFormat right);
1123 public static implicit operator AudioTranscriptionFormat(string value);
1124 public static implicit operator AudioTranscriptionFormat?(string value);
1125 public static bool operator !=(AudioTranscriptionFormat left, AudioTranscriptionFormat right);
1126 public override readonly string ToString();
1127 }
1128 [Experimental("OPENAI001")]
1129 [Flags]
1130 public enum AudioTranscriptionIncludes {
1131 Default = 0,
1132 Logprobs = 1
1133 }
1134 [Experimental("OPENAI001")]
1135 public class AudioTranscriptionInputTokenUsageDetails : IJsonModel<AudioTranscriptionInputTokenUsageDetails>, IPersistableModel<AudioTranscriptionInputTokenUsageDetails> {
1136 public int? AudioTokenCount { get; }
1137 public int? TextTokenCount { get; }
1138 }
1139 public class AudioTranscriptionOptions : IJsonModel<AudioTranscriptionOptions>, IPersistableModel<AudioTranscriptionOptions> {
1140 [Experimental("OPENAI001")]
1141 public AudioTranscriptionChunkingStrategy ChunkingStrategy { get; set; }
1142 [Experimental("OPENAI001")]
1143 public AudioTranscriptionIncludes Includes { get; set; }
1144 [Experimental("OPENAI001")]
1145 public IList<string> KnownSpeakerNames { get; }
1146 [Experimental("OPENAI001")]
1147 public IList<string> KnownSpeakerReferenceUris { get; }
1148 public string Language { get; set; }
1149 public string Prompt { get; set; }
1150 public AudioTranscriptionFormat? ResponseFormat { get; set; }
1151 public float? Temperature { get; set; }
1152 public AudioTimestampGranularities TimestampGranularities { get; set; }
1153 }
1154 [Experimental("OPENAI001")]
1155 public class AudioTranscriptionTokenUsage : AudioTranscriptionUsage, IJsonModel<AudioTranscriptionTokenUsage>, IPersistableModel<AudioTranscriptionTokenUsage> {
1156 public int InputTokenCount { get; }
1157 public AudioTranscriptionInputTokenUsageDetails InputTokenDetails { get; }
1158 public int OutputTokenCount { get; }
1159 public int TotalTokenCount { get; }
1160 }
1161 [Experimental("OPENAI001")]
1162 public class AudioTranscriptionUsage : IJsonModel<AudioTranscriptionUsage>, IPersistableModel<AudioTranscriptionUsage> {
1163 }
1164 public class AudioTranslation : IJsonModel<AudioTranslation>, IPersistableModel<AudioTranslation> {
1165 public TimeSpan? Duration { get; }
1166 public string Language { get; }
1167 public IReadOnlyList<TranscribedSegment> Segments { get; }
1168 public string Text { get; }
1169 [Experimental("OPENAI001")]
1170 public static explicit operator AudioTranslation(ClientResult result);
1171 }
1172 public readonly partial struct AudioTranslationFormat : IEquatable<AudioTranslationFormat> {
1173 public AudioTranslationFormat(string value);
1174 public static AudioTranslationFormat Simple { get; }
1175 public static AudioTranslationFormat Srt { get; }
1176 [EditorBrowsable(EditorBrowsableState.Never)]
1177 public static AudioTranslationFormat Text { get; }
1178 public static AudioTranslationFormat Verbose { get; }
1179 public static AudioTranslationFormat Vtt { get; }
1180 public readonly bool Equals(AudioTranslationFormat other);
1181 [EditorBrowsable(EditorBrowsableState.Never)]
1182 public override readonly bool Equals(object obj);
1183 [EditorBrowsable(EditorBrowsableState.Never)]
1184 public override readonly int GetHashCode();
1185 public static bool operator ==(AudioTranslationFormat left, AudioTranslationFormat right);
1186 public static implicit operator AudioTranslationFormat(string value);
1187 public static implicit operator AudioTranslationFormat?(string value);
1188 public static bool operator !=(AudioTranslationFormat left, AudioTranslationFormat right);
1189 public override readonly string ToString();
1190 }
1191 public class AudioTranslationOptions : IJsonModel<AudioTranslationOptions>, IPersistableModel<AudioTranslationOptions> {
1192 public string Prompt { get; set; }
1193 public AudioTranslationFormat? ResponseFormat { get; set; }
1194 public float? Temperature { get; set; }
1195 }
1196 [Experimental("OPENAI001")]
1197 public class DiarizedAudioTranscription : IJsonModel<DiarizedAudioTranscription>, IPersistableModel<DiarizedAudioTranscription> {
1198 public TimeSpan Duration { get; }
1199 public IReadOnlyList<DiarizedTranscriptionSegment> Segments { get; }
1200 public string Text { get; }
1201 public AudioTranscriptionUsage Usage { get; }
1202 }
1203 [Experimental("OPENAI001")]
1204 public readonly partial struct DiarizedTranscriptionSegment : IJsonModel<DiarizedTranscriptionSegment>, IPersistableModel<DiarizedTranscriptionSegment>, IJsonModel<object>, IPersistableModel<object> {
1205 public TimeSpan EndTime { get; }
1206 public string Id { get; }
1207 public string SpeakerLabel { get; }
1208 public TimeSpan StartTime { get; }
1209 public string Text { get; }
1210 }
1211 public readonly partial struct GeneratedSpeechFormat : IEquatable<GeneratedSpeechFormat> {
1212 public GeneratedSpeechFormat(string value);
1213 public static GeneratedSpeechFormat Aac { get; }
1214 public static GeneratedSpeechFormat Flac { get; }
1215 public static GeneratedSpeechFormat Mp3 { get; }
1216 public static GeneratedSpeechFormat Opus { get; }
1217 public static GeneratedSpeechFormat Pcm { get; }
1218 public static GeneratedSpeechFormat Wav { get; }
1219 public readonly bool Equals(GeneratedSpeechFormat other);
1220 [EditorBrowsable(EditorBrowsableState.Never)]
1221 public override readonly bool Equals(object obj);
1222 [EditorBrowsable(EditorBrowsableState.Never)]
1223 public override readonly int GetHashCode();
1224 public static bool operator ==(GeneratedSpeechFormat left, GeneratedSpeechFormat right);
1225 public static implicit operator GeneratedSpeechFormat(string value);
1226 public static implicit operator GeneratedSpeechFormat?(string value);
1227 public static bool operator !=(GeneratedSpeechFormat left, GeneratedSpeechFormat right);
1228 public override readonly string ToString();
1229 }
1230 public readonly partial struct GeneratedSpeechVoice : IEquatable<GeneratedSpeechVoice> {
1231 public GeneratedSpeechVoice(string value);
1232 public static GeneratedSpeechVoice Alloy { get; }
1233 [Experimental("OPENAI001")]
1234 public static GeneratedSpeechVoice Ash { get; }
1235 [Experimental("OPENAI001")]
1236 public static GeneratedSpeechVoice Ballad { get; }
1237 [Experimental("OPENAI001")]
1238 public static GeneratedSpeechVoice Coral { get; }
1239 public static GeneratedSpeechVoice Echo { get; }
1240 public static GeneratedSpeechVoice Fable { get; }
1241 public static GeneratedSpeechVoice Nova { get; }
1242 public static GeneratedSpeechVoice Onyx { get; }
1243 [Experimental("OPENAI001")]
1244 public static GeneratedSpeechVoice Sage { get; }
1245 public static GeneratedSpeechVoice Shimmer { get; }
1246 [Experimental("OPENAI001")]
1247 public static GeneratedSpeechVoice Verse { get; }
1248 public readonly bool Equals(GeneratedSpeechVoice other);
1249 [EditorBrowsable(EditorBrowsableState.Never)]
1250 public override readonly bool Equals(object obj);
1251 [EditorBrowsable(EditorBrowsableState.Never)]
1252 public override readonly int GetHashCode();
1253 public static bool operator ==(GeneratedSpeechVoice left, GeneratedSpeechVoice right);
1254 public static implicit operator GeneratedSpeechVoice(string value);
1255 public static implicit operator GeneratedSpeechVoice?(string value);
1256 public static bool operator !=(GeneratedSpeechVoice left, GeneratedSpeechVoice right);
1257 public override readonly string ToString();
1258 }
1259 public static class OpenAIAudioModelFactory {
1260 [Experimental("OPENAI001")]
1261 public static AudioTranscription AudioTranscription(string language = null, TimeSpan? duration = null, string text = null, IEnumerable<TranscribedWord> words = null, IEnumerable<TranscribedSegment> segments = null, IEnumerable<AudioTokenLogProbabilityDetails> transcriptionTokenLogProbabilities = null);
1262 [EditorBrowsable(EditorBrowsableState.Never)]
1263 public static AudioTranscription AudioTranscription(string language, TimeSpan? duration, string text, IEnumerable<TranscribedWord> words, IEnumerable<TranscribedSegment> segments);
1264 public static AudioTranslation AudioTranslation(string language = null, TimeSpan? duration = null, string text = null, IEnumerable<TranscribedSegment> segments = null);
1265 public static TranscribedSegment TranscribedSegment(int id = 0, int seekOffset = 0, TimeSpan startTime = default, TimeSpan endTime = default, string text = null, ReadOnlyMemory<int> tokenIds = default, float temperature = 0, float averageLogProbability = 0, float compressionRatio = 0, float noSpeechProbability = 0);
1266 public static TranscribedWord TranscribedWord(string word = null, TimeSpan startTime = default, TimeSpan endTime = default);
1267 }
1268 public class SpeechGenerationOptions : IJsonModel<SpeechGenerationOptions>, IPersistableModel<SpeechGenerationOptions> {
1269 [Experimental("OPENAI001")]
1270 public string Instructions { get; set; }
1271 public GeneratedSpeechFormat? ResponseFormat { get; set; }
1272 public float? SpeedRatio { get; set; }
1273 }
1274 [Experimental("OPENAI001")]
1275 public class SpeechTokenUsage : IJsonModel<SpeechTokenUsage>, IPersistableModel<SpeechTokenUsage> {
1276 public int InputTokenCount { get; }
1277 public int OutputTokenCount { get; }
1278 public int TotalTokenCount { get; }
1279 }
1280 [Experimental("OPENAI001")]
1281 public class StreamingAudioTranscriptionTextDeltaUpdate : StreamingAudioTranscriptionUpdate, IJsonModel<StreamingAudioTranscriptionTextDeltaUpdate>, IPersistableModel<StreamingAudioTranscriptionTextDeltaUpdate> {
1282 public string Delta { get; }
1283 public string SegmentId { get; }
1284 public IReadOnlyList<AudioTokenLogProbabilityDetails> TranscriptionTokenLogProbabilities { get; }
1285 }
1286 [Experimental("OPENAI001")]
1287 public class StreamingAudioTranscriptionTextDoneUpdate : StreamingAudioTranscriptionUpdate, IJsonModel<StreamingAudioTranscriptionTextDoneUpdate>, IPersistableModel<StreamingAudioTranscriptionTextDoneUpdate> {
1288 public string Text { get; }
1289 public IReadOnlyList<AudioTokenLogProbabilityDetails> TranscriptionTokenLogProbabilities { get; }
1290 public AudioTranscriptionTokenUsage Usage { get; }
1291 }
1292 [Experimental("OPENAI001")]
1293 public class StreamingAudioTranscriptionTextSegmentUpdate : StreamingAudioTranscriptionUpdate, IJsonModel<StreamingAudioTranscriptionTextSegmentUpdate>, IPersistableModel<StreamingAudioTranscriptionTextSegmentUpdate> {
1294 public TimeSpan EndTime { get; }
1295 public string SegmentId { get; }
1296 public string SpeakerLabel { get; }
1297 public TimeSpan StartTime { get; }
1298 public string Text { get; }
1299 }
1300 [Experimental("OPENAI001")]
1301 public class StreamingAudioTranscriptionUpdate : IJsonModel<StreamingAudioTranscriptionUpdate>, IPersistableModel<StreamingAudioTranscriptionUpdate> {
1302 }
1303 [Experimental("OPENAI001")]
1304 public class StreamingSpeechAudioDeltaUpdate : StreamingSpeechUpdate, IJsonModel<StreamingSpeechAudioDeltaUpdate>, IPersistableModel<StreamingSpeechAudioDeltaUpdate> {
1305 public BinaryData AudioBytes { get; }
1306 }
1307 [Experimental("OPENAI001")]
1308 public class StreamingSpeechAudioDoneUpdate : StreamingSpeechUpdate, IJsonModel<StreamingSpeechAudioDoneUpdate>, IPersistableModel<StreamingSpeechAudioDoneUpdate> {
1309 public SpeechTokenUsage Usage { get; }
1310 }
1311 [Experimental("OPENAI001")]
1312 public class StreamingSpeechUpdate : IJsonModel<StreamingSpeechUpdate>, IPersistableModel<StreamingSpeechUpdate> {
1313 }
1314 public readonly partial struct TranscribedSegment : IJsonModel<TranscribedSegment>, IPersistableModel<TranscribedSegment>, IJsonModel<object>, IPersistableModel<object> {
1315 public float AverageLogProbability { get; }
1316 public float CompressionRatio { get; }
1317 public TimeSpan EndTime { get; }
1318 public int Id { get; }
1319 public float NoSpeechProbability { get; }
1320 public int SeekOffset { get; }
1321 public TimeSpan StartTime { get; }
1322 public float Temperature { get; }
1323 public string Text { get; }
1324 public ReadOnlyMemory<int> TokenIds { get; }
1325 }
1326 public readonly partial struct TranscribedWord : IJsonModel<TranscribedWord>, IPersistableModel<TranscribedWord>, IJsonModel<object>, IPersistableModel<object> {
1327 public TimeSpan EndTime { get; }
1328 public TimeSpan StartTime { get; }
1329 public string Word { get; }
1330 }
1331}
1332namespace OpenAI.Batch {
1333 [Experimental("OPENAI001")]
1334 public class BatchClient {
1335 protected BatchClient();
1336 [Experimental("SCME0002")]
1337 public BatchClient(BatchClientSettings settings);
1338 public BatchClient(ApiKeyCredential credential, OpenAIClientOptions options);
1339 public BatchClient(ApiKeyCredential credential);
1340 public BatchClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
1341 public BatchClient(AuthenticationPolicy authenticationPolicy);
1342 protected internal BatchClient(ClientPipeline pipeline, OpenAIClientOptions options);
1343 public BatchClient(string apiKey);
1344 [Experimental("OPENAI001")]
1345 public Uri Endpoint { get; }
1346 public ClientPipeline Pipeline { get; }
1347 public virtual CreateBatchOperation CreateBatch(BinaryContent content, bool waitUntilCompleted, RequestOptions options = null);
1348 public virtual Task<CreateBatchOperation> CreateBatchAsync(BinaryContent content, bool waitUntilCompleted, RequestOptions options = null);
1349 public virtual ClientResult GetBatch(string batchId, RequestOptions options);
1350 public virtual Task<ClientResult> GetBatchAsync(string batchId, RequestOptions options);
1351 public virtual CollectionResult<BatchJob> GetBatches(BatchCollectionOptions options = null, CancellationToken cancellationToken = default);
1352 public virtual CollectionResult GetBatches(string after, int? limit, RequestOptions options);
1353 public virtual AsyncCollectionResult<BatchJob> GetBatchesAsync(BatchCollectionOptions options = null, CancellationToken cancellationToken = default);
1354 public virtual AsyncCollectionResult GetBatchesAsync(string after, int? limit, RequestOptions options);
1355 }
1356 [Experimental("SCME0002")]
1357 public sealed class BatchClientSettings : ClientSettings {
1358 public OpenAIClientOptions Options { get; set; }
1359 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
1360 }
1361 [Experimental("OPENAI001")]
1362 public class BatchCollectionOptions : IJsonModel<BatchCollectionOptions>, IPersistableModel<BatchCollectionOptions> {
1363 public string AfterId { get; set; }
1364 public int? PageSizeLimit { get; set; }
1365 }
1366 [Experimental("OPENAI001")]
1367 public class BatchJob : IJsonModel<BatchJob>, IPersistableModel<BatchJob> {
1368 public DateTimeOffset? CancelledAt { get; }
1369 public DateTimeOffset? CancellingAt { get; }
1370 public DateTimeOffset? CompletedAt { get; }
1371 public string CompletionWindow { get; }
1372 public DateTimeOffset CreatedAt { get; }
1373 public string Endpoint { get; }
1374 public string ErrorFileId { get; }
1375 public DateTimeOffset? ExpiredAt { get; }
1376 public DateTimeOffset? ExpiresAt { get; }
1377 public DateTimeOffset? FailedAt { get; }
1378 public DateTimeOffset? FinalizingAt { get; }
1379 public string Id { get; }
1380 public DateTimeOffset? InProgressAt { get; }
1381 public string InputFileId { get; }
1382 public IDictionary<string, string> Metadata { get; }
1383 public string Object { get; }
1384 public string OutputFileId { get; }
1385 public static explicit operator BatchJob(ClientResult result);
1386 }
1387 [Experimental("OPENAI001")]
1388 public class CreateBatchOperation : OperationResult {
1389 public string BatchId { get; }
1390 public override ContinuationToken? RehydrationToken { get; protected set; }
1391 public virtual ClientResult Cancel(RequestOptions? options);
1392 public virtual Task<ClientResult> CancelAsync(RequestOptions? options);
1393 public virtual ClientResult GetBatch(RequestOptions? options);
1394 public virtual Task<ClientResult> GetBatchAsync(RequestOptions? options);
1395 public static CreateBatchOperation Rehydrate(BatchClient client, ContinuationToken rehydrationToken, CancellationToken cancellationToken = default);
1396 public static CreateBatchOperation Rehydrate(BatchClient client, string batchId, CancellationToken cancellationToken = default);
1397 public static Task<CreateBatchOperation> RehydrateAsync(BatchClient client, ContinuationToken rehydrationToken, CancellationToken cancellationToken = default);
1398 public static Task<CreateBatchOperation> RehydrateAsync(BatchClient client, string batchId, CancellationToken cancellationToken = default);
1399 public override ClientResult UpdateStatus(RequestOptions? options = null);
1400 public override ValueTask<ClientResult> UpdateStatusAsync(RequestOptions? options = null);
1401 }
1402}
1403namespace OpenAI.Chat {
1404 public class AssistantChatMessage : ChatMessage, IJsonModel<AssistantChatMessage>, IPersistableModel<AssistantChatMessage> {
1405 public AssistantChatMessage(ChatCompletion chatCompletion);
1406 [Obsolete("This constructor is obsolete. Please use the constructor that takes an IEnumerable<ChatToolCall> parameter instead.")]
1407 public AssistantChatMessage(ChatFunctionCall functionCall);
1408 public AssistantChatMessage(params ChatMessageContentPart[] contentParts);
1409 [Experimental("OPENAI001")]
1410 public AssistantChatMessage(ChatOutputAudioReference outputAudioReference);
1411 public AssistantChatMessage(IEnumerable<ChatMessageContentPart> contentParts);
1412 public AssistantChatMessage(IEnumerable<ChatToolCall> toolCalls);
1413 public AssistantChatMessage(string content);
1414 [Obsolete("This property is obsolete. Please use ToolCalls instead.")]
1415 public ChatFunctionCall FunctionCall { get; set; }
1416 [Experimental("OPENAI001")]
1417 public ChatOutputAudioReference OutputAudioReference { get; set; }
1418 public string ParticipantName { get; set; }
1419 public string Refusal { get; set; }
1420 public IList<ChatToolCall> ToolCalls { get; }
1421 }
1422 [Experimental("OPENAI001")]
1423 public class ChatAudioOptions : IJsonModel<ChatAudioOptions>, IPersistableModel<ChatAudioOptions> {
1424 public ChatAudioOptions(ChatOutputAudioVoice outputAudioVoice, ChatOutputAudioFormat outputAudioFormat);
1425 public ChatOutputAudioFormat OutputAudioFormat { get; }
1426 public ChatOutputAudioVoice OutputAudioVoice { get; }
1427 [Serialization.JsonIgnore]
1428 [EditorBrowsable(EditorBrowsableState.Never)]
1429 [Experimental("SCME0001")]
1430 public ref JsonPatch Patch { get; }
1431 }
1432 public class ChatClient {
1433 protected ChatClient();
1434 [Experimental("SCME0002")]
1435 public ChatClient(ChatClientSettings settings);
1436 protected internal ChatClient(ClientPipeline pipeline, string model, OpenAIClientOptions options);
1437 public ChatClient(string model, ApiKeyCredential credential, OpenAIClientOptions options);
1438 public ChatClient(string model, ApiKeyCredential credential);
1439 [Experimental("OPENAI001")]
1440 public ChatClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
1441 [Experimental("OPENAI001")]
1442 public ChatClient(string model, AuthenticationPolicy authenticationPolicy);
1443 public ChatClient(string model, string apiKey);
1444 [Experimental("OPENAI001")]
1445 public Uri Endpoint { get; }
1446 [Experimental("OPENAI001")]
1447 public string Model { get; }
1448 public ClientPipeline Pipeline { get; }
1449 public virtual ClientResult<ChatCompletion> CompleteChat(params ChatMessage[] messages);
1450 public virtual ClientResult CompleteChat(BinaryContent content, RequestOptions options = null);
1451 public virtual ClientResult<ChatCompletion> CompleteChat(IEnumerable<ChatMessage> messages, ChatCompletionOptions options = null, CancellationToken cancellationToken = default);
1452 public virtual Task<ClientResult<ChatCompletion>> CompleteChatAsync(params ChatMessage[] messages);
1453 public virtual Task<ClientResult> CompleteChatAsync(BinaryContent content, RequestOptions options = null);
1454 public virtual Task<ClientResult<ChatCompletion>> CompleteChatAsync(IEnumerable<ChatMessage> messages, ChatCompletionOptions options = null, CancellationToken cancellationToken = default);
1455 public virtual CollectionResult<StreamingChatCompletionUpdate> CompleteChatStreaming(params ChatMessage[] messages);
1456 public virtual CollectionResult<StreamingChatCompletionUpdate> CompleteChatStreaming(IEnumerable<ChatMessage> messages, ChatCompletionOptions options = null, CancellationToken cancellationToken = default);
1457 public virtual AsyncCollectionResult<StreamingChatCompletionUpdate> CompleteChatStreamingAsync(params ChatMessage[] messages);
1458 public virtual AsyncCollectionResult<StreamingChatCompletionUpdate> CompleteChatStreamingAsync(IEnumerable<ChatMessage> messages, ChatCompletionOptions options = null, CancellationToken cancellationToken = default);
1459 [Experimental("OPENAI001")]
1460 public virtual ClientResult DeleteChatCompletion(string completionId, RequestOptions options);
1461 [Experimental("OPENAI001")]
1462 public virtual ClientResult<ChatCompletionDeletionResult> DeleteChatCompletion(string completionId, CancellationToken cancellationToken = default);
1463 [Experimental("OPENAI001")]
1464 public virtual Task<ClientResult> DeleteChatCompletionAsync(string completionId, RequestOptions options);
1465 [Experimental("OPENAI001")]
1466 public virtual Task<ClientResult<ChatCompletionDeletionResult>> DeleteChatCompletionAsync(string completionId, CancellationToken cancellationToken = default);
1467 [Experimental("OPENAI001")]
1468 public virtual ClientResult GetChatCompletion(string completionId, RequestOptions options);
1469 [Experimental("OPENAI001")]
1470 public virtual ClientResult<ChatCompletion> GetChatCompletion(string completionId, CancellationToken cancellationToken = default);
1471 [Experimental("OPENAI001")]
1472 public virtual Task<ClientResult> GetChatCompletionAsync(string completionId, RequestOptions options);
1473 [Experimental("OPENAI001")]
1474 public virtual Task<ClientResult<ChatCompletion>> GetChatCompletionAsync(string completionId, CancellationToken cancellationToken = default);
1475 [Experimental("OPENAI001")]
1476 public virtual CollectionResult<ChatCompletionMessageListDatum> GetChatCompletionMessages(string completionId, ChatCompletionMessageCollectionOptions options = null, CancellationToken cancellationToken = default);
1477 [Experimental("OPENAI001")]
1478 public virtual CollectionResult GetChatCompletionMessages(string completionId, string after, int? limit, string order, RequestOptions options);
1479 [Experimental("OPENAI001")]
1480 public virtual AsyncCollectionResult<ChatCompletionMessageListDatum> GetChatCompletionMessagesAsync(string completionId, ChatCompletionMessageCollectionOptions options = null, CancellationToken cancellationToken = default);
1481 [Experimental("OPENAI001")]
1482 public virtual AsyncCollectionResult GetChatCompletionMessagesAsync(string completionId, string after, int? limit, string order, RequestOptions options);
1483 [Experimental("OPENAI001")]
1484 public virtual CollectionResult<ChatCompletion> GetChatCompletions(ChatCompletionCollectionOptions options = null, CancellationToken cancellationToken = default);
1485 [Experimental("OPENAI001")]
1486 public virtual CollectionResult GetChatCompletions(string after, int? limit, string order, IDictionary<string, string> metadata, string model, RequestOptions options);
1487 [Experimental("OPENAI001")]
1488 public virtual AsyncCollectionResult<ChatCompletion> GetChatCompletionsAsync(ChatCompletionCollectionOptions options = null, CancellationToken cancellationToken = default);
1489 [Experimental("OPENAI001")]
1490 public virtual AsyncCollectionResult GetChatCompletionsAsync(string after, int? limit, string order, IDictionary<string, string> metadata, string model, RequestOptions options);
1491 [Experimental("OPENAI001")]
1492 public virtual ClientResult UpdateChatCompletion(string completionId, BinaryContent content, RequestOptions options = null);
1493 [Experimental("OPENAI001")]
1494 public virtual ClientResult<ChatCompletion> UpdateChatCompletion(string completionId, IDictionary<string, string> metadata, CancellationToken cancellationToken = default);
1495 [Experimental("OPENAI001")]
1496 public virtual Task<ClientResult> UpdateChatCompletionAsync(string completionId, BinaryContent content, RequestOptions options = null);
1497 [Experimental("OPENAI001")]
1498 public virtual Task<ClientResult<ChatCompletion>> UpdateChatCompletionAsync(string completionId, IDictionary<string, string> metadata, CancellationToken cancellationToken = default);
1499 }
1500 [Experimental("SCME0002")]
1501 public sealed class ChatClientSettings : ClientSettings {
1502 public string Model { get; set; }
1503 public OpenAIClientOptions Options { get; set; }
1504 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
1505 }
1506 public class ChatCompletion : IJsonModel<ChatCompletion>, IPersistableModel<ChatCompletion> {
1507 [Experimental("OPENAI001")]
1508 public IReadOnlyList<ChatMessageAnnotation> Annotations { get; }
1509 public ChatMessageContent Content { get; }
1510 public IReadOnlyList<ChatTokenLogProbabilityDetails> ContentTokenLogProbabilities { get; }
1511 public DateTimeOffset CreatedAt { get; }
1512 public ChatFinishReason FinishReason { get; }
1513 [Obsolete("This property is obsolete. Please use ToolCalls instead.")]
1514 public ChatFunctionCall FunctionCall { get; }
1515 public string Id { get; }
1516 public string Model { get; }
1517 [Experimental("OPENAI001")]
1518 public ChatOutputAudio OutputAudio { get; }
1519 [Serialization.JsonIgnore]
1520 [EditorBrowsable(EditorBrowsableState.Never)]
1521 [Experimental("SCME0001")]
1522 public ref JsonPatch Patch { get; }
1523 public string Refusal { get; }
1524 public IReadOnlyList<ChatTokenLogProbabilityDetails> RefusalTokenLogProbabilities { get; }
1525 public ChatMessageRole Role { get; }
1526 [Experimental("OPENAI001")]
1527 public ChatServiceTier? ServiceTier { get; }
1528 public string SystemFingerprint { get; }
1529 public IReadOnlyList<ChatToolCall> ToolCalls { get; }
1530 public ChatTokenUsage Usage { get; }
1531 [Experimental("OPENAI001")]
1532 public static explicit operator ChatCompletion(ClientResult result);
1533 }
1534 [Experimental("OPENAI001")]
1535 public class ChatCompletionCollectionOptions : IJsonModel<ChatCompletionCollectionOptions>, IPersistableModel<ChatCompletionCollectionOptions> {
1536 public string AfterId { get; set; }
1537 public IDictionary<string, string> Metadata { get; }
1538 public string Model { get; set; }
1539 public ChatCompletionCollectionOrder? Order { get; set; }
1540 public int? PageSizeLimit { get; set; }
1541 [Serialization.JsonIgnore]
1542 [EditorBrowsable(EditorBrowsableState.Never)]
1543 [Experimental("SCME0001")]
1544 public ref JsonPatch Patch { get; }
1545 }
1546 [Experimental("OPENAI001")]
1547 public readonly partial struct ChatCompletionCollectionOrder : IEquatable<ChatCompletionCollectionOrder> {
1548 public ChatCompletionCollectionOrder(string value);
1549 public static ChatCompletionCollectionOrder Ascending { get; }
1550 public static ChatCompletionCollectionOrder Descending { get; }
1551 public readonly bool Equals(ChatCompletionCollectionOrder other);
1552 [EditorBrowsable(EditorBrowsableState.Never)]
1553 public override readonly bool Equals(object obj);
1554 [EditorBrowsable(EditorBrowsableState.Never)]
1555 public override readonly int GetHashCode();
1556 public static bool operator ==(ChatCompletionCollectionOrder left, ChatCompletionCollectionOrder right);
1557 public static implicit operator ChatCompletionCollectionOrder(string value);
1558 public static implicit operator ChatCompletionCollectionOrder?(string value);
1559 public static bool operator !=(ChatCompletionCollectionOrder left, ChatCompletionCollectionOrder right);
1560 public override readonly string ToString();
1561 }
1562 [Experimental("OPENAI001")]
1563 public class ChatCompletionDeletionResult : IJsonModel<ChatCompletionDeletionResult>, IPersistableModel<ChatCompletionDeletionResult> {
1564 public string ChatCompletionId { get; }
1565 public bool Deleted { get; }
1566 [Serialization.JsonIgnore]
1567 [EditorBrowsable(EditorBrowsableState.Never)]
1568 [Experimental("SCME0001")]
1569 public ref JsonPatch Patch { get; }
1570 public static explicit operator ChatCompletionDeletionResult(ClientResult result);
1571 }
1572 [Experimental("OPENAI001")]
1573 public class ChatCompletionMessageCollectionOptions : IJsonModel<ChatCompletionMessageCollectionOptions>, IPersistableModel<ChatCompletionMessageCollectionOptions> {
1574 public string AfterId { get; set; }
1575 public ChatCompletionMessageCollectionOrder? Order { get; set; }
1576 public int? PageSizeLimit { get; set; }
1577 [Serialization.JsonIgnore]
1578 [EditorBrowsable(EditorBrowsableState.Never)]
1579 [Experimental("SCME0001")]
1580 public ref JsonPatch Patch { get; }
1581 }
1582 [Experimental("OPENAI001")]
1583 public readonly partial struct ChatCompletionMessageCollectionOrder : IEquatable<ChatCompletionMessageCollectionOrder> {
1584 public ChatCompletionMessageCollectionOrder(string value);
1585 public static ChatCompletionMessageCollectionOrder Ascending { get; }
1586 public static ChatCompletionMessageCollectionOrder Descending { get; }
1587 public readonly bool Equals(ChatCompletionMessageCollectionOrder other);
1588 [EditorBrowsable(EditorBrowsableState.Never)]
1589 public override readonly bool Equals(object obj);
1590 [EditorBrowsable(EditorBrowsableState.Never)]
1591 public override readonly int GetHashCode();
1592 public static bool operator ==(ChatCompletionMessageCollectionOrder left, ChatCompletionMessageCollectionOrder right);
1593 public static implicit operator ChatCompletionMessageCollectionOrder(string value);
1594 public static implicit operator ChatCompletionMessageCollectionOrder?(string value);
1595 public static bool operator !=(ChatCompletionMessageCollectionOrder left, ChatCompletionMessageCollectionOrder right);
1596 public override readonly string ToString();
1597 }
1598 [Experimental("OPENAI001")]
1599 public class ChatCompletionMessageListDatum : IJsonModel<ChatCompletionMessageListDatum>, IPersistableModel<ChatCompletionMessageListDatum> {
1600 public IReadOnlyList<ChatMessageAnnotation> Annotations { get; }
1601 public string Content { get; }
1602 public IList<ChatMessageContentPart> ContentParts { get; }
1603 public string Id { get; }
1604 public ChatOutputAudio OutputAudio { get; }
1605 [Serialization.JsonIgnore]
1606 [EditorBrowsable(EditorBrowsableState.Never)]
1607 [Experimental("SCME0001")]
1608 public ref JsonPatch Patch { get; }
1609 public string Refusal { get; }
1610 public IReadOnlyList<ChatToolCall> ToolCalls { get; }
1611 }
1612 public class ChatCompletionOptions : IJsonModel<ChatCompletionOptions>, IPersistableModel<ChatCompletionOptions> {
1613 public bool? AllowParallelToolCalls { get; set; }
1614 [Experimental("OPENAI001")]
1615 public ChatAudioOptions AudioOptions { get; set; }
1616 public string EndUserId { get; set; }
1617 public float? FrequencyPenalty { get; set; }
1618 [Obsolete("This property is obsolete. Please use ToolChoice instead.")]
1619 public ChatFunctionChoice FunctionChoice { get; set; }
1620 [Obsolete("This property is obsolete. Please use Tools instead.")]
1621 public IList<ChatFunction> Functions { get; }
1622 public bool? IncludeLogProbabilities { get; set; }
1623 public IDictionary<int, int> LogitBiases { get; }
1624 public int? MaxOutputTokenCount { get; set; }
1625 public IDictionary<string, string> Metadata { get; }
1626 [Experimental("OPENAI001")]
1627 public ChatOutputPrediction OutputPrediction { get; set; }
1628 [Serialization.JsonIgnore]
1629 [EditorBrowsable(EditorBrowsableState.Never)]
1630 [Experimental("SCME0001")]
1631 public ref JsonPatch Patch { get; }
1632 public float? PresencePenalty { get; set; }
1633 [Experimental("OPENAI001")]
1634 public ChatReasoningEffortLevel? ReasoningEffortLevel { get; set; }
1635 public ChatResponseFormat ResponseFormat { get; set; }
1636 [Experimental("OPENAI001")]
1637 public ChatResponseModalities ResponseModalities { get; set; }
1638 [Experimental("OPENAI001")]
1639 public string SafetyIdentifier { get; set; }
1640 [Experimental("OPENAI001")]
1641 public long? Seed { get; set; }
1642 [Experimental("OPENAI001")]
1643 public ChatServiceTier? ServiceTier { get; set; }
1644 public IList<string> StopSequences { get; }
1645 public bool? StoredOutputEnabled { get; set; }
1646 public float? Temperature { get; set; }
1647 public ChatToolChoice ToolChoice { get; set; }
1648 public IList<ChatTool> Tools { get; }
1649 public int? TopLogProbabilityCount { get; set; }
1650 public float? TopP { get; set; }
1651 [Experimental("OPENAI001")]
1652 public ChatWebSearchOptions WebSearchOptions { get; set; }
1653 }
1654 public enum ChatFinishReason {
1655 Stop = 0,
1656 Length = 1,
1657 ContentFilter = 2,
1658 ToolCalls = 3,
1659 FunctionCall = 4
1660 }
1661 [Obsolete("This class is obsolete. Please use ChatTool instead.")]
1662 public class ChatFunction : IJsonModel<ChatFunction>, IPersistableModel<ChatFunction> {
1663 public ChatFunction(string functionName);
1664 public string FunctionDescription { get; set; }
1665 public string FunctionName { get; }
1666 public BinaryData FunctionParameters { get; set; }
1667 [Serialization.JsonIgnore]
1668 [EditorBrowsable(EditorBrowsableState.Never)]
1669 [Experimental("SCME0001")]
1670 public ref JsonPatch Patch { get; }
1671 }
1672 [Obsolete("This class is obsolete. Please use ChatToolCall instead.")]
1673 public class ChatFunctionCall : IJsonModel<ChatFunctionCall>, IPersistableModel<ChatFunctionCall> {
1674 public ChatFunctionCall(string functionName, BinaryData functionArguments);
1675 public BinaryData FunctionArguments { get; }
1676 public string FunctionName { get; }
1677 [Serialization.JsonIgnore]
1678 [EditorBrowsable(EditorBrowsableState.Never)]
1679 [Experimental("SCME0001")]
1680 public ref JsonPatch Patch { get; }
1681 }
1682 [Obsolete("This class is obsolete. Please use ChatToolChoice instead.")]
1683 public class ChatFunctionChoice : IJsonModel<ChatFunctionChoice>, IPersistableModel<ChatFunctionChoice> {
1684 [Serialization.JsonIgnore]
1685 [EditorBrowsable(EditorBrowsableState.Never)]
1686 [Experimental("SCME0001")]
1687 public ref JsonPatch Patch { get; }
1688 public static ChatFunctionChoice CreateAutoChoice();
1689 public static ChatFunctionChoice CreateNamedChoice(string functionName);
1690 public static ChatFunctionChoice CreateNoneChoice();
1691 }
1692 public readonly partial struct ChatImageDetailLevel : IEquatable<ChatImageDetailLevel> {
1693 public ChatImageDetailLevel(string value);
1694 public static ChatImageDetailLevel Auto { get; }
1695 public static ChatImageDetailLevel High { get; }
1696 public static ChatImageDetailLevel Low { get; }
1697 public readonly bool Equals(ChatImageDetailLevel other);
1698 [EditorBrowsable(EditorBrowsableState.Never)]
1699 public override readonly bool Equals(object obj);
1700 [EditorBrowsable(EditorBrowsableState.Never)]
1701 public override readonly int GetHashCode();
1702 public static bool operator ==(ChatImageDetailLevel left, ChatImageDetailLevel right);
1703 public static implicit operator ChatImageDetailLevel(string value);
1704 public static implicit operator ChatImageDetailLevel?(string value);
1705 public static bool operator !=(ChatImageDetailLevel left, ChatImageDetailLevel right);
1706 public override readonly string ToString();
1707 }
1708 [Experimental("OPENAI001")]
1709 public readonly partial struct ChatInputAudioFormat : IEquatable<ChatInputAudioFormat> {
1710 public ChatInputAudioFormat(string value);
1711 public static ChatInputAudioFormat Mp3 { get; }
1712 public static ChatInputAudioFormat Wav { get; }
1713 public readonly bool Equals(ChatInputAudioFormat other);
1714 [EditorBrowsable(EditorBrowsableState.Never)]
1715 public override readonly bool Equals(object obj);
1716 [EditorBrowsable(EditorBrowsableState.Never)]
1717 public override readonly int GetHashCode();
1718 public static bool operator ==(ChatInputAudioFormat left, ChatInputAudioFormat right);
1719 public static implicit operator ChatInputAudioFormat(string value);
1720 public static implicit operator ChatInputAudioFormat?(string value);
1721 public static bool operator !=(ChatInputAudioFormat left, ChatInputAudioFormat right);
1722 public override readonly string ToString();
1723 }
1724 public class ChatInputTokenUsageDetails : IJsonModel<ChatInputTokenUsageDetails>, IPersistableModel<ChatInputTokenUsageDetails> {
1725 public int AudioTokenCount { get; }
1726 public int CachedTokenCount { get; }
1727 [Serialization.JsonIgnore]
1728 [EditorBrowsable(EditorBrowsableState.Never)]
1729 [Experimental("SCME0001")]
1730 public ref JsonPatch Patch { get; }
1731 }
1732 public class ChatMessage : IJsonModel<ChatMessage>, IPersistableModel<ChatMessage> {
1733 public ChatMessageContent Content { get; }
1734 [Serialization.JsonIgnore]
1735 [EditorBrowsable(EditorBrowsableState.Never)]
1736 [Experimental("SCME0001")]
1737 public ref JsonPatch Patch { get; }
1738 public static AssistantChatMessage CreateAssistantMessage(ChatCompletion chatCompletion);
1739 public static AssistantChatMessage CreateAssistantMessage(ChatFunctionCall functionCall);
1740 public static AssistantChatMessage CreateAssistantMessage(params ChatMessageContentPart[] contentParts);
1741 [Experimental("OPENAI001")]
1742 public static AssistantChatMessage CreateAssistantMessage(ChatOutputAudioReference outputAudioReference);
1743 public static AssistantChatMessage CreateAssistantMessage(IEnumerable<ChatMessageContentPart> contentParts);
1744 public static AssistantChatMessage CreateAssistantMessage(IEnumerable<ChatToolCall> toolCalls);
1745 public static AssistantChatMessage CreateAssistantMessage(string content);
1746 [Experimental("OPENAI001")]
1747 public static DeveloperChatMessage CreateDeveloperMessage(params ChatMessageContentPart[] contentParts);
1748 [Experimental("OPENAI001")]
1749 public static DeveloperChatMessage CreateDeveloperMessage(IEnumerable<ChatMessageContentPart> contentParts);
1750 [Experimental("OPENAI001")]
1751 public static DeveloperChatMessage CreateDeveloperMessage(string content);
1752 [Obsolete("This method is obsolete. Please use CreateToolMessage instead.")]
1753 public static FunctionChatMessage CreateFunctionMessage(string functionName, string content);
1754 public static SystemChatMessage CreateSystemMessage(params ChatMessageContentPart[] contentParts);
1755 public static SystemChatMessage CreateSystemMessage(IEnumerable<ChatMessageContentPart> contentParts);
1756 public static SystemChatMessage CreateSystemMessage(string content);
1757 public static ToolChatMessage CreateToolMessage(string toolCallId, params ChatMessageContentPart[] contentParts);
1758 public static ToolChatMessage CreateToolMessage(string toolCallId, IEnumerable<ChatMessageContentPart> contentParts);
1759 public static ToolChatMessage CreateToolMessage(string toolCallId, string content);
1760 public static UserChatMessage CreateUserMessage(params ChatMessageContentPart[] contentParts);
1761 public static UserChatMessage CreateUserMessage(IEnumerable<ChatMessageContentPart> contentParts);
1762 public static UserChatMessage CreateUserMessage(string content);
1763 public static implicit operator ChatMessage(string content);
1764 }
1765 [Experimental("OPENAI001")]
1766 public class ChatMessageAnnotation : IJsonModel<ChatMessageAnnotation>, IPersistableModel<ChatMessageAnnotation> {
1767 public int EndIndex { get; }
1768 [Serialization.JsonIgnore]
1769 [EditorBrowsable(EditorBrowsableState.Never)]
1770 [Experimental("SCME0001")]
1771 public ref JsonPatch Patch { get; }
1772 public int StartIndex { get; }
1773 public string WebResourceTitle { get; }
1774 public Uri WebResourceUri { get; }
1775 }
1776 public class ChatMessageContent : ObjectModel.Collection<ChatMessageContentPart> {
1777 public ChatMessageContent();
1778 public ChatMessageContent(params ChatMessageContentPart[] contentParts);
1779 public ChatMessageContent(IEnumerable<ChatMessageContentPart> contentParts);
1780 public ChatMessageContent(string content);
1781 }
1782 public class ChatMessageContentPart : IJsonModel<ChatMessageContentPart>, IPersistableModel<ChatMessageContentPart> {
1783 [Experimental("OPENAI001")]
1784 public BinaryData FileBytes { get; }
1785 [Experimental("OPENAI001")]
1786 public string FileBytesMediaType { get; }
1787 [Experimental("OPENAI001")]
1788 public string FileId { get; }
1789 [Experimental("OPENAI001")]
1790 public string Filename { get; }
1791 public BinaryData ImageBytes { get; }
1792 public string ImageBytesMediaType { get; }
1793 public ChatImageDetailLevel? ImageDetailLevel { get; }
1794 public Uri ImageUri { get; }
1795 [Experimental("OPENAI001")]
1796 public BinaryData InputAudioBytes { get; }
1797 [Experimental("OPENAI001")]
1798 public ChatInputAudioFormat? InputAudioFormat { get; }
1799 public ChatMessageContentPartKind Kind { get; }
1800 [Serialization.JsonIgnore]
1801 [EditorBrowsable(EditorBrowsableState.Never)]
1802 [Experimental("SCME0001")]
1803 public ref JsonPatch Patch { get; }
1804 public string Refusal { get; }
1805 public string Text { get; }
1806 [Experimental("OPENAI001")]
1807 public static ChatMessageContentPart CreateFilePart(BinaryData fileBytes, string fileBytesMediaType, string filename);
1808 [Experimental("OPENAI001")]
1809 public static ChatMessageContentPart CreateFilePart(string fileId);
1810 public static ChatMessageContentPart CreateImagePart(BinaryData imageBytes, string imageBytesMediaType, ChatImageDetailLevel? imageDetailLevel = null);
1811 public static ChatMessageContentPart CreateImagePart(Uri imageUri, ChatImageDetailLevel? imageDetailLevel = null);
1812 [Experimental("OPENAI001")]
1813 public static ChatMessageContentPart CreateInputAudioPart(BinaryData inputAudioBytes, ChatInputAudioFormat inputAudioFormat);
1814 public static ChatMessageContentPart CreateRefusalPart(string refusal);
1815 public static ChatMessageContentPart CreateTextPart(string text);
1816 public static implicit operator ChatMessageContentPart(string text);
1817 }
1818 public enum ChatMessageContentPartKind {
1819 Text = 0,
1820 Refusal = 1,
1821 Image = 2,
1822 InputAudio = 3,
1823 File = 4
1824 }
1825 public enum ChatMessageRole {
1826 System = 0,
1827 User = 1,
1828 Assistant = 2,
1829 Tool = 3,
1830 Function = 4,
1831 Developer = 5
1832 }
1833 [Experimental("OPENAI001")]
1834 public class ChatOutputAudio : IJsonModel<ChatOutputAudio>, IPersistableModel<ChatOutputAudio> {
1835 public BinaryData AudioBytes { get; }
1836 public DateTimeOffset ExpiresAt { get; }
1837 public string Id { get; }
1838 [Serialization.JsonIgnore]
1839 [EditorBrowsable(EditorBrowsableState.Never)]
1840 [Experimental("SCME0001")]
1841 public ref JsonPatch Patch { get; }
1842 public string Transcript { get; }
1843 }
1844 [Experimental("OPENAI001")]
1845 public readonly partial struct ChatOutputAudioFormat : IEquatable<ChatOutputAudioFormat> {
1846 public ChatOutputAudioFormat(string value);
1847 public static ChatOutputAudioFormat Aac { get; }
1848 public static ChatOutputAudioFormat Flac { get; }
1849 public static ChatOutputAudioFormat Mp3 { get; }
1850 public static ChatOutputAudioFormat Opus { get; }
1851 public static ChatOutputAudioFormat Pcm16 { get; }
1852 public static ChatOutputAudioFormat Wav { get; }
1853 public readonly bool Equals(ChatOutputAudioFormat other);
1854 [EditorBrowsable(EditorBrowsableState.Never)]
1855 public override readonly bool Equals(object obj);
1856 [EditorBrowsable(EditorBrowsableState.Never)]
1857 public override readonly int GetHashCode();
1858 public static bool operator ==(ChatOutputAudioFormat left, ChatOutputAudioFormat right);
1859 public static implicit operator ChatOutputAudioFormat(string value);
1860 public static implicit operator ChatOutputAudioFormat?(string value);
1861 public static bool operator !=(ChatOutputAudioFormat left, ChatOutputAudioFormat right);
1862 public override readonly string ToString();
1863 }
1864 [Experimental("OPENAI001")]
1865 public class ChatOutputAudioReference : IJsonModel<ChatOutputAudioReference>, IPersistableModel<ChatOutputAudioReference> {
1866 public ChatOutputAudioReference(string id);
1867 public string Id { get; }
1868 [Serialization.JsonIgnore]
1869 [EditorBrowsable(EditorBrowsableState.Never)]
1870 [Experimental("SCME0001")]
1871 public ref JsonPatch Patch { get; }
1872 }
1873 [Experimental("OPENAI001")]
1874 public readonly partial struct ChatOutputAudioVoice : IEquatable<ChatOutputAudioVoice> {
1875 public ChatOutputAudioVoice(string value);
1876 public static ChatOutputAudioVoice Alloy { get; }
1877 public static ChatOutputAudioVoice Ash { get; }
1878 public static ChatOutputAudioVoice Ballad { get; }
1879 public static ChatOutputAudioVoice Coral { get; }
1880 public static ChatOutputAudioVoice Echo { get; }
1881 public static ChatOutputAudioVoice Fable { get; }
1882 public static ChatOutputAudioVoice Nova { get; }
1883 public static ChatOutputAudioVoice Onyx { get; }
1884 public static ChatOutputAudioVoice Sage { get; }
1885 public static ChatOutputAudioVoice Shimmer { get; }
1886 public static ChatOutputAudioVoice Verse { get; }
1887 public readonly bool Equals(ChatOutputAudioVoice other);
1888 [EditorBrowsable(EditorBrowsableState.Never)]
1889 public override readonly bool Equals(object obj);
1890 [EditorBrowsable(EditorBrowsableState.Never)]
1891 public override readonly int GetHashCode();
1892 public static bool operator ==(ChatOutputAudioVoice left, ChatOutputAudioVoice right);
1893 public static implicit operator ChatOutputAudioVoice(string value);
1894 public static implicit operator ChatOutputAudioVoice?(string value);
1895 public static bool operator !=(ChatOutputAudioVoice left, ChatOutputAudioVoice right);
1896 public override readonly string ToString();
1897 }
1898 [Experimental("OPENAI001")]
1899 public class ChatOutputPrediction : IJsonModel<ChatOutputPrediction>, IPersistableModel<ChatOutputPrediction> {
1900 [Serialization.JsonIgnore]
1901 [EditorBrowsable(EditorBrowsableState.Never)]
1902 [Experimental("SCME0001")]
1903 public ref JsonPatch Patch { get; }
1904 public static ChatOutputPrediction CreateStaticContentPrediction(IEnumerable<ChatMessageContentPart> staticContentParts);
1905 public static ChatOutputPrediction CreateStaticContentPrediction(string staticContent);
1906 }
1907 public class ChatOutputTokenUsageDetails : IJsonModel<ChatOutputTokenUsageDetails>, IPersistableModel<ChatOutputTokenUsageDetails> {
1908 [Experimental("OPENAI001")]
1909 public int AcceptedPredictionTokenCount { get; }
1910 public int AudioTokenCount { get; }
1911 [Serialization.JsonIgnore]
1912 [EditorBrowsable(EditorBrowsableState.Never)]
1913 [Experimental("SCME0001")]
1914 public ref JsonPatch Patch { get; }
1915 public int ReasoningTokenCount { get; }
1916 [Experimental("OPENAI001")]
1917 public int RejectedPredictionTokenCount { get; }
1918 }
1919 [Experimental("OPENAI001")]
1920 public readonly partial struct ChatReasoningEffortLevel : IEquatable<ChatReasoningEffortLevel> {
1921 public ChatReasoningEffortLevel(string value);
1922 public static ChatReasoningEffortLevel High { get; }
1923 public static ChatReasoningEffortLevel Low { get; }
1924 public static ChatReasoningEffortLevel Medium { get; }
1925 public static ChatReasoningEffortLevel Minimal { get; }
1926 public static ChatReasoningEffortLevel None { get; }
1927 public readonly bool Equals(ChatReasoningEffortLevel other);
1928 [EditorBrowsable(EditorBrowsableState.Never)]
1929 public override readonly bool Equals(object obj);
1930 [EditorBrowsable(EditorBrowsableState.Never)]
1931 public override readonly int GetHashCode();
1932 public static bool operator ==(ChatReasoningEffortLevel left, ChatReasoningEffortLevel right);
1933 public static implicit operator ChatReasoningEffortLevel(string value);
1934 public static implicit operator ChatReasoningEffortLevel?(string value);
1935 public static bool operator !=(ChatReasoningEffortLevel left, ChatReasoningEffortLevel right);
1936 public override readonly string ToString();
1937 }
1938 public class ChatResponseFormat : IJsonModel<ChatResponseFormat>, IPersistableModel<ChatResponseFormat> {
1939 [Serialization.JsonIgnore]
1940 [EditorBrowsable(EditorBrowsableState.Never)]
1941 [Experimental("SCME0001")]
1942 public ref JsonPatch Patch { get; }
1943 public static ChatResponseFormat CreateJsonObjectFormat();
1944 public static ChatResponseFormat CreateJsonSchemaFormat(string jsonSchemaFormatName, BinaryData jsonSchema, string jsonSchemaFormatDescription = null, bool? jsonSchemaIsStrict = null);
1945 public static ChatResponseFormat CreateTextFormat();
1946 }
1947 [Experimental("OPENAI001")]
1948 [Flags]
1949 public enum ChatResponseModalities {
1950 Default = 0,
1951 Text = 1,
1952 Audio = 2
1953 }
1954 [Experimental("OPENAI001")]
1955 public readonly partial struct ChatSearchContextSize : IEquatable<ChatSearchContextSize> {
1956 public ChatSearchContextSize(string value);
1957 public static ChatSearchContextSize High { get; }
1958 public static ChatSearchContextSize Low { get; }
1959 public static ChatSearchContextSize Medium { get; }
1960 public readonly bool Equals(ChatSearchContextSize other);
1961 [EditorBrowsable(EditorBrowsableState.Never)]
1962 public override readonly bool Equals(object obj);
1963 [EditorBrowsable(EditorBrowsableState.Never)]
1964 public override readonly int GetHashCode();
1965 public static bool operator ==(ChatSearchContextSize left, ChatSearchContextSize right);
1966 public static implicit operator ChatSearchContextSize(string value);
1967 public static implicit operator ChatSearchContextSize?(string value);
1968 public static bool operator !=(ChatSearchContextSize left, ChatSearchContextSize right);
1969 public override readonly string ToString();
1970 }
1971 [Experimental("OPENAI001")]
1972 public readonly partial struct ChatServiceTier : IEquatable<ChatServiceTier> {
1973 public ChatServiceTier(string value);
1974 public static ChatServiceTier Auto { get; }
1975 public static ChatServiceTier Default { get; }
1976 public static ChatServiceTier Flex { get; }
1977 public static ChatServiceTier Scale { get; }
1978 public readonly bool Equals(ChatServiceTier other);
1979 [EditorBrowsable(EditorBrowsableState.Never)]
1980 public override readonly bool Equals(object obj);
1981 [EditorBrowsable(EditorBrowsableState.Never)]
1982 public override readonly int GetHashCode();
1983 public static bool operator ==(ChatServiceTier left, ChatServiceTier right);
1984 public static implicit operator ChatServiceTier(string value);
1985 public static implicit operator ChatServiceTier?(string value);
1986 public static bool operator !=(ChatServiceTier left, ChatServiceTier right);
1987 public override readonly string ToString();
1988 }
1989 public class ChatTokenLogProbabilityDetails : IJsonModel<ChatTokenLogProbabilityDetails>, IPersistableModel<ChatTokenLogProbabilityDetails> {
1990 public float LogProbability { get; }
1991 [Serialization.JsonIgnore]
1992 [EditorBrowsable(EditorBrowsableState.Never)]
1993 [Experimental("SCME0001")]
1994 public ref JsonPatch Patch { get; }
1995 public string Token { get; }
1996 public IReadOnlyList<ChatTokenTopLogProbabilityDetails> TopLogProbabilities { get; }
1997 public ReadOnlyMemory<byte>? Utf8Bytes { get; }
1998 }
1999 public class ChatTokenTopLogProbabilityDetails : IJsonModel<ChatTokenTopLogProbabilityDetails>, IPersistableModel<ChatTokenTopLogProbabilityDetails> {
2000 public float LogProbability { get; }
2001 [Serialization.JsonIgnore]
2002 [EditorBrowsable(EditorBrowsableState.Never)]
2003 [Experimental("SCME0001")]
2004 public ref JsonPatch Patch { get; }
2005 public string Token { get; }
2006 public ReadOnlyMemory<byte>? Utf8Bytes { get; }
2007 }
2008 public class ChatTokenUsage : IJsonModel<ChatTokenUsage>, IPersistableModel<ChatTokenUsage> {
2009 public int InputTokenCount { get; }
2010 public ChatInputTokenUsageDetails InputTokenDetails { get; }
2011 public int OutputTokenCount { get; }
2012 public ChatOutputTokenUsageDetails OutputTokenDetails { get; }
2013 [Serialization.JsonIgnore]
2014 [EditorBrowsable(EditorBrowsableState.Never)]
2015 [Experimental("SCME0001")]
2016 public ref JsonPatch Patch { get; }
2017 public int TotalTokenCount { get; }
2018 }
2019 public class ChatTool : IJsonModel<ChatTool>, IPersistableModel<ChatTool> {
2020 public string FunctionDescription { get; }
2021 public string FunctionName { get; }
2022 public BinaryData FunctionParameters { get; }
2023 public bool? FunctionSchemaIsStrict { get; }
2024 public ChatToolKind Kind { get; }
2025 [Serialization.JsonIgnore]
2026 [EditorBrowsable(EditorBrowsableState.Never)]
2027 [Experimental("SCME0001")]
2028 public ref JsonPatch Patch { get; }
2029 public static ChatTool CreateFunctionTool(string functionName, string functionDescription = null, BinaryData functionParameters = null, bool? functionSchemaIsStrict = null);
2030 }
2031 public class ChatToolCall : IJsonModel<ChatToolCall>, IPersistableModel<ChatToolCall> {
2032 public BinaryData FunctionArguments { get; }
2033 public string FunctionName { get; }
2034 public string Id { get; set; }
2035 public ChatToolCallKind Kind { get; }
2036 [Serialization.JsonIgnore]
2037 [EditorBrowsable(EditorBrowsableState.Never)]
2038 [Experimental("SCME0001")]
2039 public ref JsonPatch Patch { get; }
2040 public static ChatToolCall CreateFunctionToolCall(string id, string functionName, BinaryData functionArguments);
2041 }
2042 public enum ChatToolCallKind {
2043 Function = 0
2044 }
2045 public class ChatToolChoice : IJsonModel<ChatToolChoice>, IPersistableModel<ChatToolChoice> {
2046 [Serialization.JsonIgnore]
2047 [EditorBrowsable(EditorBrowsableState.Never)]
2048 [Experimental("SCME0001")]
2049 public ref JsonPatch Patch { get; }
2050 public static ChatToolChoice CreateAutoChoice();
2051 public static ChatToolChoice CreateFunctionChoice(string functionName);
2052 public static ChatToolChoice CreateNoneChoice();
2053 public static ChatToolChoice CreateRequiredChoice();
2054 }
2055 public enum ChatToolKind {
2056 Function = 0
2057 }
2058 [Experimental("OPENAI001")]
2059 public class ChatWebSearchOptions : IJsonModel<ChatWebSearchOptions>, IPersistableModel<ChatWebSearchOptions> {
2060 [Serialization.JsonIgnore]
2061 [EditorBrowsable(EditorBrowsableState.Never)]
2062 [Experimental("SCME0001")]
2063 public ref JsonPatch Patch { get; }
2064 public ChatSearchContextSize? SearchContextSize { get; set; }
2065 }
2066 [Experimental("OPENAI001")]
2067 public class DeveloperChatMessage : ChatMessage, IJsonModel<DeveloperChatMessage>, IPersistableModel<DeveloperChatMessage> {
2068 public DeveloperChatMessage(params ChatMessageContentPart[] contentParts);
2069 public DeveloperChatMessage(IEnumerable<ChatMessageContentPart> contentParts);
2070 public DeveloperChatMessage(string content);
2071 public string ParticipantName { get; set; }
2072 }
2073 [Obsolete("This class is obsolete. Please use ToolChatMessage instead.")]
2074 public class FunctionChatMessage : ChatMessage, IJsonModel<FunctionChatMessage>, IPersistableModel<FunctionChatMessage> {
2075 public FunctionChatMessage(string functionName, string content);
2076 public string FunctionName { get; }
2077 }
2078 public static class OpenAIChatModelFactory {
2079 [Experimental("OPENAI001")]
2080 public static ChatCompletion ChatCompletion(string id = null, ChatFinishReason finishReason = ChatFinishReason.Stop, ChatMessageContent content = null, string refusal = null, IEnumerable<ChatToolCall> toolCalls = null, ChatMessageRole role = ChatMessageRole.System, ChatFunctionCall functionCall = null, IEnumerable<ChatTokenLogProbabilityDetails> contentTokenLogProbabilities = null, IEnumerable<ChatTokenLogProbabilityDetails> refusalTokenLogProbabilities = null, DateTimeOffset createdAt = default, string model = null, ChatServiceTier? serviceTier = null, string systemFingerprint = null, ChatTokenUsage usage = null, ChatOutputAudio outputAudio = null, IEnumerable<ChatMessageAnnotation> messageAnnotations = null);
2081 [EditorBrowsable(EditorBrowsableState.Never)]
2082 public static ChatCompletion ChatCompletion(string id, ChatFinishReason finishReason, ChatMessageContent content, string refusal, IEnumerable<ChatToolCall> toolCalls, ChatMessageRole role, ChatFunctionCall functionCall, IEnumerable<ChatTokenLogProbabilityDetails> contentTokenLogProbabilities, IEnumerable<ChatTokenLogProbabilityDetails> refusalTokenLogProbabilities, DateTimeOffset createdAt, string model, string systemFingerprint, ChatTokenUsage usage);
2083 [Experimental("OPENAI001")]
2084 public static ChatCompletionMessageListDatum ChatCompletionMessageListDatum(string id, string content, string refusal, ChatMessageRole role, IList<ChatMessageContentPart> contentParts = null, IList<ChatToolCall> toolCalls = null, IList<ChatMessageAnnotation> annotations = null, string functionName = null, string functionArguments = null, ChatOutputAudio outputAudio = null);
2085 public static ChatInputTokenUsageDetails ChatInputTokenUsageDetails(int audioTokenCount = 0, int cachedTokenCount = 0);
2086 [Experimental("OPENAI001")]
2087 public static ChatMessageAnnotation ChatMessageAnnotation(int startIndex = 0, int endIndex = 0, Uri webResourceUri = null, string webResourceTitle = null);
2088 [Experimental("OPENAI001")]
2089 public static ChatOutputAudio ChatOutputAudio(BinaryData audioBytes, string id = null, string transcript = null, DateTimeOffset expiresAt = default);
2090 [Experimental("OPENAI001")]
2091 public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails(int reasoningTokenCount = 0, int audioTokenCount = 0, int acceptedPredictionTokenCount = 0, int rejectedPredictionTokenCount = 0);
2092 [EditorBrowsable(EditorBrowsableState.Never)]
2093 public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails(int reasoningTokenCount, int audioTokenCount);
2094 [EditorBrowsable(EditorBrowsableState.Never)]
2095 public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails(int reasoningTokenCount);
2096 public static ChatTokenLogProbabilityDetails ChatTokenLogProbabilityDetails(string token = null, float logProbability = 0, ReadOnlyMemory<byte>? utf8Bytes = null, IEnumerable<ChatTokenTopLogProbabilityDetails> topLogProbabilities = null);
2097 public static ChatTokenTopLogProbabilityDetails ChatTokenTopLogProbabilityDetails(string token = null, float logProbability = 0, ReadOnlyMemory<byte>? utf8Bytes = null);
2098 public static ChatTokenUsage ChatTokenUsage(int outputTokenCount = 0, int inputTokenCount = 0, int totalTokenCount = 0, ChatOutputTokenUsageDetails outputTokenDetails = null, ChatInputTokenUsageDetails inputTokenDetails = null);
2099 [EditorBrowsable(EditorBrowsableState.Never)]
2100 public static ChatTokenUsage ChatTokenUsage(int outputTokenCount, int inputTokenCount, int totalTokenCount, ChatOutputTokenUsageDetails outputTokenDetails);
2101 [Experimental("OPENAI001")]
2102 public static StreamingChatCompletionUpdate StreamingChatCompletionUpdate(string completionId = null, ChatMessageContent contentUpdate = null, StreamingChatFunctionCallUpdate functionCallUpdate = null, IEnumerable<StreamingChatToolCallUpdate> toolCallUpdates = null, ChatMessageRole? role = null, string refusalUpdate = null, IEnumerable<ChatTokenLogProbabilityDetails> contentTokenLogProbabilities = null, IEnumerable<ChatTokenLogProbabilityDetails> refusalTokenLogProbabilities = null, ChatFinishReason? finishReason = null, DateTimeOffset createdAt = default, string model = null, ChatServiceTier? serviceTier = null, string systemFingerprint = null, ChatTokenUsage usage = null, StreamingChatOutputAudioUpdate outputAudioUpdate = null);
2103 [EditorBrowsable(EditorBrowsableState.Never)]
2104 public static StreamingChatCompletionUpdate StreamingChatCompletionUpdate(string completionId, ChatMessageContent contentUpdate, StreamingChatFunctionCallUpdate functionCallUpdate, IEnumerable<StreamingChatToolCallUpdate> toolCallUpdates, ChatMessageRole? role, string refusalUpdate, IEnumerable<ChatTokenLogProbabilityDetails> contentTokenLogProbabilities, IEnumerable<ChatTokenLogProbabilityDetails> refusalTokenLogProbabilities, ChatFinishReason? finishReason, DateTimeOffset createdAt, string model, string systemFingerprint, ChatTokenUsage usage);
2105 [Obsolete("This class is obsolete. Please use StreamingChatToolCallUpdate instead.")]
2106 public static StreamingChatFunctionCallUpdate StreamingChatFunctionCallUpdate(string functionName = null, BinaryData functionArgumentsUpdate = null);
2107 [Experimental("OPENAI001")]
2108 public static StreamingChatOutputAudioUpdate StreamingChatOutputAudioUpdate(string id = null, DateTimeOffset? expiresAt = null, string transcriptUpdate = null, BinaryData audioBytesUpdate = null);
2109 public static StreamingChatToolCallUpdate StreamingChatToolCallUpdate(int index = 0, string toolCallId = null, ChatToolCallKind kind = ChatToolCallKind.Function, string functionName = null, BinaryData functionArgumentsUpdate = null);
2110 }
2111 public class StreamingChatCompletionUpdate : IJsonModel<StreamingChatCompletionUpdate>, IPersistableModel<StreamingChatCompletionUpdate> {
2112 public string CompletionId { get; }
2113 public IReadOnlyList<ChatTokenLogProbabilityDetails> ContentTokenLogProbabilities { get; }
2114 public ChatMessageContent ContentUpdate { get; }
2115 public DateTimeOffset CreatedAt { get; }
2116 public ChatFinishReason? FinishReason { get; }
2117 [Obsolete("This property is obsolete. Please use ToolCallUpdates instead.")]
2118 public StreamingChatFunctionCallUpdate FunctionCallUpdate { get; }
2119 public string Model { get; }
2120 [Experimental("OPENAI001")]
2121 public StreamingChatOutputAudioUpdate OutputAudioUpdate { get; }
2122 [Serialization.JsonIgnore]
2123 [EditorBrowsable(EditorBrowsableState.Never)]
2124 [Experimental("SCME0001")]
2125 public ref JsonPatch Patch { get; }
2126 public IReadOnlyList<ChatTokenLogProbabilityDetails> RefusalTokenLogProbabilities { get; }
2127 public string RefusalUpdate { get; }
2128 public ChatMessageRole? Role { get; }
2129 [Experimental("OPENAI001")]
2130 public ChatServiceTier? ServiceTier { get; }
2131 public string SystemFingerprint { get; }
2132 public IReadOnlyList<StreamingChatToolCallUpdate> ToolCallUpdates { get; }
2133 public ChatTokenUsage Usage { get; }
2134 }
2135 [Obsolete("This class is obsolete. Please use StreamingChatToolCallUpdate instead.")]
2136 public class StreamingChatFunctionCallUpdate : IJsonModel<StreamingChatFunctionCallUpdate>, IPersistableModel<StreamingChatFunctionCallUpdate> {
2137 public BinaryData FunctionArgumentsUpdate { get; }
2138 public string FunctionName { get; }
2139 [Serialization.JsonIgnore]
2140 [EditorBrowsable(EditorBrowsableState.Never)]
2141 [Experimental("SCME0001")]
2142 public ref JsonPatch Patch { get; }
2143 }
2144 [Experimental("OPENAI001")]
2145 public class StreamingChatOutputAudioUpdate : IJsonModel<StreamingChatOutputAudioUpdate>, IPersistableModel<StreamingChatOutputAudioUpdate> {
2146 public BinaryData AudioBytesUpdate { get; }
2147 public DateTimeOffset? ExpiresAt { get; }
2148 public string Id { get; }
2149 [Serialization.JsonIgnore]
2150 [EditorBrowsable(EditorBrowsableState.Never)]
2151 [Experimental("SCME0001")]
2152 public ref JsonPatch Patch { get; }
2153 public string TranscriptUpdate { get; }
2154 }
2155 public class StreamingChatToolCallUpdate : IJsonModel<StreamingChatToolCallUpdate>, IPersistableModel<StreamingChatToolCallUpdate> {
2156 public BinaryData FunctionArgumentsUpdate { get; }
2157 public string FunctionName { get; }
2158 public int Index { get; }
2159 public ChatToolCallKind Kind { get; }
2160 [Serialization.JsonIgnore]
2161 [EditorBrowsable(EditorBrowsableState.Never)]
2162 [Experimental("SCME0001")]
2163 public ref JsonPatch Patch { get; }
2164 public string ToolCallId { get; }
2165 }
2166 public class SystemChatMessage : ChatMessage, IJsonModel<SystemChatMessage>, IPersistableModel<SystemChatMessage> {
2167 public SystemChatMessage(params ChatMessageContentPart[] contentParts);
2168 public SystemChatMessage(IEnumerable<ChatMessageContentPart> contentParts);
2169 public SystemChatMessage(string content);
2170 public string ParticipantName { get; set; }
2171 }
2172 public class ToolChatMessage : ChatMessage, IJsonModel<ToolChatMessage>, IPersistableModel<ToolChatMessage> {
2173 public ToolChatMessage(string toolCallId, params ChatMessageContentPart[] contentParts);
2174 public ToolChatMessage(string toolCallId, IEnumerable<ChatMessageContentPart> contentParts);
2175 public ToolChatMessage(string toolCallId, string content);
2176 public string ToolCallId { get; }
2177 }
2178 public class UserChatMessage : ChatMessage, IJsonModel<UserChatMessage>, IPersistableModel<UserChatMessage> {
2179 public UserChatMessage(params ChatMessageContentPart[] contentParts);
2180 public UserChatMessage(IEnumerable<ChatMessageContentPart> contentParts);
2181 public UserChatMessage(string content);
2182 public string ParticipantName { get; set; }
2183 }
2184}
2185namespace OpenAI.Containers {
2186 [Experimental("OPENAI001")]
2187 public class ContainerClient {
2188 protected ContainerClient();
2189 [Experimental("SCME0002")]
2190 public ContainerClient(ContainerClientSettings settings);
2191 public ContainerClient(ApiKeyCredential credential, OpenAIClientOptions options);
2192 public ContainerClient(ApiKeyCredential credential);
2193 public ContainerClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
2194 public ContainerClient(AuthenticationPolicy authenticationPolicy);
2195 protected internal ContainerClient(ClientPipeline pipeline, OpenAIClientOptions options);
2196 public ContainerClient(string apiKey);
2197 [Experimental("OPENAI001")]
2198 public Uri Endpoint { get; }
2199 public ClientPipeline Pipeline { get; }
2200 public virtual ClientResult<ContainerResource> CreateContainer(CreateContainerBody body, CancellationToken cancellationToken = default);
2201 public virtual ClientResult CreateContainer(BinaryContent content, RequestOptions options = null);
2202 public virtual Task<ClientResult<ContainerResource>> CreateContainerAsync(CreateContainerBody body, CancellationToken cancellationToken = default);
2203 public virtual Task<ClientResult> CreateContainerAsync(BinaryContent content, RequestOptions options = null);
2204 public virtual ClientResult CreateContainerFile(string containerId, BinaryContent content, string contentType, RequestOptions options = null);
2205 public virtual Task<ClientResult> CreateContainerFileAsync(string containerId, BinaryContent content, string contentType, RequestOptions options = null);
2206 public virtual ClientResult DeleteContainer(string containerId, RequestOptions options);
2207 public virtual ClientResult<DeleteContainerResponse> DeleteContainer(string containerId, CancellationToken cancellationToken = default);
2208 public virtual Task<ClientResult> DeleteContainerAsync(string containerId, RequestOptions options);
2209 public virtual Task<ClientResult<DeleteContainerResponse>> DeleteContainerAsync(string containerId, CancellationToken cancellationToken = default);
2210 public virtual ClientResult DeleteContainerFile(string containerId, string fileId, RequestOptions options);
2211 public virtual ClientResult<DeleteContainerFileResponse> DeleteContainerFile(string containerId, string fileId, CancellationToken cancellationToken = default);
2212 public virtual Task<ClientResult> DeleteContainerFileAsync(string containerId, string fileId, RequestOptions options);
2213 public virtual Task<ClientResult<DeleteContainerFileResponse>> DeleteContainerFileAsync(string containerId, string fileId, CancellationToken cancellationToken = default);
2214 public virtual ClientResult DownloadContainerFile(string containerId, string fileId, RequestOptions options);
2215 public virtual ClientResult<BinaryData> DownloadContainerFile(string containerId, string fileId, CancellationToken cancellationToken = default);
2216 public virtual Task<ClientResult> DownloadContainerFileAsync(string containerId, string fileId, RequestOptions options);
2217 public virtual Task<ClientResult<BinaryData>> DownloadContainerFileAsync(string containerId, string fileId, CancellationToken cancellationToken = default);
2218 public virtual ClientResult GetContainer(string containerId, RequestOptions options);
2219 public virtual ClientResult<ContainerResource> GetContainer(string containerId, CancellationToken cancellationToken = default);
2220 public virtual Task<ClientResult> GetContainerAsync(string containerId, RequestOptions options);
2221 public virtual Task<ClientResult<ContainerResource>> GetContainerAsync(string containerId, CancellationToken cancellationToken = default);
2222 public virtual ClientResult GetContainerFile(string containerId, string fileId, RequestOptions options);
2223 public virtual ClientResult<ContainerFileResource> GetContainerFile(string containerId, string fileId, CancellationToken cancellationToken = default);
2224 public virtual Task<ClientResult> GetContainerFileAsync(string containerId, string fileId, RequestOptions options);
2225 public virtual Task<ClientResult<ContainerFileResource>> GetContainerFileAsync(string containerId, string fileId, CancellationToken cancellationToken = default);
2226 public virtual CollectionResult<ContainerFileResource> GetContainerFiles(string containerId, ContainerFileCollectionOptions options = null, CancellationToken cancellationToken = default);
2227 public virtual CollectionResult GetContainerFiles(string containerId, int? limit, string order, string after, RequestOptions options);
2228 public virtual AsyncCollectionResult<ContainerFileResource> GetContainerFilesAsync(string containerId, ContainerFileCollectionOptions options = null, CancellationToken cancellationToken = default);
2229 public virtual AsyncCollectionResult GetContainerFilesAsync(string containerId, int? limit, string order, string after, RequestOptions options);
2230 public virtual CollectionResult<ContainerResource> GetContainers(ContainerCollectionOptions options = null, CancellationToken cancellationToken = default);
2231 public virtual CollectionResult GetContainers(int? limit, string order, string after, RequestOptions options);
2232 public virtual AsyncCollectionResult<ContainerResource> GetContainersAsync(ContainerCollectionOptions options = null, CancellationToken cancellationToken = default);
2233 public virtual AsyncCollectionResult GetContainersAsync(int? limit, string order, string after, RequestOptions options);
2234 }
2235 [Experimental("SCME0002")]
2236 public sealed class ContainerClientSettings : ClientSettings {
2237 public OpenAIClientOptions Options { get; set; }
2238 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
2239 }
2240 [Experimental("OPENAI001")]
2241 public class ContainerCollectionOptions : IJsonModel<ContainerCollectionOptions>, IPersistableModel<ContainerCollectionOptions> {
2242 public string AfterId { get; set; }
2243 public ContainerCollectionOrder? Order { get; set; }
2244 public int? PageSizeLimit { get; set; }
2245 }
2246 [Experimental("OPENAI001")]
2247 public readonly partial struct ContainerCollectionOrder : IEquatable<ContainerCollectionOrder> {
2248 public ContainerCollectionOrder(string value);
2249 public static ContainerCollectionOrder Ascending { get; }
2250 public static ContainerCollectionOrder Descending { get; }
2251 public readonly bool Equals(ContainerCollectionOrder other);
2252 [EditorBrowsable(EditorBrowsableState.Never)]
2253 public override readonly bool Equals(object obj);
2254 [EditorBrowsable(EditorBrowsableState.Never)]
2255 public override readonly int GetHashCode();
2256 public static bool operator ==(ContainerCollectionOrder left, ContainerCollectionOrder right);
2257 public static implicit operator ContainerCollectionOrder(string value);
2258 public static implicit operator ContainerCollectionOrder?(string value);
2259 public static bool operator !=(ContainerCollectionOrder left, ContainerCollectionOrder right);
2260 public override readonly string ToString();
2261 }
2262 [Experimental("OPENAI001")]
2263 public class ContainerFileCollectionOptions : IJsonModel<ContainerFileCollectionOptions>, IPersistableModel<ContainerFileCollectionOptions> {
2264 public string AfterId { get; set; }
2265 public ContainerFileCollectionOrder? Order { get; set; }
2266 public int? PageSizeLimit { get; set; }
2267 }
2268 [Experimental("OPENAI001")]
2269 public readonly partial struct ContainerFileCollectionOrder : IEquatable<ContainerFileCollectionOrder> {
2270 public ContainerFileCollectionOrder(string value);
2271 public static ContainerFileCollectionOrder Ascending { get; }
2272 public static ContainerFileCollectionOrder Descending { get; }
2273 public readonly bool Equals(ContainerFileCollectionOrder other);
2274 [EditorBrowsable(EditorBrowsableState.Never)]
2275 public override readonly bool Equals(object obj);
2276 [EditorBrowsable(EditorBrowsableState.Never)]
2277 public override readonly int GetHashCode();
2278 public static bool operator ==(ContainerFileCollectionOrder left, ContainerFileCollectionOrder right);
2279 public static implicit operator ContainerFileCollectionOrder(string value);
2280 public static implicit operator ContainerFileCollectionOrder?(string value);
2281 public static bool operator !=(ContainerFileCollectionOrder left, ContainerFileCollectionOrder right);
2282 public override readonly string ToString();
2283 }
2284 [Experimental("OPENAI001")]
2285 public class ContainerFileResource : IJsonModel<ContainerFileResource>, IPersistableModel<ContainerFileResource> {
2286 public string ContainerId { get; }
2287 public DateTimeOffset CreatedAt { get; }
2288 public string Id { get; }
2289 public string Object { get; }
2290 public string Path { get; }
2291 public long? SizeInBytes { get; }
2292 public string Source { get; }
2293 public static explicit operator ContainerFileResource(ClientResult result);
2294 }
2295 [Experimental("OPENAI001")]
2296 public class ContainerResource : IJsonModel<ContainerResource>, IPersistableModel<ContainerResource> {
2297 public DateTimeOffset CreatedAt { get; }
2298 public ContainerResourceExpiresAfter ExpiresAfter { get; }
2299 public string Id { get; }
2300 public string Name { get; }
2301 public string Object { get; }
2302 public string Status { get; }
2303 public static explicit operator ContainerResource(ClientResult result);
2304 }
2305 [Experimental("OPENAI001")]
2306 public class ContainerResourceExpiresAfter : IJsonModel<ContainerResourceExpiresAfter>, IPersistableModel<ContainerResourceExpiresAfter> {
2307 public string Anchor { get; }
2308 public int? Minutes { get; }
2309 }
2310 [Experimental("OPENAI001")]
2311 public class CreateContainerBody : IJsonModel<CreateContainerBody>, IPersistableModel<CreateContainerBody> {
2312 public CreateContainerBody(string name);
2313 public CreateContainerBodyExpiresAfter ExpiresAfter { get; set; }
2314 public IList<string> FileIds { get; }
2315 public string Name { get; }
2316 public static implicit operator BinaryContent(CreateContainerBody createContainerBody);
2317 }
2318 [Experimental("OPENAI001")]
2319 public class CreateContainerBodyExpiresAfter : IJsonModel<CreateContainerBodyExpiresAfter>, IPersistableModel<CreateContainerBodyExpiresAfter> {
2320 public CreateContainerBodyExpiresAfter(int minutes);
2321 public string Anchor { get; }
2322 public int Minutes { get; }
2323 }
2324 [Experimental("OPENAI001")]
2325 public class CreateContainerFileBody : IJsonModel<CreateContainerFileBody>, IPersistableModel<CreateContainerFileBody> {
2326 public BinaryData File { get; set; }
2327 public string FileId { get; set; }
2328 }
2329 [Experimental("OPENAI001")]
2330 public class DeleteContainerFileResponse : IJsonModel<DeleteContainerFileResponse>, IPersistableModel<DeleteContainerFileResponse> {
2331 public bool Deleted { get; }
2332 public string Id { get; }
2333 public string Object { get; }
2334 public static explicit operator DeleteContainerFileResponse(ClientResult result);
2335 }
2336 [Experimental("OPENAI001")]
2337 public class DeleteContainerResponse : IJsonModel<DeleteContainerResponse>, IPersistableModel<DeleteContainerResponse> {
2338 public bool Deleted { get; }
2339 public string Id { get; }
2340 public string Object { get; }
2341 public static explicit operator DeleteContainerResponse(ClientResult result);
2342 }
2343}
2344namespace OpenAI.Conversations {
2345 [Experimental("OPENAI001")]
2346 public class ConversationClient {
2347 protected ConversationClient();
2348 [Experimental("SCME0002")]
2349 public ConversationClient(ConversationClientSettings settings);
2350 public ConversationClient(ApiKeyCredential credential, OpenAIClientOptions options);
2351 public ConversationClient(ApiKeyCredential credential);
2352 public ConversationClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
2353 public ConversationClient(AuthenticationPolicy authenticationPolicy);
2354 protected internal ConversationClient(ClientPipeline pipeline, OpenAIClientOptions options);
2355 public ConversationClient(string apiKey);
2356 [Experimental("OPENAI001")]
2357 public Uri Endpoint { get; }
2358 public ClientPipeline Pipeline { get; }
2359 public virtual ClientResult CreateConversation(BinaryContent content, RequestOptions options = null);
2360 public virtual Task<ClientResult> CreateConversationAsync(BinaryContent content, RequestOptions options = null);
2361 public virtual ClientResult CreateConversationItems(string conversationId, BinaryContent content, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2362 public virtual Task<ClientResult> CreateConversationItemsAsync(string conversationId, BinaryContent content, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2363 public virtual ClientResult DeleteConversation(string conversationId, RequestOptions options = null);
2364 public virtual Task<ClientResult> DeleteConversationAsync(string conversationId, RequestOptions options = null);
2365 public virtual ClientResult DeleteConversationItem(string conversationId, string itemId, RequestOptions options = null);
2366 public virtual Task<ClientResult> DeleteConversationItemAsync(string conversationId, string itemId, RequestOptions options = null);
2367 public virtual ClientResult GetConversation(string conversationId, RequestOptions options = null);
2368 public virtual Task<ClientResult> GetConversationAsync(string conversationId, RequestOptions options = null);
2369 public virtual ClientResult GetConversationItem(string conversationId, string itemId, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2370 public virtual Task<ClientResult> GetConversationItemAsync(string conversationId, string itemId, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2371 public virtual CollectionResult GetConversationItems(string conversationId, int? limit = null, string order = null, string after = null, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2372 public virtual AsyncCollectionResult GetConversationItemsAsync(string conversationId, int? limit = null, string order = null, string after = null, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2373 public virtual ClientResult UpdateConversation(string conversationId, BinaryContent content, RequestOptions options = null);
2374 public virtual Task<ClientResult> UpdateConversationAsync(string conversationId, BinaryContent content, RequestOptions options = null);
2375 }
2376 [Experimental("SCME0002")]
2377 public sealed class ConversationClientSettings : ClientSettings {
2378 public OpenAIClientOptions Options { get; set; }
2379 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
2380 }
2381 [Experimental("OPENAI001")]
2382 public readonly partial struct IncludedConversationItemProperty : IEquatable<IncludedConversationItemProperty> {
2383 public IncludedConversationItemProperty(string value);
2384 public static IncludedConversationItemProperty CodeInterpreterCallOutputs { get; }
2385 public static IncludedConversationItemProperty ComputerCallOutputImageUri { get; }
2386 public static IncludedConversationItemProperty FileSearchCallResults { get; }
2387 public static IncludedConversationItemProperty MessageInputImageUri { get; }
2388 public static IncludedConversationItemProperty MessageOutputTextLogProbabilities { get; }
2389 public static IncludedConversationItemProperty ReasoningEncryptedContent { get; }
2390 public static IncludedConversationItemProperty WebSearchCallActionSources { get; }
2391 public static IncludedConversationItemProperty WebSearchCallResults { get; }
2392 public readonly bool Equals(IncludedConversationItemProperty other);
2393 [EditorBrowsable(EditorBrowsableState.Never)]
2394 public override readonly bool Equals(object obj);
2395 [EditorBrowsable(EditorBrowsableState.Never)]
2396 public override readonly int GetHashCode();
2397 public static bool operator ==(IncludedConversationItemProperty left, IncludedConversationItemProperty right);
2398 public static implicit operator IncludedConversationItemProperty(string value);
2399 public static implicit operator IncludedConversationItemProperty?(string value);
2400 public static bool operator !=(IncludedConversationItemProperty left, IncludedConversationItemProperty right);
2401 public override readonly string ToString();
2402 }
2403}
2404namespace OpenAI.Embeddings {
2405 public class EmbeddingClient {
2406 protected EmbeddingClient();
2407 [Experimental("SCME0002")]
2408 public EmbeddingClient(EmbeddingClientSettings settings);
2409 protected internal EmbeddingClient(ClientPipeline pipeline, string model, OpenAIClientOptions options);
2410 public EmbeddingClient(string model, ApiKeyCredential credential, OpenAIClientOptions options);
2411 public EmbeddingClient(string model, ApiKeyCredential credential);
2412 [Experimental("OPENAI001")]
2413 public EmbeddingClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
2414 [Experimental("OPENAI001")]
2415 public EmbeddingClient(string model, AuthenticationPolicy authenticationPolicy);
2416 public EmbeddingClient(string model, string apiKey);
2417 [Experimental("OPENAI001")]
2418 public Uri Endpoint { get; }
2419 [Experimental("OPENAI001")]
2420 public string Model { get; }
2421 public ClientPipeline Pipeline { get; }
2422 public virtual ClientResult<OpenAIEmbedding> GenerateEmbedding(string input, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default);
2423 public virtual Task<ClientResult<OpenAIEmbedding>> GenerateEmbeddingAsync(string input, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default);
2424 public virtual ClientResult GenerateEmbeddings(BinaryContent content, RequestOptions options = null);
2425 public virtual ClientResult<OpenAIEmbeddingCollection> GenerateEmbeddings(IEnumerable<ReadOnlyMemory<int>> inputs, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default);
2426 public virtual ClientResult<OpenAIEmbeddingCollection> GenerateEmbeddings(IEnumerable<string> inputs, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default);
2427 public virtual Task<ClientResult> GenerateEmbeddingsAsync(BinaryContent content, RequestOptions options = null);
2428 public virtual Task<ClientResult<OpenAIEmbeddingCollection>> GenerateEmbeddingsAsync(IEnumerable<ReadOnlyMemory<int>> inputs, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default);
2429 public virtual Task<ClientResult<OpenAIEmbeddingCollection>> GenerateEmbeddingsAsync(IEnumerable<string> inputs, EmbeddingGenerationOptions options = null, CancellationToken cancellationToken = default);
2430 }
2431 [Experimental("SCME0002")]
2432 public sealed class EmbeddingClientSettings : ClientSettings {
2433 public string Model { get; set; }
2434 public OpenAIClientOptions Options { get; set; }
2435 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
2436 }
2437 public class EmbeddingGenerationOptions : IJsonModel<EmbeddingGenerationOptions>, IPersistableModel<EmbeddingGenerationOptions> {
2438 public int? Dimensions { get; set; }
2439 public string EndUserId { get; set; }
2440 [Serialization.JsonIgnore]
2441 [EditorBrowsable(EditorBrowsableState.Never)]
2442 [Experimental("SCME0001")]
2443 public ref JsonPatch Patch { get; }
2444 }
2445 public class EmbeddingTokenUsage : IJsonModel<EmbeddingTokenUsage>, IPersistableModel<EmbeddingTokenUsage> {
2446 public int InputTokenCount { get; }
2447 [Serialization.JsonIgnore]
2448 [EditorBrowsable(EditorBrowsableState.Never)]
2449 [Experimental("SCME0001")]
2450 public ref JsonPatch Patch { get; }
2451 public int TotalTokenCount { get; }
2452 }
2453 public class OpenAIEmbedding : IJsonModel<OpenAIEmbedding>, IPersistableModel<OpenAIEmbedding> {
2454 public int Index { get; }
2455 [Serialization.JsonIgnore]
2456 [EditorBrowsable(EditorBrowsableState.Never)]
2457 [Experimental("SCME0001")]
2458 public ref JsonPatch Patch { get; }
2459 public ReadOnlyMemory<float> ToFloats();
2460 }
2461 public class OpenAIEmbeddingCollection : ObjectModel.ReadOnlyCollection<OpenAIEmbedding>, IJsonModel<OpenAIEmbeddingCollection>, IPersistableModel<OpenAIEmbeddingCollection> {
2462 public string Model { get; }
2463 [Serialization.JsonIgnore]
2464 [EditorBrowsable(EditorBrowsableState.Never)]
2465 [Experimental("SCME0001")]
2466 public ref JsonPatch Patch { get; }
2467 public EmbeddingTokenUsage Usage { get; }
2468 [Experimental("OPENAI001")]
2469 public static explicit operator OpenAIEmbeddingCollection(ClientResult result);
2470 }
2471 public static class OpenAIEmbeddingsModelFactory {
2472 public static EmbeddingTokenUsage EmbeddingTokenUsage(int inputTokenCount = 0, int totalTokenCount = 0);
2473 public static OpenAIEmbedding OpenAIEmbedding(int index = 0, IEnumerable<float> vector = null);
2474 public static OpenAIEmbeddingCollection OpenAIEmbeddingCollection(IEnumerable<OpenAIEmbedding> items = null, string model = null, EmbeddingTokenUsage usage = null);
2475 }
2476}
2477namespace OpenAI.Evals {
2478 [Experimental("OPENAI001")]
2479 public class EvaluationClient {
2480 protected EvaluationClient();
2481 [Experimental("SCME0002")]
2482 public EvaluationClient(EvaluationClientSettings settings);
2483 public EvaluationClient(ApiKeyCredential credential, OpenAIClientOptions options);
2484 public EvaluationClient(ApiKeyCredential credential);
2485 public EvaluationClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
2486 public EvaluationClient(AuthenticationPolicy authenticationPolicy);
2487 protected internal EvaluationClient(ClientPipeline pipeline, OpenAIClientOptions options);
2488 public EvaluationClient(string apiKey);
2489 [Experimental("OPENAI001")]
2490 public Uri Endpoint { get; }
2491 public ClientPipeline Pipeline { get; }
2492 public virtual ClientResult CancelEvaluationRun(string evaluationId, string evaluationRunId, RequestOptions options);
2493 public virtual Task<ClientResult> CancelEvaluationRunAsync(string evaluationId, string evaluationRunId, RequestOptions options);
2494 public virtual ClientResult CreateEvaluation(BinaryContent content, RequestOptions options = null);
2495 public virtual Task<ClientResult> CreateEvaluationAsync(BinaryContent content, RequestOptions options = null);
2496 public virtual ClientResult CreateEvaluationRun(string evaluationId, BinaryContent content, RequestOptions options = null);
2497 public virtual Task<ClientResult> CreateEvaluationRunAsync(string evaluationId, BinaryContent content, RequestOptions options = null);
2498 public virtual ClientResult DeleteEvaluation(string evaluationId, RequestOptions options);
2499 public virtual Task<ClientResult> DeleteEvaluationAsync(string evaluationId, RequestOptions options);
2500 public virtual ClientResult DeleteEvaluationRun(string evaluationId, string evaluationRunId, RequestOptions options);
2501 public virtual Task<ClientResult> DeleteEvaluationRunAsync(string evaluationId, string evaluationRunId, RequestOptions options);
2502 public virtual ClientResult GetEvaluation(string evaluationId, RequestOptions options);
2503 public virtual Task<ClientResult> GetEvaluationAsync(string evaluationId, RequestOptions options);
2504 public virtual ClientResult GetEvaluationRun(string evaluationId, string evaluationRunId, RequestOptions options);
2505 public virtual Task<ClientResult> GetEvaluationRunAsync(string evaluationId, string evaluationRunId, RequestOptions options);
2506 public virtual ClientResult GetEvaluationRunOutputItem(string evaluationId, string evaluationRunId, string outputItemId, RequestOptions options);
2507 public virtual Task<ClientResult> GetEvaluationRunOutputItemAsync(string evaluationId, string evaluationRunId, string outputItemId, RequestOptions options);
2508 public virtual ClientResult GetEvaluationRunOutputItems(string evaluationId, string evaluationRunId, int? limit, string order, string after, string outputItemStatus, RequestOptions options);
2509 public virtual Task<ClientResult> GetEvaluationRunOutputItemsAsync(string evaluationId, string evaluationRunId, int? limit, string order, string after, string outputItemStatus, RequestOptions options);
2510 public virtual ClientResult GetEvaluationRuns(string evaluationId, int? limit, string order, string after, string evaluationRunStatus, RequestOptions options);
2511 public virtual Task<ClientResult> GetEvaluationRunsAsync(string evaluationId, int? limit, string order, string after, string evaluationRunStatus, RequestOptions options);
2512 public virtual ClientResult GetEvaluations(int? limit, string orderBy, string order, string after, RequestOptions options);
2513 public virtual Task<ClientResult> GetEvaluationsAsync(int? limit, string orderBy, string order, string after, RequestOptions options);
2514 public virtual ClientResult UpdateEvaluation(string evaluationId, BinaryContent content, RequestOptions options = null);
2515 public virtual Task<ClientResult> UpdateEvaluationAsync(string evaluationId, BinaryContent content, RequestOptions options = null);
2516 }
2517 [Experimental("SCME0002")]
2518 public sealed class EvaluationClientSettings : ClientSettings {
2519 public OpenAIClientOptions Options { get; set; }
2520 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
2521 }
2522}
2523namespace OpenAI.Files {
2524 public class FileDeletionResult : IJsonModel<FileDeletionResult>, IPersistableModel<FileDeletionResult> {
2525 public bool Deleted { get; }
2526 public string FileId { get; }
2527 [Experimental("OPENAI001")]
2528 public static explicit operator FileDeletionResult(ClientResult result);
2529 }
2530 public enum FilePurpose {
2531 Assistants = 0,
2532 AssistantsOutput = 1,
2533 Batch = 2,
2534 BatchOutput = 3,
2535 FineTune = 4,
2536 FineTuneResults = 5,
2537 Vision = 6,
2538 UserData = 7,
2539 Evaluations = 8
2540 }
2541 [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.")]
2542 public enum FileStatus {
2543 Uploaded = 0,
2544 Processed = 1,
2545 Error = 2
2546 }
2547 public readonly partial struct FileUploadPurpose : IEquatable<FileUploadPurpose> {
2548 public FileUploadPurpose(string value);
2549 public static FileUploadPurpose Assistants { get; }
2550 public static FileUploadPurpose Batch { get; }
2551 [Experimental("OPENAI001")]
2552 public static FileUploadPurpose Evaluations { get; }
2553 public static FileUploadPurpose FineTune { get; }
2554 [Experimental("OPENAI001")]
2555 public static FileUploadPurpose UserData { get; }
2556 public static FileUploadPurpose Vision { get; }
2557 public readonly bool Equals(FileUploadPurpose other);
2558 [EditorBrowsable(EditorBrowsableState.Never)]
2559 public override readonly bool Equals(object obj);
2560 [EditorBrowsable(EditorBrowsableState.Never)]
2561 public override readonly int GetHashCode();
2562 public static bool operator ==(FileUploadPurpose left, FileUploadPurpose right);
2563 public static implicit operator FileUploadPurpose(string value);
2564 public static implicit operator FileUploadPurpose?(string value);
2565 public static bool operator !=(FileUploadPurpose left, FileUploadPurpose right);
2566 public override readonly string ToString();
2567 }
2568 public class OpenAIFile : IJsonModel<OpenAIFile>, IPersistableModel<OpenAIFile> {
2569 public DateTimeOffset CreatedAt { get; }
2570 [Experimental("OPENAI001")]
2571 public DateTimeOffset? ExpiresAt { get; }
2572 public string Filename { get; }
2573 public string Id { get; }
2574 public FilePurpose Purpose { get; }
2575 [EditorBrowsable(EditorBrowsableState.Never)]
2576 public int? SizeInBytes { get; }
2577 [Experimental("OPENAI001")]
2578 public long? SizeInBytesLong { get; }
2579 [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.")]
2580 public FileStatus Status { get; }
2581 [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.")]
2582 public string StatusDetails { get; }
2583 [Experimental("OPENAI001")]
2584 public static explicit operator OpenAIFile(ClientResult result);
2585 }
2586 public class OpenAIFileClient {
2587 protected OpenAIFileClient();
2588 [Experimental("SCME0002")]
2589 public OpenAIFileClient(OpenAIFileClientSettings settings);
2590 public OpenAIFileClient(ApiKeyCredential credential, OpenAIClientOptions options);
2591 public OpenAIFileClient(ApiKeyCredential credential);
2592 [Experimental("OPENAI001")]
2593 public OpenAIFileClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
2594 [Experimental("OPENAI001")]
2595 public OpenAIFileClient(AuthenticationPolicy authenticationPolicy);
2596 protected internal OpenAIFileClient(ClientPipeline pipeline, OpenAIClientOptions options);
2597 public OpenAIFileClient(string apiKey);
2598 [Experimental("OPENAI001")]
2599 public Uri Endpoint { get; }
2600 public ClientPipeline Pipeline { get; }
2601 [Experimental("OPENAI001")]
2602 public virtual ClientResult AddUploadPart(string uploadId, BinaryContent content, string contentType, RequestOptions options = null);
2603 [Experimental("OPENAI001")]
2604 public virtual Task<ClientResult> AddUploadPartAsync(string uploadId, BinaryContent content, string contentType, RequestOptions options = null);
2605 [Experimental("OPENAI001")]
2606 public virtual ClientResult CancelUpload(string uploadId, RequestOptions options = null);
2607 [Experimental("OPENAI001")]
2608 public virtual Task<ClientResult> CancelUploadAsync(string uploadId, RequestOptions options = null);
2609 [Experimental("OPENAI001")]
2610 public virtual ClientResult CompleteUpload(string uploadId, BinaryContent content, RequestOptions options = null);
2611 [Experimental("OPENAI001")]
2612 public virtual Task<ClientResult> CompleteUploadAsync(string uploadId, BinaryContent content, RequestOptions options = null);
2613 [Experimental("OPENAI001")]
2614 public virtual ClientResult CreateUpload(BinaryContent content, RequestOptions options = null);
2615 [Experimental("OPENAI001")]
2616 public virtual Task<ClientResult> CreateUploadAsync(BinaryContent content, RequestOptions options = null);
2617 public virtual ClientResult DeleteFile(string fileId, RequestOptions options);
2618 public virtual ClientResult<FileDeletionResult> DeleteFile(string fileId, CancellationToken cancellationToken = default);
2619 public virtual Task<ClientResult> DeleteFileAsync(string fileId, RequestOptions options);
2620 public virtual Task<ClientResult<FileDeletionResult>> DeleteFileAsync(string fileId, CancellationToken cancellationToken = default);
2621 public virtual ClientResult DownloadFile(string fileId, RequestOptions options);
2622 public virtual ClientResult<BinaryData> DownloadFile(string fileId, CancellationToken cancellationToken = default);
2623 public virtual Task<ClientResult> DownloadFileAsync(string fileId, RequestOptions options);
2624 public virtual Task<ClientResult<BinaryData>> DownloadFileAsync(string fileId, CancellationToken cancellationToken = default);
2625 public virtual ClientResult GetFile(string fileId, RequestOptions options);
2626 public virtual ClientResult<OpenAIFile> GetFile(string fileId, CancellationToken cancellationToken = default);
2627 public virtual Task<ClientResult> GetFileAsync(string fileId, RequestOptions options);
2628 public virtual Task<ClientResult<OpenAIFile>> GetFileAsync(string fileId, CancellationToken cancellationToken = default);
2629 public virtual ClientResult<OpenAIFileCollection> GetFiles(FilePurpose purpose, CancellationToken cancellationToken = default);
2630 public virtual ClientResult GetFiles(string purpose, RequestOptions options);
2631 [Experimental("OPENAI001")]
2632 public virtual ClientResult GetFiles(string purpose, int? limit, string order, string after, RequestOptions options);
2633 public virtual ClientResult<OpenAIFileCollection> GetFiles(CancellationToken cancellationToken = default);
2634 public virtual Task<ClientResult<OpenAIFileCollection>> GetFilesAsync(FilePurpose purpose, CancellationToken cancellationToken = default);
2635 public virtual Task<ClientResult> GetFilesAsync(string purpose, RequestOptions options);
2636 [Experimental("OPENAI001")]
2637 public virtual Task<ClientResult> GetFilesAsync(string purpose, int? limit, string order, string after, RequestOptions options);
2638 public virtual Task<ClientResult<OpenAIFileCollection>> GetFilesAsync(CancellationToken cancellationToken = default);
2639 public virtual ClientResult<OpenAIFile> UploadFile(BinaryData file, string filename, FileUploadPurpose purpose);
2640 public virtual ClientResult UploadFile(BinaryContent content, string contentType, RequestOptions options = null);
2641 public virtual ClientResult<OpenAIFile> UploadFile(Stream file, string filename, FileUploadPurpose purpose, CancellationToken cancellationToken = default);
2642 public virtual ClientResult<OpenAIFile> UploadFile(string filePath, FileUploadPurpose purpose);
2643 public virtual Task<ClientResult<OpenAIFile>> UploadFileAsync(BinaryData file, string filename, FileUploadPurpose purpose);
2644 public virtual Task<ClientResult> UploadFileAsync(BinaryContent content, string contentType, RequestOptions options = null);
2645 public virtual Task<ClientResult<OpenAIFile>> UploadFileAsync(Stream file, string filename, FileUploadPurpose purpose, CancellationToken cancellationToken = default);
2646 public virtual Task<ClientResult<OpenAIFile>> UploadFileAsync(string filePath, FileUploadPurpose purpose);
2647 }
2648 [Experimental("SCME0002")]
2649 public sealed class OpenAIFileClientSettings : ClientSettings {
2650 public OpenAIClientOptions Options { get; set; }
2651 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
2652 }
2653 public class OpenAIFileCollection : ObjectModel.ReadOnlyCollection<OpenAIFile>, IJsonModel<OpenAIFileCollection>, IPersistableModel<OpenAIFileCollection> {
2654 [Experimental("OPENAI001")]
2655 public static explicit operator OpenAIFileCollection(ClientResult result);
2656 }
2657 public static class OpenAIFilesModelFactory {
2658 public static FileDeletionResult FileDeletionResult(string fileId = null, bool deleted = false);
2659 public static OpenAIFileCollection OpenAIFileCollection(IEnumerable<OpenAIFile> items = null);
2660 [Experimental("OPENAI001")]
2661 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);
2662 [EditorBrowsable(EditorBrowsableState.Never)]
2663 public static OpenAIFile OpenAIFileInfo(string id, int? sizeInBytes, DateTimeOffset createdAt, string filename, FilePurpose purpose, FileStatus status, string statusDetails);
2664 }
2665}
2666namespace OpenAI.FineTuning {
2667 [Experimental("OPENAI001")]
2668 public class FineTuningCheckpoint : IJsonModel<FineTuningCheckpoint>, IPersistableModel<FineTuningCheckpoint> {
2669 public DateTimeOffset CreatedAt { get; }
2670 public string Id { get; }
2671 public string JobId { get; }
2672 public FineTuningCheckpointMetrics Metrics { get; }
2673 public string ModelId { get; }
2674 public int StepNumber { get; }
2675 public override string ToString();
2676 }
2677 [Experimental("OPENAI001")]
2678 public class FineTuningCheckpointMetrics : IJsonModel<FineTuningCheckpointMetrics>, IPersistableModel<FineTuningCheckpointMetrics> {
2679 public float? FullValidLoss { get; }
2680 public float? FullValidMeanTokenAccuracy { get; }
2681 public int StepNumber { get; }
2682 public float? TrainLoss { get; }
2683 public float? TrainMeanTokenAccuracy { get; }
2684 public float? ValidLoss { get; }
2685 public float? ValidMeanTokenAccuracy { get; }
2686 }
2687 [Experimental("OPENAI001")]
2688 public class FineTuningClient {
2689 protected FineTuningClient();
2690 [Experimental("SCME0002")]
2691 public FineTuningClient(FineTuningClientSettings settings);
2692 public FineTuningClient(ApiKeyCredential credential, OpenAIClientOptions options);
2693 public FineTuningClient(ApiKeyCredential credential);
2694 public FineTuningClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
2695 public FineTuningClient(AuthenticationPolicy authenticationPolicy);
2696 protected internal FineTuningClient(ClientPipeline pipeline, OpenAIClientOptions options);
2697 protected internal FineTuningClient(ClientPipeline pipeline, Uri endpoint);
2698 public FineTuningClient(string apiKey);
2699 [Experimental("OPENAI001")]
2700 public Uri Endpoint { get; }
2701 public ClientPipeline Pipeline { get; }
2702 public virtual ClientResult CreateFineTuningCheckpointPermission(string fineTunedModelCheckpoint, BinaryContent content, RequestOptions options = null);
2703 public virtual Task<ClientResult> CreateFineTuningCheckpointPermissionAsync(string fineTunedModelCheckpoint, BinaryContent content, RequestOptions options = null);
2704 public virtual ClientResult DeleteFineTuningCheckpointPermission(string fineTunedModelCheckpoint, string permissionId, RequestOptions options);
2705 public virtual Task<ClientResult> DeleteFineTuningCheckpointPermissionAsync(string fineTunedModelCheckpoint, string permissionId, RequestOptions options);
2706 public virtual FineTuningJob FineTune(BinaryContent content, bool waitUntilCompleted, RequestOptions options);
2707 public virtual FineTuningJob FineTune(string baseModel, string trainingFileId, bool waitUntilCompleted, FineTuningOptions options = null, CancellationToken cancellationToken = default);
2708 public virtual Task<FineTuningJob> FineTuneAsync(BinaryContent content, bool waitUntilCompleted, RequestOptions options);
2709 public virtual Task<FineTuningJob> FineTuneAsync(string baseModel, string trainingFileId, bool waitUntilCompleted, FineTuningOptions options = null, CancellationToken cancellationToken = default);
2710 public virtual ClientResult GetFineTuningCheckpointPermissions(string fineTunedModelCheckpoint, string after, int? limit, string order, string projectId, RequestOptions options);
2711 public virtual Task<ClientResult> GetFineTuningCheckpointPermissionsAsync(string fineTunedModelCheckpoint, string after, int? limit, string order, string projectId, RequestOptions options);
2712 public virtual FineTuningJob GetJob(string jobId, CancellationToken cancellationToken = default);
2713 public virtual Task<FineTuningJob> GetJobAsync(string jobId, CancellationToken cancellationToken = default);
2714 public virtual CollectionResult<FineTuningJob> GetJobs(FineTuningJobCollectionOptions options = null, CancellationToken cancellationToken = default);
2715 public virtual AsyncCollectionResult<FineTuningJob> GetJobsAsync(FineTuningJobCollectionOptions options = null, CancellationToken cancellationToken = default);
2716 public virtual ClientResult PauseFineTuningJob(string fineTuningJobId, RequestOptions options);
2717 public virtual Task<ClientResult> PauseFineTuningJobAsync(string fineTuningJobId, RequestOptions options);
2718 public virtual ClientResult ResumeFineTuningJob(string fineTuningJobId, RequestOptions options);
2719 public virtual Task<ClientResult> ResumeFineTuningJobAsync(string fineTuningJobId, RequestOptions options);
2720 }
2721 [Experimental("SCME0002")]
2722 public sealed class FineTuningClientSettings : ClientSettings {
2723 public OpenAIClientOptions Options { get; set; }
2724 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
2725 }
2726 [Experimental("OPENAI001")]
2727 public class FineTuningError : IJsonModel<FineTuningError>, IPersistableModel<FineTuningError> {
2728 public string Code { get; }
2729 public string InvalidParameter { get; }
2730 public string Message { get; }
2731 }
2732 [Experimental("OPENAI001")]
2733 public class FineTuningEvent : IJsonModel<FineTuningEvent>, IPersistableModel<FineTuningEvent> {
2734 public string Level;
2735 public DateTimeOffset CreatedAt { get; }
2736 public BinaryData Data { get; }
2737 public string Id { get; }
2738 public FineTuningJobEventKind? Kind { get; }
2739 public string Message { get; }
2740 }
2741 [Experimental("OPENAI001")]
2742 public readonly partial struct FineTuningHyperparameters : IJsonModel<FineTuningHyperparameters>, IPersistableModel<FineTuningHyperparameters>, IJsonModel<object>, IPersistableModel<object> {
2743 public int BatchSize { get; }
2744 public int EpochCount { get; }
2745 public float LearningRateMultiplier { get; }
2746 }
2747 [Experimental("OPENAI001")]
2748 public class FineTuningIntegration : IJsonModel<FineTuningIntegration>, IPersistableModel<FineTuningIntegration> {
2749 }
2750 [Experimental("OPENAI001")]
2751 public class FineTuningJob : OperationResult {
2752 public string? Value;
2753 public string BaseModel { get; }
2754 public int BillableTrainedTokenCount { get; }
2755 public DateTimeOffset? EstimatedFinishAt { get; }
2756 [Obsolete("This property is deprecated. Use the MethodHyperparameters property instead.")]
2757 public FineTuningHyperparameters Hyperparameters { get; }
2758 public IReadOnlyList<FineTuningIntegration> Integrations { get; }
2759 public string JobId { get; }
2760 public IDictionary<string, string> Metadata { get; }
2761 public MethodHyperparameters? MethodHyperparameters { get; }
2762 public override ContinuationToken? RehydrationToken { get; protected set; }
2763 public IReadOnlyList<string> ResultFileIds { get; }
2764 public int? Seed { get; }
2765 public FineTuningStatus Status { get; }
2766 public string TrainingFileId { get; }
2767 public FineTuningTrainingMethod? TrainingMethod { get; }
2768 public string? UserProvidedSuffix { get; }
2769 public string ValidationFileId { get; }
2770 public virtual ClientResult Cancel(RequestOptions options);
2771 public virtual ClientResult CancelAndUpdate(CancellationToken cancellationToken = default);
2772 public virtual Task<ClientResult> CancelAndUpdateAsync(CancellationToken cancellationToken = default);
2773 public virtual Task<ClientResult> CancelAsync(RequestOptions options);
2774 public virtual CollectionResult<FineTuningCheckpoint> GetCheckpoints(GetCheckpointsOptions? options = null, CancellationToken cancellationToken = default);
2775 public virtual CollectionResult GetCheckpoints(string? after, int? limit, RequestOptions? options);
2776 public virtual AsyncCollectionResult<FineTuningCheckpoint> GetCheckpointsAsync(GetCheckpointsOptions? options = null, CancellationToken cancellationToken = default);
2777 public virtual AsyncCollectionResult GetCheckpointsAsync(string? after, int? limit, RequestOptions? options);
2778 public virtual CollectionResult<FineTuningEvent> GetEvents(GetEventsOptions options, CancellationToken cancellationToken = default);
2779 public virtual CollectionResult GetEvents(string? after, int? limit, RequestOptions options);
2780 public virtual AsyncCollectionResult<FineTuningEvent> GetEventsAsync(GetEventsOptions options, CancellationToken cancellationToken = default);
2781 public virtual AsyncCollectionResult GetEventsAsync(string? after, int? limit, RequestOptions options);
2782 public static FineTuningJob Rehydrate(FineTuningClient client, ContinuationToken rehydrationToken, RequestOptions options);
2783 public static FineTuningJob Rehydrate(FineTuningClient client, ContinuationToken rehydrationToken, CancellationToken cancellationToken = default);
2784 public static FineTuningJob Rehydrate(FineTuningClient client, string JobId, RequestOptions options);
2785 public static FineTuningJob Rehydrate(FineTuningClient client, string JobId, CancellationToken cancellationToken = default);
2786 public static Task<FineTuningJob> RehydrateAsync(FineTuningClient client, ContinuationToken rehydrationToken, RequestOptions options);
2787 public static Task<FineTuningJob> RehydrateAsync(FineTuningClient client, ContinuationToken rehydrationToken, CancellationToken cancellationToken = default);
2788 public static Task<FineTuningJob> RehydrateAsync(FineTuningClient client, string JobId, RequestOptions options);
2789 public static Task<FineTuningJob> RehydrateAsync(FineTuningClient client, string JobId, CancellationToken cancellationToken = default);
2790 public override ClientResult UpdateStatus(RequestOptions? options);
2791 public ClientResult UpdateStatus(CancellationToken cancellationToken = default);
2792 public override ValueTask<ClientResult> UpdateStatusAsync(RequestOptions? options);
2793 public ValueTask<ClientResult> UpdateStatusAsync(CancellationToken cancellationToken = default);
2794 public override void WaitForCompletion(CancellationToken cancellationToken = default);
2795 public override ValueTask WaitForCompletionAsync(CancellationToken cancellationToken = default);
2796 }
2797 [Experimental("OPENAI001")]
2798 public class FineTuningJobCollectionOptions {
2799 public string AfterJobId { get; set; }
2800 public int? PageSize { get; set; }
2801 }
2802 [Experimental("OPENAI001")]
2803 public readonly partial struct FineTuningJobEventKind : IEquatable<FineTuningJobEventKind> {
2804 public FineTuningJobEventKind(string value);
2805 public static FineTuningJobEventKind Message { get; }
2806 public static FineTuningJobEventKind Metrics { get; }
2807 public readonly bool Equals(FineTuningJobEventKind other);
2808 [EditorBrowsable(EditorBrowsableState.Never)]
2809 public override readonly bool Equals(object obj);
2810 [EditorBrowsable(EditorBrowsableState.Never)]
2811 public override readonly int GetHashCode();
2812 public static bool operator ==(FineTuningJobEventKind left, FineTuningJobEventKind right);
2813 public static implicit operator FineTuningJobEventKind(string value);
2814 public static implicit operator FineTuningJobEventKind?(string value);
2815 public static bool operator !=(FineTuningJobEventKind left, FineTuningJobEventKind right);
2816 public override readonly string ToString();
2817 }
2818 [Experimental("OPENAI001")]
2819 public class FineTuningOptions : IJsonModel<FineTuningOptions>, IPersistableModel<FineTuningOptions> {
2820 public IList<FineTuningIntegration> Integrations { get; }
2821 public IDictionary<string, string> Metadata { get; }
2822 public int? Seed { get; set; }
2823 public string Suffix { get; set; }
2824 public FineTuningTrainingMethod TrainingMethod { get; set; }
2825 public string ValidationFile { get; set; }
2826 }
2827 [Experimental("OPENAI001")]
2828 public readonly partial struct FineTuningStatus : IEquatable<string>, IEquatable<FineTuningStatus> {
2829 public FineTuningStatus(string value);
2830 public static FineTuningStatus Cancelled { get; }
2831 public static FineTuningStatus Failed { get; }
2832 public bool InProgress { get; }
2833 public static FineTuningStatus Queued { get; }
2834 public static FineTuningStatus Running { get; }
2835 public static FineTuningStatus Succeeded { get; }
2836 public static FineTuningStatus ValidatingFiles { get; }
2837 public readonly bool Equals(FineTuningStatus other);
2838 [EditorBrowsable(EditorBrowsableState.Never)]
2839 public override readonly bool Equals(object obj);
2840 public readonly bool Equals(string other);
2841 [EditorBrowsable(EditorBrowsableState.Never)]
2842 public override readonly int GetHashCode();
2843 public static bool operator ==(FineTuningStatus left, FineTuningStatus right);
2844 public static implicit operator FineTuningStatus(string value);
2845 public static implicit operator FineTuningStatus?(string value);
2846 public static bool operator !=(FineTuningStatus left, FineTuningStatus right);
2847 public override readonly string ToString();
2848 }
2849 [Experimental("OPENAI001")]
2850 public class FineTuningTrainingMethod : IJsonModel<FineTuningTrainingMethod>, IPersistableModel<FineTuningTrainingMethod> {
2851 public static FineTuningTrainingMethod CreateDirectPreferenceOptimization(HyperparameterBatchSize batchSize = null, HyperparameterEpochCount epochCount = null, HyperparameterLearningRate learningRate = null, HyperparameterBetaFactor betaFactor = null);
2852 public static FineTuningTrainingMethod CreateSupervised(HyperparameterBatchSize batchSize = null, HyperparameterEpochCount epochCount = null, HyperparameterLearningRate learningRate = null);
2853 }
2854 [Experimental("OPENAI001")]
2855 public class GetCheckpointsOptions {
2856 public string AfterCheckpointId { get; set; }
2857 public int? PageSize { get; set; }
2858 }
2859 [Experimental("OPENAI001")]
2860 public class GetEventsOptions {
2861 public string AfterEventId { get; set; }
2862 public int? PageSize { get; set; }
2863 }
2864 [Experimental("OPENAI001")]
2865 public class HyperparameterBatchSize : IEquatable<int>, IEquatable<string>, IJsonModel<HyperparameterBatchSize>, IPersistableModel<HyperparameterBatchSize> {
2866 public HyperparameterBatchSize(int batchSize);
2867 public static HyperparameterBatchSize CreateAuto();
2868 public static HyperparameterBatchSize CreateSize(int batchSize);
2869 [EditorBrowsable(EditorBrowsableState.Never)]
2870 public bool Equals(int other);
2871 [EditorBrowsable(EditorBrowsableState.Never)]
2872 public override bool Equals(object other);
2873 [EditorBrowsable(EditorBrowsableState.Never)]
2874 public bool Equals(string other);
2875 [EditorBrowsable(EditorBrowsableState.Never)]
2876 public override int GetHashCode();
2877 [EditorBrowsable(EditorBrowsableState.Never)]
2878 public static bool operator ==(HyperparameterBatchSize first, HyperparameterBatchSize second);
2879 public static implicit operator HyperparameterBatchSize(int batchSize);
2880 [EditorBrowsable(EditorBrowsableState.Never)]
2881 public static bool operator !=(HyperparameterBatchSize first, HyperparameterBatchSize second);
2882 }
2883 [Experimental("OPENAI001")]
2884 public class HyperparameterBetaFactor : IEquatable<int>, IEquatable<string>, IJsonModel<HyperparameterBetaFactor>, IPersistableModel<HyperparameterBetaFactor> {
2885 public HyperparameterBetaFactor(int beta);
2886 public static HyperparameterBetaFactor CreateAuto();
2887 public static HyperparameterBetaFactor CreateBeta(int beta);
2888 [EditorBrowsable(EditorBrowsableState.Never)]
2889 public bool Equals(int other);
2890 [EditorBrowsable(EditorBrowsableState.Never)]
2891 public override bool Equals(object other);
2892 [EditorBrowsable(EditorBrowsableState.Never)]
2893 public bool Equals(string other);
2894 [EditorBrowsable(EditorBrowsableState.Never)]
2895 public override int GetHashCode();
2896 [EditorBrowsable(EditorBrowsableState.Never)]
2897 public static bool operator ==(HyperparameterBetaFactor first, HyperparameterBetaFactor second);
2898 public static implicit operator HyperparameterBetaFactor(int beta);
2899 [EditorBrowsable(EditorBrowsableState.Never)]
2900 public static bool operator !=(HyperparameterBetaFactor first, HyperparameterBetaFactor second);
2901 }
2902 [Experimental("OPENAI001")]
2903 public class HyperparameterEpochCount : IEquatable<int>, IEquatable<string>, IJsonModel<HyperparameterEpochCount>, IPersistableModel<HyperparameterEpochCount> {
2904 public HyperparameterEpochCount(int epochCount);
2905 public static HyperparameterEpochCount CreateAuto();
2906 public static HyperparameterEpochCount CreateEpochCount(int epochCount);
2907 [EditorBrowsable(EditorBrowsableState.Never)]
2908 public bool Equals(int other);
2909 [EditorBrowsable(EditorBrowsableState.Never)]
2910 public override bool Equals(object other);
2911 [EditorBrowsable(EditorBrowsableState.Never)]
2912 public bool Equals(string other);
2913 [EditorBrowsable(EditorBrowsableState.Never)]
2914 public override int GetHashCode();
2915 [EditorBrowsable(EditorBrowsableState.Never)]
2916 public static bool operator ==(HyperparameterEpochCount first, HyperparameterEpochCount second);
2917 public static implicit operator HyperparameterEpochCount(int epochCount);
2918 [EditorBrowsable(EditorBrowsableState.Never)]
2919 public static bool operator !=(HyperparameterEpochCount first, HyperparameterEpochCount second);
2920 }
2921 [Experimental("OPENAI001")]
2922 public class HyperparameterLearningRate : IEquatable<double>, IEquatable<int>, IEquatable<string>, IJsonModel<HyperparameterLearningRate>, IPersistableModel<HyperparameterLearningRate> {
2923 public HyperparameterLearningRate(double learningRateMultiplier);
2924 public static HyperparameterLearningRate CreateAuto();
2925 public static HyperparameterLearningRate CreateMultiplier(double learningRateMultiplier);
2926 [EditorBrowsable(EditorBrowsableState.Never)]
2927 public bool Equals(double other);
2928 [EditorBrowsable(EditorBrowsableState.Never)]
2929 public bool Equals(int other);
2930 [EditorBrowsable(EditorBrowsableState.Never)]
2931 public override bool Equals(object other);
2932 [EditorBrowsable(EditorBrowsableState.Never)]
2933 public bool Equals(string other);
2934 [EditorBrowsable(EditorBrowsableState.Never)]
2935 public override int GetHashCode();
2936 [EditorBrowsable(EditorBrowsableState.Never)]
2937 public static bool operator ==(HyperparameterLearningRate first, HyperparameterLearningRate second);
2938 public static implicit operator HyperparameterLearningRate(double learningRateMultiplier);
2939 [EditorBrowsable(EditorBrowsableState.Never)]
2940 public static bool operator !=(HyperparameterLearningRate first, HyperparameterLearningRate second);
2941 }
2942 [Experimental("OPENAI001")]
2943 public class HyperparametersForDPO : MethodHyperparameters, IJsonModel<HyperparametersForDPO>, IPersistableModel<HyperparametersForDPO> {
2944 public int BatchSize { get; }
2945 public float Beta { get; }
2946 public int EpochCount { get; }
2947 public float LearningRateMultiplier { get; }
2948 }
2949 [Experimental("OPENAI001")]
2950 public class HyperparametersForSupervised : MethodHyperparameters, IJsonModel<HyperparametersForSupervised>, IPersistableModel<HyperparametersForSupervised> {
2951 public int BatchSize { get; }
2952 public int EpochCount { get; }
2953 public float LearningRateMultiplier { get; }
2954 }
2955 [Experimental("OPENAI001")]
2956 public class MethodHyperparameters {
2957 }
2958 [Experimental("OPENAI001")]
2959 public class WeightsAndBiasesIntegration : FineTuningIntegration, IJsonModel<WeightsAndBiasesIntegration>, IPersistableModel<WeightsAndBiasesIntegration> {
2960 public WeightsAndBiasesIntegration(string projectName);
2961 public string DisplayName { get; set; }
2962 public string EntityName { get; set; }
2963 public string ProjectName { get; set; }
2964 public IList<string> Tags { get; }
2965 }
2966}
2967namespace OpenAI.Graders {
2968 [Experimental("OPENAI001")]
2969 public class FineTuneReinforcementHyperparameters : IJsonModel<FineTuneReinforcementHyperparameters>, IPersistableModel<FineTuneReinforcementHyperparameters> {
2970 public BinaryData BatchSize { get; set; }
2971 public BinaryData ComputeMultiplier { get; set; }
2972 public BinaryData EvalInterval { get; set; }
2973 public BinaryData EvalSamples { get; set; }
2974 public BinaryData LearningRateMultiplier { get; set; }
2975 public BinaryData NEpochs { get; set; }
2976 }
2977 [Experimental("OPENAI001")]
2978 [PersistableModelProxy(typeof(UnknownGrader))]
2979 public class Grader : IJsonModel<Grader>, IPersistableModel<Grader> {
2980 }
2981 [Experimental("OPENAI001")]
2982 public class GraderClient {
2983 protected GraderClient();
2984 [Experimental("SCME0002")]
2985 public GraderClient(GraderClientSettings settings);
2986 public GraderClient(ApiKeyCredential credential, OpenAIClientOptions options);
2987 public GraderClient(ApiKeyCredential credential);
2988 public GraderClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
2989 public GraderClient(AuthenticationPolicy authenticationPolicy);
2990 protected internal GraderClient(ClientPipeline pipeline, OpenAIClientOptions options);
2991 public GraderClient(string apiKey);
2992 [Experimental("OPENAI001")]
2993 public Uri Endpoint { get; }
2994 public ClientPipeline Pipeline { get; }
2995 public virtual ClientResult RunGrader(BinaryContent content, RequestOptions options = null);
2996 public virtual Task<ClientResult> RunGraderAsync(BinaryContent content, RequestOptions options = null);
2997 public virtual ClientResult ValidateGrader(BinaryContent content, RequestOptions options = null);
2998 public virtual Task<ClientResult> ValidateGraderAsync(BinaryContent content, RequestOptions options = null);
2999 }
3000 [Experimental("SCME0002")]
3001 public sealed class GraderClientSettings : ClientSettings {
3002 public OpenAIClientOptions Options { get; set; }
3003 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
3004 }
3005 [Experimental("OPENAI001")]
3006 public class GraderLabelModel : Grader, IJsonModel<GraderLabelModel>, IPersistableModel<GraderLabelModel> {
3007 public IList<string> Labels { get; }
3008 public string Model { get; set; }
3009 public string Name { get; set; }
3010 public IList<string> PassingLabels { get; }
3011 }
3012 [Experimental("OPENAI001")]
3013 public class GraderMulti : Grader, IJsonModel<GraderMulti>, IPersistableModel<GraderMulti> {
3014 public GraderMulti(string name, BinaryData graders, string calculateOutput);
3015 public string CalculateOutput { get; set; }
3016 public BinaryData Graders { get; set; }
3017 public string Name { get; set; }
3018 }
3019 [Experimental("OPENAI001")]
3020 public class GraderPython : Grader, IJsonModel<GraderPython>, IPersistableModel<GraderPython> {
3021 public GraderPython(string name, string source);
3022 public string ImageTag { get; set; }
3023 public string Name { get; set; }
3024 public string Source { get; set; }
3025 }
3026 [Experimental("OPENAI001")]
3027 public class GraderScoreModel : Grader, IJsonModel<GraderScoreModel>, IPersistableModel<GraderScoreModel> {
3028 public string Model { get; set; }
3029 public string Name { get; set; }
3030 public IList<float> Range { get; }
3031 public BinaryData SamplingParams { get; set; }
3032 }
3033 [Experimental("OPENAI001")]
3034 public class GraderStringCheck : Grader, IJsonModel<GraderStringCheck>, IPersistableModel<GraderStringCheck> {
3035 public GraderStringCheck(string name, string input, string reference, GraderStringCheckOperation operation);
3036 public string Input { get; set; }
3037 public string Name { get; set; }
3038 public GraderStringCheckOperation Operation { get; set; }
3039 public string Reference { get; set; }
3040 }
3041 [Experimental("OPENAI001")]
3042 public readonly partial struct GraderStringCheckOperation : IEquatable<GraderStringCheckOperation> {
3043 public GraderStringCheckOperation(string value);
3044 public static GraderStringCheckOperation Eq { get; }
3045 public static GraderStringCheckOperation Ilike { get; }
3046 public static GraderStringCheckOperation Like { get; }
3047 public static GraderStringCheckOperation Ne { get; }
3048 public readonly bool Equals(GraderStringCheckOperation other);
3049 [EditorBrowsable(EditorBrowsableState.Never)]
3050 public override readonly bool Equals(object obj);
3051 [EditorBrowsable(EditorBrowsableState.Never)]
3052 public override readonly int GetHashCode();
3053 public static bool operator ==(GraderStringCheckOperation left, GraderStringCheckOperation right);
3054 public static implicit operator GraderStringCheckOperation(string value);
3055 public static implicit operator GraderStringCheckOperation?(string value);
3056 public static bool operator !=(GraderStringCheckOperation left, GraderStringCheckOperation right);
3057 public override readonly string ToString();
3058 }
3059 [Experimental("OPENAI001")]
3060 public class GraderTextSimilarity : Grader, IJsonModel<GraderTextSimilarity>, IPersistableModel<GraderTextSimilarity> {
3061 public GraderTextSimilarity(string name, string input, string reference, GraderTextSimilarityEvaluationMetric evaluationMetric);
3062 public GraderTextSimilarityEvaluationMetric EvaluationMetric { get; set; }
3063 public string Input { get; set; }
3064 public string Name { get; set; }
3065 public string Reference { get; set; }
3066 }
3067 [Experimental("OPENAI001")]
3068 public readonly partial struct GraderTextSimilarityEvaluationMetric : IEquatable<GraderTextSimilarityEvaluationMetric> {
3069 public GraderTextSimilarityEvaluationMetric(string value);
3070 public static GraderTextSimilarityEvaluationMetric Bleu { get; }
3071 public static GraderTextSimilarityEvaluationMetric FuzzyMatch { get; }
3072 public static GraderTextSimilarityEvaluationMetric Gleu { get; }
3073 public static GraderTextSimilarityEvaluationMetric Meteor { get; }
3074 public static GraderTextSimilarityEvaluationMetric Rouge1 { get; }
3075 public static GraderTextSimilarityEvaluationMetric Rouge2 { get; }
3076 public static GraderTextSimilarityEvaluationMetric Rouge3 { get; }
3077 public static GraderTextSimilarityEvaluationMetric Rouge4 { get; }
3078 public static GraderTextSimilarityEvaluationMetric Rouge5 { get; }
3079 public static GraderTextSimilarityEvaluationMetric RougeL { get; }
3080 public readonly bool Equals(GraderTextSimilarityEvaluationMetric other);
3081 [EditorBrowsable(EditorBrowsableState.Never)]
3082 public override readonly bool Equals(object obj);
3083 [EditorBrowsable(EditorBrowsableState.Never)]
3084 public override readonly int GetHashCode();
3085 public static bool operator ==(GraderTextSimilarityEvaluationMetric left, GraderTextSimilarityEvaluationMetric right);
3086 public static implicit operator GraderTextSimilarityEvaluationMetric(string value);
3087 public static implicit operator GraderTextSimilarityEvaluationMetric?(string value);
3088 public static bool operator !=(GraderTextSimilarityEvaluationMetric left, GraderTextSimilarityEvaluationMetric right);
3089 public override readonly string ToString();
3090 }
3091 [Experimental("OPENAI001")]
3092 public readonly partial struct GraderType : IEquatable<GraderType> {
3093 public GraderType(string value);
3094 public static GraderType LabelModel { get; }
3095 public static GraderType Multi { get; }
3096 public static GraderType Python { get; }
3097 public static GraderType ScoreModel { get; }
3098 public static GraderType StringCheck { get; }
3099 public static GraderType TextSimilarity { get; }
3100 public readonly bool Equals(GraderType other);
3101 [EditorBrowsable(EditorBrowsableState.Never)]
3102 public override readonly bool Equals(object obj);
3103 [EditorBrowsable(EditorBrowsableState.Never)]
3104 public override readonly int GetHashCode();
3105 public static bool operator ==(GraderType left, GraderType right);
3106 public static implicit operator GraderType(string value);
3107 public static implicit operator GraderType?(string value);
3108 public static bool operator !=(GraderType left, GraderType right);
3109 public override readonly string ToString();
3110 }
3111 [Experimental("OPENAI001")]
3112 public class RunGraderRequest : IJsonModel<RunGraderRequest>, IPersistableModel<RunGraderRequest> {
3113 public BinaryData Grader { get; }
3114 public BinaryData Item { get; }
3115 public string ModelSample { get; }
3116 }
3117 [Experimental("OPENAI001")]
3118 public class RunGraderResponse : IJsonModel<RunGraderResponse>, IPersistableModel<RunGraderResponse> {
3119 public RunGraderResponseMetadata Metadata { get; }
3120 public BinaryData ModelGraderTokenUsagePerModel { get; }
3121 public float Reward { get; }
3122 public BinaryData SubRewards { get; }
3123 public static explicit operator RunGraderResponse(ClientResult result);
3124 }
3125 [Experimental("OPENAI001")]
3126 public class RunGraderResponseMetadata : IJsonModel<RunGraderResponseMetadata>, IPersistableModel<RunGraderResponseMetadata> {
3127 public RunGraderResponseMetadataErrors Errors { get; }
3128 public float ExecutionTime { get; }
3129 public string Kind { get; }
3130 public string Name { get; }
3131 public string SampledModelName { get; }
3132 public BinaryData Scores { get; }
3133 public int? TokenUsage { get; }
3134 }
3135 [Experimental("OPENAI001")]
3136 public class RunGraderResponseMetadataErrors : IJsonModel<RunGraderResponseMetadataErrors>, IPersistableModel<RunGraderResponseMetadataErrors> {
3137 public bool FormulaParseError { get; }
3138 public bool InvalidVariableError { get; }
3139 public bool ModelGraderParseError { get; }
3140 public bool ModelGraderRefusalError { get; }
3141 public bool ModelGraderServerError { get; }
3142 public string ModelGraderServerErrorDetails { get; }
3143 public bool OtherError { get; }
3144 public bool PythonGraderRuntimeError { get; }
3145 public string PythonGraderRuntimeErrorDetails { get; }
3146 public bool PythonGraderServerError { get; }
3147 public string PythonGraderServerErrorType { get; }
3148 public bool SampleParseError { get; }
3149 public bool TruncatedObservationError { get; }
3150 public bool UnresponsiveRewardError { get; }
3151 }
3152 [Experimental("OPENAI001")]
3153 public class UnknownGrader : Grader, IJsonModel<Grader>, IPersistableModel<Grader> {
3154 }
3155 [Experimental("OPENAI001")]
3156 public class ValidateGraderRequest : IJsonModel<ValidateGraderRequest>, IPersistableModel<ValidateGraderRequest> {
3157 public BinaryData Grader { get; }
3158 }
3159 [Experimental("OPENAI001")]
3160 public class ValidateGraderResponse : IJsonModel<ValidateGraderResponse>, IPersistableModel<ValidateGraderResponse> {
3161 public BinaryData Grader { get; }
3162 public static explicit operator ValidateGraderResponse(ClientResult result);
3163 }
3164}
3165namespace OpenAI.Images {
3166 public class GeneratedImage : IJsonModel<GeneratedImage>, IPersistableModel<GeneratedImage> {
3167 public BinaryData ImageBytes { get; }
3168 public Uri ImageUri { get; }
3169 public string RevisedPrompt { get; }
3170 }
3171 [Experimental("OPENAI001")]
3172 public readonly partial struct GeneratedImageBackground : IEquatable<GeneratedImageBackground> {
3173 public GeneratedImageBackground(string value);
3174 public static GeneratedImageBackground Auto { get; }
3175 public static GeneratedImageBackground Opaque { get; }
3176 public static GeneratedImageBackground Transparent { get; }
3177 public readonly bool Equals(GeneratedImageBackground other);
3178 [EditorBrowsable(EditorBrowsableState.Never)]
3179 public override readonly bool Equals(object obj);
3180 [EditorBrowsable(EditorBrowsableState.Never)]
3181 public override readonly int GetHashCode();
3182 public static bool operator ==(GeneratedImageBackground left, GeneratedImageBackground right);
3183 public static implicit operator GeneratedImageBackground(string value);
3184 public static implicit operator GeneratedImageBackground?(string value);
3185 public static bool operator !=(GeneratedImageBackground left, GeneratedImageBackground right);
3186 public override readonly string ToString();
3187 }
3188 public class GeneratedImageCollection : ObjectModel.ReadOnlyCollection<GeneratedImage>, IJsonModel<GeneratedImageCollection>, IPersistableModel<GeneratedImageCollection> {
3189 [Experimental("OPENAI001")]
3190 public GeneratedImageBackground? Background { get; }
3191 public DateTimeOffset CreatedAt { get; }
3192 [Experimental("OPENAI001")]
3193 public GeneratedImageFileFormat? OutputFileFormat { get; }
3194 [Experimental("OPENAI001")]
3195 public GeneratedImageQuality? Quality { get; }
3196 [Experimental("OPENAI001")]
3197 public GeneratedImageSize? Size { get; }
3198 [Experimental("OPENAI001")]
3199 public ImageTokenUsage Usage { get; }
3200 [Experimental("OPENAI001")]
3201 public static explicit operator GeneratedImageCollection(ClientResult result);
3202 }
3203 [Experimental("OPENAI001")]
3204 public readonly partial struct GeneratedImageFileFormat : IEquatable<GeneratedImageFileFormat> {
3205 public GeneratedImageFileFormat(string value);
3206 public static GeneratedImageFileFormat Jpeg { get; }
3207 public static GeneratedImageFileFormat Png { get; }
3208 public static GeneratedImageFileFormat Webp { get; }
3209 public readonly bool Equals(GeneratedImageFileFormat other);
3210 [EditorBrowsable(EditorBrowsableState.Never)]
3211 public override readonly bool Equals(object obj);
3212 [EditorBrowsable(EditorBrowsableState.Never)]
3213 public override readonly int GetHashCode();
3214 public static bool operator ==(GeneratedImageFileFormat left, GeneratedImageFileFormat right);
3215 public static implicit operator GeneratedImageFileFormat(string value);
3216 public static implicit operator GeneratedImageFileFormat?(string value);
3217 public static bool operator !=(GeneratedImageFileFormat left, GeneratedImageFileFormat right);
3218 public override readonly string ToString();
3219 }
3220 public readonly partial struct GeneratedImageFormat : IEquatable<GeneratedImageFormat> {
3221 public GeneratedImageFormat(string value);
3222 public static GeneratedImageFormat Bytes { get; }
3223 public static GeneratedImageFormat Uri { get; }
3224 public readonly bool Equals(GeneratedImageFormat other);
3225 [EditorBrowsable(EditorBrowsableState.Never)]
3226 public override readonly bool Equals(object obj);
3227 [EditorBrowsable(EditorBrowsableState.Never)]
3228 public override readonly int GetHashCode();
3229 public static bool operator ==(GeneratedImageFormat left, GeneratedImageFormat right);
3230 public static implicit operator GeneratedImageFormat(string value);
3231 public static implicit operator GeneratedImageFormat?(string value);
3232 public static bool operator !=(GeneratedImageFormat left, GeneratedImageFormat right);
3233 public override readonly string ToString();
3234 }
3235 [Experimental("OPENAI001")]
3236 public readonly partial struct GeneratedImageModerationLevel : IEquatable<GeneratedImageModerationLevel> {
3237 public GeneratedImageModerationLevel(string value);
3238 public static GeneratedImageModerationLevel Auto { get; }
3239 public static GeneratedImageModerationLevel Low { get; }
3240 public readonly bool Equals(GeneratedImageModerationLevel other);
3241 [EditorBrowsable(EditorBrowsableState.Never)]
3242 public override readonly bool Equals(object obj);
3243 [EditorBrowsable(EditorBrowsableState.Never)]
3244 public override readonly int GetHashCode();
3245 public static bool operator ==(GeneratedImageModerationLevel left, GeneratedImageModerationLevel right);
3246 public static implicit operator GeneratedImageModerationLevel(string value);
3247 public static implicit operator GeneratedImageModerationLevel?(string value);
3248 public static bool operator !=(GeneratedImageModerationLevel left, GeneratedImageModerationLevel right);
3249 public override readonly string ToString();
3250 }
3251 public readonly partial struct GeneratedImageQuality : IEquatable<GeneratedImageQuality> {
3252 public GeneratedImageQuality(string value);
3253 [Experimental("OPENAI001")]
3254 public static GeneratedImageQuality Auto { get; }
3255 public static GeneratedImageQuality High { get; }
3256 [Experimental("OPENAI001")]
3257 public static GeneratedImageQuality HighQuality { get; }
3258 [Experimental("OPENAI001")]
3259 public static GeneratedImageQuality LowQuality { get; }
3260 [Experimental("OPENAI001")]
3261 public static GeneratedImageQuality MediumQuality { get; }
3262 public static GeneratedImageQuality Standard { get; }
3263 public readonly bool Equals(GeneratedImageQuality other);
3264 [EditorBrowsable(EditorBrowsableState.Never)]
3265 public override readonly bool Equals(object obj);
3266 [EditorBrowsable(EditorBrowsableState.Never)]
3267 public override readonly int GetHashCode();
3268 public static bool operator ==(GeneratedImageQuality left, GeneratedImageQuality right);
3269 public static implicit operator GeneratedImageQuality(string value);
3270 public static implicit operator GeneratedImageQuality?(string value);
3271 public static bool operator !=(GeneratedImageQuality left, GeneratedImageQuality right);
3272 public override readonly string ToString();
3273 }
3274 public readonly partial struct GeneratedImageSize : IEquatable<GeneratedImageSize> {
3275 public static readonly GeneratedImageSize W1024xH1024;
3276 [Experimental("OPENAI001")]
3277 public static readonly GeneratedImageSize W1024xH1536;
3278 public static readonly GeneratedImageSize W1024xH1792;
3279 [Experimental("OPENAI001")]
3280 public static readonly GeneratedImageSize W1536xH1024;
3281 public static readonly GeneratedImageSize W1792xH1024;
3282 public static readonly GeneratedImageSize W256xH256;
3283 public static readonly GeneratedImageSize W512xH512;
3284 public GeneratedImageSize(int width, int height);
3285 [Experimental("OPENAI001")]
3286 public static GeneratedImageSize Auto { get; }
3287 public readonly bool Equals(GeneratedImageSize other);
3288 [EditorBrowsable(EditorBrowsableState.Never)]
3289 public override readonly bool Equals(object obj);
3290 [EditorBrowsable(EditorBrowsableState.Never)]
3291 public override readonly int GetHashCode();
3292 public static bool operator ==(GeneratedImageSize left, GeneratedImageSize right);
3293 public static bool operator !=(GeneratedImageSize left, GeneratedImageSize right);
3294 public override readonly string ToString();
3295 }
3296 public readonly partial struct GeneratedImageStyle : IEquatable<GeneratedImageStyle> {
3297 public GeneratedImageStyle(string value);
3298 public static GeneratedImageStyle Natural { get; }
3299 public static GeneratedImageStyle Vivid { get; }
3300 public readonly bool Equals(GeneratedImageStyle other);
3301 [EditorBrowsable(EditorBrowsableState.Never)]
3302 public override readonly bool Equals(object obj);
3303 [EditorBrowsable(EditorBrowsableState.Never)]
3304 public override readonly int GetHashCode();
3305 public static bool operator ==(GeneratedImageStyle left, GeneratedImageStyle right);
3306 public static implicit operator GeneratedImageStyle(string value);
3307 public static implicit operator GeneratedImageStyle?(string value);
3308 public static bool operator !=(GeneratedImageStyle left, GeneratedImageStyle right);
3309 public override readonly string ToString();
3310 }
3311 public class ImageClient {
3312 protected ImageClient();
3313 [Experimental("SCME0002")]
3314 public ImageClient(ImageClientSettings settings);
3315 protected internal ImageClient(ClientPipeline pipeline, string model, OpenAIClientOptions options);
3316 public ImageClient(string model, ApiKeyCredential credential, OpenAIClientOptions options);
3317 public ImageClient(string model, ApiKeyCredential credential);
3318 [Experimental("OPENAI001")]
3319 public ImageClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
3320 [Experimental("OPENAI001")]
3321 public ImageClient(string model, AuthenticationPolicy authenticationPolicy);
3322 public ImageClient(string model, string apiKey);
3323 [Experimental("OPENAI001")]
3324 public Uri Endpoint { get; }
3325 [Experimental("OPENAI001")]
3326 public string Model { get; }
3327 public ClientPipeline Pipeline { get; }
3328 public virtual ClientResult<GeneratedImage> GenerateImage(string prompt, ImageGenerationOptions options = null, CancellationToken cancellationToken = default);
3329 public virtual Task<ClientResult<GeneratedImage>> GenerateImageAsync(string prompt, ImageGenerationOptions options = null, CancellationToken cancellationToken = default);
3330 public virtual ClientResult<GeneratedImage> GenerateImageEdit(Stream image, string imageFilename, string prompt, ImageEditOptions options = null, CancellationToken cancellationToken = default);
3331 public virtual ClientResult<GeneratedImage> GenerateImageEdit(Stream image, string imageFilename, string prompt, Stream mask, string maskFilename, ImageEditOptions options = null, CancellationToken cancellationToken = default);
3332 public virtual ClientResult<GeneratedImage> GenerateImageEdit(string imageFilePath, string prompt, ImageEditOptions options = null);
3333 public virtual ClientResult<GeneratedImage> GenerateImageEdit(string imageFilePath, string prompt, string maskFilePath, ImageEditOptions options = null);
3334 public virtual Task<ClientResult<GeneratedImage>> GenerateImageEditAsync(Stream image, string imageFilename, string prompt, ImageEditOptions options = null, CancellationToken cancellationToken = default);
3335 public virtual Task<ClientResult<GeneratedImage>> GenerateImageEditAsync(Stream image, string imageFilename, string prompt, Stream mask, string maskFilename, ImageEditOptions options = null, CancellationToken cancellationToken = default);
3336 public virtual Task<ClientResult<GeneratedImage>> GenerateImageEditAsync(string imageFilePath, string prompt, ImageEditOptions options = null);
3337 public virtual Task<ClientResult<GeneratedImage>> GenerateImageEditAsync(string imageFilePath, string prompt, string maskFilePath, ImageEditOptions options = null);
3338 public virtual ClientResult GenerateImageEdits(BinaryContent content, string contentType, RequestOptions options = null);
3339 public virtual ClientResult<GeneratedImageCollection> GenerateImageEdits(Stream image, string imageFilename, string prompt, int imageCount, ImageEditOptions options = null, CancellationToken cancellationToken = default);
3340 public virtual ClientResult<GeneratedImageCollection> GenerateImageEdits(Stream image, string imageFilename, string prompt, Stream mask, string maskFilename, int imageCount, ImageEditOptions options = null, CancellationToken cancellationToken = default);
3341 public virtual ClientResult<GeneratedImageCollection> GenerateImageEdits(string imageFilePath, string prompt, int imageCount, ImageEditOptions options = null);
3342 public virtual ClientResult<GeneratedImageCollection> GenerateImageEdits(string imageFilePath, string prompt, string maskFilePath, int imageCount, ImageEditOptions options = null);
3343 public virtual Task<ClientResult> GenerateImageEditsAsync(BinaryContent content, string contentType, RequestOptions options = null);
3344 public virtual Task<ClientResult<GeneratedImageCollection>> GenerateImageEditsAsync(Stream image, string imageFilename, string prompt, int imageCount, ImageEditOptions options = null, CancellationToken cancellationToken = default);
3345 public virtual Task<ClientResult<GeneratedImageCollection>> GenerateImageEditsAsync(Stream image, string imageFilename, string prompt, Stream mask, string maskFilename, int imageCount, ImageEditOptions options = null, CancellationToken cancellationToken = default);
3346 public virtual Task<ClientResult<GeneratedImageCollection>> GenerateImageEditsAsync(string imageFilePath, string prompt, int imageCount, ImageEditOptions options = null);
3347 public virtual Task<ClientResult<GeneratedImageCollection>> GenerateImageEditsAsync(string imageFilePath, string prompt, string maskFilePath, int imageCount, ImageEditOptions options = null);
3348 public virtual ClientResult GenerateImages(BinaryContent content, RequestOptions options = null);
3349 public virtual ClientResult<GeneratedImageCollection> GenerateImages(string prompt, int imageCount, ImageGenerationOptions options = null, CancellationToken cancellationToken = default);
3350 public virtual Task<ClientResult> GenerateImagesAsync(BinaryContent content, RequestOptions options = null);
3351 public virtual Task<ClientResult<GeneratedImageCollection>> GenerateImagesAsync(string prompt, int imageCount, ImageGenerationOptions options = null, CancellationToken cancellationToken = default);
3352 public virtual ClientResult<GeneratedImage> GenerateImageVariation(Stream image, string imageFilename, ImageVariationOptions options = null, CancellationToken cancellationToken = default);
3353 public virtual ClientResult<GeneratedImage> GenerateImageVariation(string imageFilePath, ImageVariationOptions options = null);
3354 public virtual Task<ClientResult<GeneratedImage>> GenerateImageVariationAsync(Stream image, string imageFilename, ImageVariationOptions options = null, CancellationToken cancellationToken = default);
3355 public virtual Task<ClientResult<GeneratedImage>> GenerateImageVariationAsync(string imageFilePath, ImageVariationOptions options = null);
3356 public virtual ClientResult GenerateImageVariations(BinaryContent content, string contentType, RequestOptions options = null);
3357 public virtual ClientResult<GeneratedImageCollection> GenerateImageVariations(Stream image, string imageFilename, int imageCount, ImageVariationOptions options = null, CancellationToken cancellationToken = default);
3358 public virtual ClientResult<GeneratedImageCollection> GenerateImageVariations(string imageFilePath, int imageCount, ImageVariationOptions options = null);
3359 public virtual Task<ClientResult> GenerateImageVariationsAsync(BinaryContent content, string contentType, RequestOptions options = null);
3360 public virtual Task<ClientResult<GeneratedImageCollection>> GenerateImageVariationsAsync(Stream image, string imageFilename, int imageCount, ImageVariationOptions options = null, CancellationToken cancellationToken = default);
3361 public virtual Task<ClientResult<GeneratedImageCollection>> GenerateImageVariationsAsync(string imageFilePath, int imageCount, ImageVariationOptions options = null);
3362 }
3363 [Experimental("SCME0002")]
3364 public sealed class ImageClientSettings : ClientSettings {
3365 public string Model { get; set; }
3366 public OpenAIClientOptions Options { get; set; }
3367 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
3368 }
3369 public class ImageEditOptions : IJsonModel<ImageEditOptions>, IPersistableModel<ImageEditOptions> {
3370 [Experimental("OPENAI001")]
3371 public GeneratedImageBackground? Background { get; set; }
3372 public string EndUserId { get; set; }
3373 [Experimental("OPENAI001")]
3374 public ImageInputFidelity? InputFidelity { get; set; }
3375 [Experimental("OPENAI001")]
3376 public int? OutputCompressionFactor { get; set; }
3377 [Experimental("OPENAI001")]
3378 public GeneratedImageFileFormat? OutputFileFormat { get; set; }
3379 [Experimental("OPENAI001")]
3380 public GeneratedImageQuality? Quality { get; set; }
3381 public GeneratedImageFormat? ResponseFormat { get; set; }
3382 public GeneratedImageSize? Size { get; set; }
3383 }
3384 public class ImageGenerationOptions : IJsonModel<ImageGenerationOptions>, IPersistableModel<ImageGenerationOptions> {
3385 [Experimental("OPENAI001")]
3386 public GeneratedImageBackground? Background { get; set; }
3387 public string EndUserId { get; set; }
3388 [Experimental("OPENAI001")]
3389 public GeneratedImageModerationLevel? ModerationLevel { get; set; }
3390 [Experimental("OPENAI001")]
3391 public int? OutputCompressionFactor { get; set; }
3392 [Experimental("OPENAI001")]
3393 public GeneratedImageFileFormat? OutputFileFormat { get; set; }
3394 public GeneratedImageQuality? Quality { get; set; }
3395 public GeneratedImageFormat? ResponseFormat { get; set; }
3396 public GeneratedImageSize? Size { get; set; }
3397 public GeneratedImageStyle? Style { get; set; }
3398 }
3399 [Experimental("OPENAI001")]
3400 public readonly partial struct ImageInputFidelity : IEquatable<ImageInputFidelity> {
3401 public ImageInputFidelity(string value);
3402 public static ImageInputFidelity High { get; }
3403 public static ImageInputFidelity Low { get; }
3404 public readonly bool Equals(ImageInputFidelity other);
3405 [EditorBrowsable(EditorBrowsableState.Never)]
3406 public override readonly bool Equals(object obj);
3407 [EditorBrowsable(EditorBrowsableState.Never)]
3408 public override readonly int GetHashCode();
3409 public static bool operator ==(ImageInputFidelity left, ImageInputFidelity right);
3410 public static implicit operator ImageInputFidelity(string value);
3411 public static implicit operator ImageInputFidelity?(string value);
3412 public static bool operator !=(ImageInputFidelity left, ImageInputFidelity right);
3413 public override readonly string ToString();
3414 }
3415 [Experimental("OPENAI001")]
3416 public class ImageInputTokenUsageDetails : IJsonModel<ImageInputTokenUsageDetails>, IPersistableModel<ImageInputTokenUsageDetails> {
3417 public long ImageTokenCount { get; }
3418 public long TextTokenCount { get; }
3419 }
3420 [Experimental("OPENAI001")]
3421 public class ImageOutputTokenUsageDetails : IJsonModel<ImageOutputTokenUsageDetails>, IPersistableModel<ImageOutputTokenUsageDetails> {
3422 public long ImageTokenCount { get; }
3423 public long TextTokenCount { get; }
3424 }
3425 [Experimental("OPENAI001")]
3426 public class ImageTokenUsage : IJsonModel<ImageTokenUsage>, IPersistableModel<ImageTokenUsage> {
3427 public long InputTokenCount { get; }
3428 public ImageInputTokenUsageDetails InputTokenDetails { get; }
3429 public long OutputTokenCount { get; }
3430 public ImageOutputTokenUsageDetails OutputTokenDetails { get; }
3431 public long TotalTokenCount { get; }
3432 }
3433 public class ImageVariationOptions : IJsonModel<ImageVariationOptions>, IPersistableModel<ImageVariationOptions> {
3434 public string EndUserId { get; set; }
3435 public GeneratedImageFormat? ResponseFormat { get; set; }
3436 public GeneratedImageSize? Size { get; set; }
3437 }
3438 public static class OpenAIImagesModelFactory {
3439 public static GeneratedImage GeneratedImage(BinaryData imageBytes = null, Uri imageUri = null, string revisedPrompt = null);
3440 [Experimental("OPENAI001")]
3441 public static GeneratedImageCollection GeneratedImageCollection(DateTimeOffset createdAt = default, IEnumerable<GeneratedImage> items = null, GeneratedImageBackground? background = null, GeneratedImageFileFormat? outputFileFormat = null, GeneratedImageSize? size = null, GeneratedImageQuality? quality = null, ImageTokenUsage usage = null);
3442 [EditorBrowsable(EditorBrowsableState.Never)]
3443 public static GeneratedImageCollection GeneratedImageCollection(DateTimeOffset createdAt, IEnumerable<GeneratedImage> items);
3444 [Experimental("OPENAI001")]
3445 public static ImageInputTokenUsageDetails ImageInputTokenUsageDetails(long textTokenCount = 0, long imageTokenCount = 0);
3446 [Experimental("OPENAI001")]
3447 public static ImageTokenUsage ImageTokenUsage(long inputTokenCount = 0, long outputTokenCount = 0, long totalTokenCount = 0, ImageInputTokenUsageDetails inputTokenDetails = null, ImageOutputTokenUsageDetails outputTokenDetails = null);
3448 }
3449}
3450namespace OpenAI.Models {
3451 public class ModelDeletionResult : IJsonModel<ModelDeletionResult>, IPersistableModel<ModelDeletionResult> {
3452 public bool Deleted { get; }
3453 public string ModelId { get; }
3454 [Experimental("OPENAI001")]
3455 public static explicit operator ModelDeletionResult(ClientResult result);
3456 }
3457 public class OpenAIModel : IJsonModel<OpenAIModel>, IPersistableModel<OpenAIModel> {
3458 public DateTimeOffset CreatedAt { get; }
3459 public string Id { get; }
3460 public string OwnedBy { get; }
3461 [Experimental("OPENAI001")]
3462 public static explicit operator OpenAIModel(ClientResult result);
3463 }
3464 public class OpenAIModelClient {
3465 protected OpenAIModelClient();
3466 [Experimental("SCME0002")]
3467 public OpenAIModelClient(OpenAIModelClientSettings settings);
3468 public OpenAIModelClient(ApiKeyCredential credential, OpenAIClientOptions options);
3469 public OpenAIModelClient(ApiKeyCredential credential);
3470 [Experimental("OPENAI001")]
3471 public OpenAIModelClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
3472 [Experimental("OPENAI001")]
3473 public OpenAIModelClient(AuthenticationPolicy authenticationPolicy);
3474 protected internal OpenAIModelClient(ClientPipeline pipeline, OpenAIClientOptions options);
3475 public OpenAIModelClient(string apiKey);
3476 [Experimental("OPENAI001")]
3477 public Uri Endpoint { get; }
3478 public ClientPipeline Pipeline { get; }
3479 public virtual ClientResult DeleteModel(string model, RequestOptions options);
3480 public virtual ClientResult<ModelDeletionResult> DeleteModel(string model, CancellationToken cancellationToken = default);
3481 public virtual Task<ClientResult> DeleteModelAsync(string model, RequestOptions options);
3482 public virtual Task<ClientResult<ModelDeletionResult>> DeleteModelAsync(string model, CancellationToken cancellationToken = default);
3483 public virtual ClientResult GetModel(string model, RequestOptions options);
3484 public virtual ClientResult<OpenAIModel> GetModel(string model, CancellationToken cancellationToken = default);
3485 public virtual Task<ClientResult> GetModelAsync(string model, RequestOptions options);
3486 public virtual Task<ClientResult<OpenAIModel>> GetModelAsync(string model, CancellationToken cancellationToken = default);
3487 public virtual ClientResult GetModels(RequestOptions options);
3488 public virtual ClientResult<OpenAIModelCollection> GetModels(CancellationToken cancellationToken = default);
3489 public virtual Task<ClientResult> GetModelsAsync(RequestOptions options);
3490 public virtual Task<ClientResult<OpenAIModelCollection>> GetModelsAsync(CancellationToken cancellationToken = default);
3491 }
3492 [Experimental("SCME0002")]
3493 public sealed class OpenAIModelClientSettings : ClientSettings {
3494 public OpenAIClientOptions Options { get; set; }
3495 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
3496 }
3497 public class OpenAIModelCollection : ObjectModel.ReadOnlyCollection<OpenAIModel>, IJsonModel<OpenAIModelCollection>, IPersistableModel<OpenAIModelCollection> {
3498 [Experimental("OPENAI001")]
3499 public static explicit operator OpenAIModelCollection(ClientResult result);
3500 }
3501 public static class OpenAIModelsModelFactory {
3502 public static ModelDeletionResult ModelDeletionResult(string modelId = null, bool deleted = false);
3503 public static OpenAIModel OpenAIModel(string id = null, DateTimeOffset createdAt = default, string ownedBy = null);
3504 public static OpenAIModelCollection OpenAIModelCollection(IEnumerable<OpenAIModel> items = null);
3505 }
3506}
3507namespace OpenAI.Moderations {
3508 [Experimental("OPENAI001")]
3509 [Flags]
3510 public enum ModerationApplicableInputKinds {
3511 None = 0,
3512 Other = 1,
3513 Text = 2,
3514 Image = 4
3515 }
3516 public class ModerationCategory {
3517 [Experimental("OPENAI001")]
3518 public ModerationApplicableInputKinds ApplicableInputKinds { get; }
3519 public bool Flagged { get; }
3520 public float Score { get; }
3521 }
3522 public class ModerationClient {
3523 protected ModerationClient();
3524 [Experimental("SCME0002")]
3525 public ModerationClient(ModerationClientSettings settings);
3526 protected internal ModerationClient(ClientPipeline pipeline, string model, OpenAIClientOptions options);
3527 public ModerationClient(string model, ApiKeyCredential credential, OpenAIClientOptions options);
3528 public ModerationClient(string model, ApiKeyCredential credential);
3529 [Experimental("OPENAI001")]
3530 public ModerationClient(string model, AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
3531 [Experimental("OPENAI001")]
3532 public ModerationClient(string model, AuthenticationPolicy authenticationPolicy);
3533 public ModerationClient(string model, string apiKey);
3534 [Experimental("OPENAI001")]
3535 public Uri Endpoint { get; }
3536 [Experimental("OPENAI001")]
3537 public string Model { get; }
3538 public ClientPipeline Pipeline { get; }
3539 [Experimental("OPENAI001")]
3540 public virtual ClientResult ClassifyInputs(BinaryContent content, RequestOptions options = null);
3541 [Experimental("OPENAI001")]
3542 public virtual ClientResult<ModerationResult> ClassifyInputs(IEnumerable<ModerationInputPart> inputParts, CancellationToken cancellationToken = default);
3543 [Experimental("OPENAI001")]
3544 public virtual Task<ClientResult> ClassifyInputsAsync(BinaryContent content, RequestOptions options = null);
3545 [Experimental("OPENAI001")]
3546 public virtual Task<ClientResult<ModerationResult>> ClassifyInputsAsync(IEnumerable<ModerationInputPart> inputParts, CancellationToken cancellationToken = default);
3547 public virtual ClientResult ClassifyText(BinaryContent content, RequestOptions options = null);
3548 public virtual ClientResult<ModerationResultCollection> ClassifyText(IEnumerable<string> inputs, CancellationToken cancellationToken = default);
3549 public virtual ClientResult<ModerationResult> ClassifyText(string input, CancellationToken cancellationToken = default);
3550 public virtual Task<ClientResult> ClassifyTextAsync(BinaryContent content, RequestOptions options = null);
3551 public virtual Task<ClientResult<ModerationResultCollection>> ClassifyTextAsync(IEnumerable<string> inputs, CancellationToken cancellationToken = default);
3552 public virtual Task<ClientResult<ModerationResult>> ClassifyTextAsync(string input, CancellationToken cancellationToken = default);
3553 }
3554 [Experimental("SCME0002")]
3555 public sealed class ModerationClientSettings : ClientSettings {
3556 public string Model { get; set; }
3557 public OpenAIClientOptions Options { get; set; }
3558 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
3559 }
3560 [Experimental("OPENAI001")]
3561 public class ModerationInputPart : IJsonModel<ModerationInputPart>, IPersistableModel<ModerationInputPart> {
3562 public Uri ImageUri { get; }
3563 public ModerationInputPartKind Kind { get; }
3564 public string Text { get; }
3565 public static ModerationInputPart CreateImagePart(Uri imageUri);
3566 public static ModerationInputPart CreateTextPart(string text);
3567 }
3568 [Experimental("OPENAI001")]
3569 public enum ModerationInputPartKind {
3570 Text = 0,
3571 Image = 1
3572 }
3573 public class ModerationResult : IJsonModel<ModerationResult>, IPersistableModel<ModerationResult> {
3574 public bool Flagged { get; }
3575 public ModerationCategory Harassment { get; }
3576 public ModerationCategory HarassmentThreatening { get; }
3577 public ModerationCategory Hate { get; }
3578 public ModerationCategory HateThreatening { get; }
3579 public ModerationCategory Illicit { get; }
3580 public ModerationCategory IllicitViolent { get; }
3581 public ModerationCategory SelfHarm { get; }
3582 public ModerationCategory SelfHarmInstructions { get; }
3583 public ModerationCategory SelfHarmIntent { get; }
3584 public ModerationCategory Sexual { get; }
3585 public ModerationCategory SexualMinors { get; }
3586 public ModerationCategory Violence { get; }
3587 public ModerationCategory ViolenceGraphic { get; }
3588 }
3589 public class ModerationResultCollection : ObjectModel.ReadOnlyCollection<ModerationResult>, IJsonModel<ModerationResultCollection>, IPersistableModel<ModerationResultCollection> {
3590 public string Id { get; }
3591 public string Model { get; }
3592 [Experimental("OPENAI001")]
3593 public static explicit operator ModerationResultCollection(ClientResult result);
3594 }
3595 public static class OpenAIModerationsModelFactory {
3596 public static ModerationCategory ModerationCategory(bool flagged = false, float score = 0);
3597 [Experimental("OPENAI001")]
3598 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);
3599 [EditorBrowsable(EditorBrowsableState.Never)]
3600 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);
3601 public static ModerationResultCollection ModerationResultCollection(string id = null, string model = null, IEnumerable<ModerationResult> items = null);
3602 }
3603}
3604namespace OpenAI.Realtime {
3605 [Experimental("OPENAI002")]
3606 public class CreateClientSecretOptions : IJsonModel<CreateClientSecretOptions>, IPersistableModel<CreateClientSecretOptions> {
3607 public RealtimeClientSecretExpirationPolicy ExpirationPolicy { get; set; }
3608 [Serialization.JsonIgnore]
3609 [EditorBrowsable(EditorBrowsableState.Never)]
3610 [Experimental("SCME0001")]
3611 public ref JsonPatch Patch { get; }
3612 public RealtimeSessionOptions SessionOptions { get; set; }
3613 public static implicit operator BinaryContent(CreateClientSecretOptions createClientSecretOptions);
3614 }
3615 [Experimental("OPENAI002")]
3616 public class CreateClientSecretResult : IJsonModel<CreateClientSecretResult>, IPersistableModel<CreateClientSecretResult> {
3617 public DateTimeOffset ExpiresAt { get; }
3618 [Serialization.JsonIgnore]
3619 [EditorBrowsable(EditorBrowsableState.Never)]
3620 [Experimental("SCME0001")]
3621 public ref JsonPatch Patch { get; }
3622 public RealtimeSession Session { get; }
3623 public string Value { get; }
3624 public static explicit operator CreateClientSecretResult(ClientResult result);
3625 }
3626 [Experimental("OPENAI002")]
3627 public class RealtimeAudioFormat : IJsonModel<RealtimeAudioFormat>, IPersistableModel<RealtimeAudioFormat> {
3628 [Serialization.JsonIgnore]
3629 [EditorBrowsable(EditorBrowsableState.Never)]
3630 [Experimental("SCME0001")]
3631 public ref JsonPatch Patch { get; }
3632 }
3633 [Experimental("OPENAI002")]
3634 public class RealtimeAudioTranscriptionOptions : IJsonModel<RealtimeAudioTranscriptionOptions>, IPersistableModel<RealtimeAudioTranscriptionOptions> {
3635 public string Language { get; set; }
3636 public string Model { get; set; }
3637 [Serialization.JsonIgnore]
3638 [EditorBrowsable(EditorBrowsableState.Never)]
3639 [Experimental("SCME0001")]
3640 public ref JsonPatch Patch { get; }
3641 public string Prompt { get; set; }
3642 }
3643 [Experimental("OPENAI002")]
3644 public class RealtimeClient {
3645 protected RealtimeClient();
3646 [Experimental("SCME0002")]
3647 public RealtimeClient(RealtimeClientSettings settings);
3648 public RealtimeClient(ApiKeyCredential credential, RealtimeClientOptions options);
3649 public RealtimeClient(ApiKeyCredential credential);
3650 [Experimental("OPENAI001")]
3651 public RealtimeClient(AuthenticationPolicy authenticationPolicy, RealtimeClientOptions options);
3652 [Experimental("OPENAI001")]
3653 public RealtimeClient(AuthenticationPolicy authenticationPolicy);
3654 protected internal RealtimeClient(ClientPipeline pipeline, RealtimeClientOptions options);
3655 public RealtimeClient(string apiKey);
3656 [Experimental("OPENAI001")]
3657 public Uri Endpoint { get; }
3658 public ClientPipeline Pipeline { get; }
3659 public event EventHandler<BinaryData> OnReceivingCommand {
3660 add;
3661 remove;
3662 }
3663 public event EventHandler<BinaryData> OnSendingCommand {
3664 add;
3665 remove;
3666 }
3667 public virtual ClientResult<CreateClientSecretResult> CreateRealtimeClientSecret(CreateClientSecretOptions options, CancellationToken cancellationToken = default);
3668 public virtual ClientResult CreateRealtimeClientSecret(BinaryContent content, RequestOptions options = null);
3669 public virtual Task<ClientResult<CreateClientSecretResult>> CreateRealtimeClientSecretAsync(CreateClientSecretOptions options, CancellationToken cancellationToken = default);
3670 public virtual Task<ClientResult> CreateRealtimeClientSecretAsync(BinaryContent content, RequestOptions options = null);
3671 public virtual RealtimeSessionClient StartConversationSession(string model, RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default);
3672 public virtual Task<RealtimeSessionClient> StartConversationSessionAsync(string model, RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default);
3673 public virtual RealtimeSessionClient StartSession(string model, string intent, RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default);
3674 public virtual Task<RealtimeSessionClient> StartSessionAsync(string model, string intent, RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default);
3675 public virtual RealtimeSessionClient StartTranscriptionSession(RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default);
3676 public virtual Task<RealtimeSessionClient> StartTranscriptionSessionAsync(RealtimeSessionClientOptions options = null, CancellationToken cancellationToken = default);
3677 }
3678 [Experimental("OPENAI002")]
3679 public class RealtimeClientCommand : IJsonModel<RealtimeClientCommand>, IPersistableModel<RealtimeClientCommand> {
3680 [Serialization.JsonIgnore]
3681 [EditorBrowsable(EditorBrowsableState.Never)]
3682 [Experimental("SCME0001")]
3683 public ref JsonPatch Patch { get; }
3684 }
3685 [Experimental("OPENAI002")]
3686 public class RealtimeClientCommandConversationItemCreate : RealtimeClientCommand, IJsonModel<RealtimeClientCommandConversationItemCreate>, IPersistableModel<RealtimeClientCommandConversationItemCreate> {
3687 public RealtimeClientCommandConversationItemCreate(RealtimeItem item);
3688 public string EventId { get; set; }
3689 public RealtimeItem Item { get; }
3690 public string PreviousItemId { get; set; }
3691 }
3692 [Experimental("OPENAI002")]
3693 public class RealtimeClientCommandConversationItemDelete : RealtimeClientCommand, IJsonModel<RealtimeClientCommandConversationItemDelete>, IPersistableModel<RealtimeClientCommandConversationItemDelete> {
3694 public RealtimeClientCommandConversationItemDelete(string itemId);
3695 public string EventId { get; set; }
3696 public string ItemId { get; }
3697 }
3698 [Experimental("OPENAI002")]
3699 public class RealtimeClientCommandConversationItemRetrieve : RealtimeClientCommand, IJsonModel<RealtimeClientCommandConversationItemRetrieve>, IPersistableModel<RealtimeClientCommandConversationItemRetrieve> {
3700 public RealtimeClientCommandConversationItemRetrieve(string itemId);
3701 public string EventId { get; set; }
3702 public string ItemId { get; }
3703 }
3704 [Experimental("OPENAI002")]
3705 public class RealtimeClientCommandConversationItemTruncate : RealtimeClientCommand, IJsonModel<RealtimeClientCommandConversationItemTruncate>, IPersistableModel<RealtimeClientCommandConversationItemTruncate> {
3706 public RealtimeClientCommandConversationItemTruncate(string itemId, int contentIndex, TimeSpan audioEndTime);
3707 public TimeSpan AudioEndTime { get; }
3708 public int ContentIndex { get; }
3709 public string EventId { get; set; }
3710 public string ItemId { get; }
3711 }
3712 [Experimental("OPENAI002")]
3713 public class RealtimeClientCommandInputAudioBufferAppend : RealtimeClientCommand, IJsonModel<RealtimeClientCommandInputAudioBufferAppend>, IPersistableModel<RealtimeClientCommandInputAudioBufferAppend> {
3714 public RealtimeClientCommandInputAudioBufferAppend(BinaryData audioBytes);
3715 public BinaryData AudioBytes { get; }
3716 public string EventId { get; set; }
3717 }
3718 [Experimental("OPENAI002")]
3719 public class RealtimeClientCommandInputAudioBufferClear : RealtimeClientCommand, IJsonModel<RealtimeClientCommandInputAudioBufferClear>, IPersistableModel<RealtimeClientCommandInputAudioBufferClear> {
3720 public RealtimeClientCommandInputAudioBufferClear();
3721 public string EventId { get; set; }
3722 }
3723 [Experimental("OPENAI002")]
3724 public class RealtimeClientCommandInputAudioBufferCommit : RealtimeClientCommand, IJsonModel<RealtimeClientCommandInputAudioBufferCommit>, IPersistableModel<RealtimeClientCommandInputAudioBufferCommit> {
3725 public RealtimeClientCommandInputAudioBufferCommit();
3726 public string EventId { get; set; }
3727 }
3728 [Experimental("OPENAI002")]
3729 public class RealtimeClientCommandOutputAudioBufferClear : RealtimeClientCommand, IJsonModel<RealtimeClientCommandOutputAudioBufferClear>, IPersistableModel<RealtimeClientCommandOutputAudioBufferClear> {
3730 public RealtimeClientCommandOutputAudioBufferClear();
3731 public string EventId { get; set; }
3732 }
3733 [Experimental("OPENAI002")]
3734 public class RealtimeClientCommandResponseCancel : RealtimeClientCommand, IJsonModel<RealtimeClientCommandResponseCancel>, IPersistableModel<RealtimeClientCommandResponseCancel> {
3735 public RealtimeClientCommandResponseCancel();
3736 public string EventId { get; set; }
3737 public string ResponseId { get; set; }
3738 }
3739 [Experimental("OPENAI002")]
3740 public class RealtimeClientCommandResponseCreate : RealtimeClientCommand, IJsonModel<RealtimeClientCommandResponseCreate>, IPersistableModel<RealtimeClientCommandResponseCreate> {
3741 public RealtimeClientCommandResponseCreate();
3742 public string EventId { get; set; }
3743 public RealtimeResponseOptions ResponseOptions { get; set; }
3744 }
3745 [Experimental("OPENAI002")]
3746 public class RealtimeClientCommandSessionUpdate : RealtimeClientCommand, IJsonModel<RealtimeClientCommandSessionUpdate>, IPersistableModel<RealtimeClientCommandSessionUpdate> {
3747 public RealtimeClientCommandSessionUpdate(RealtimeSessionOptions sessionOptions);
3748 public string EventId { get; set; }
3749 public RealtimeSessionOptions SessionOptions { get; }
3750 }
3751 public class RealtimeClientOptions : ClientPipelineOptions {
3752 public Uri Endpoint { get; set; }
3753 public string OrganizationId { get; set; }
3754 public string ProjectId { get; set; }
3755 public string UserAgentApplicationId { get; set; }
3756 }
3757 [Experimental("OPENAI002")]
3758 public class RealtimeClientSecret : IJsonModel<RealtimeClientSecret>, IPersistableModel<RealtimeClientSecret> {
3759 public DateTimeOffset ExpiresAt { get; }
3760 [Serialization.JsonIgnore]
3761 [EditorBrowsable(EditorBrowsableState.Never)]
3762 [Experimental("SCME0001")]
3763 public ref JsonPatch Patch { get; }
3764 public string Value { get; }
3765 }
3766 [Experimental("OPENAI002")]
3767 public readonly partial struct RealtimeClientSecretExpirationAnchor : IEquatable<RealtimeClientSecretExpirationAnchor> {
3768 public RealtimeClientSecretExpirationAnchor(string value);
3769 public static RealtimeClientSecretExpirationAnchor CreatedAt { get; }
3770 public readonly bool Equals(RealtimeClientSecretExpirationAnchor other);
3771 [EditorBrowsable(EditorBrowsableState.Never)]
3772 public override readonly bool Equals(object obj);
3773 [EditorBrowsable(EditorBrowsableState.Never)]
3774 public override readonly int GetHashCode();
3775 public static bool operator ==(RealtimeClientSecretExpirationAnchor left, RealtimeClientSecretExpirationAnchor right);
3776 public static implicit operator RealtimeClientSecretExpirationAnchor(string value);
3777 public static implicit operator RealtimeClientSecretExpirationAnchor?(string value);
3778 public static bool operator !=(RealtimeClientSecretExpirationAnchor left, RealtimeClientSecretExpirationAnchor right);
3779 public override readonly string ToString();
3780 }
3781 [Experimental("OPENAI002")]
3782 public class RealtimeClientSecretExpirationPolicy : IJsonModel<RealtimeClientSecretExpirationPolicy>, IPersistableModel<RealtimeClientSecretExpirationPolicy> {
3783 public RealtimeClientSecretExpirationAnchor? Anchor { get; set; }
3784 [Serialization.JsonIgnore]
3785 [EditorBrowsable(EditorBrowsableState.Never)]
3786 [Experimental("SCME0001")]
3787 public ref JsonPatch Patch { get; }
3788 public int? Seconds { get; set; }
3789 }
3790 [Experimental("SCME0002")]
3791 public sealed class RealtimeClientSettings : ClientSettings {
3792 public RealtimeClientOptions Options { get; set; }
3793 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
3794 }
3795 [Experimental("OPENAI002")]
3796 public class RealtimeConversation : IJsonModel<RealtimeConversation>, IPersistableModel<RealtimeConversation> {
3797 public string Id { get; }
3798 [Serialization.JsonIgnore]
3799 [EditorBrowsable(EditorBrowsableState.Never)]
3800 [Experimental("SCME0001")]
3801 public ref JsonPatch Patch { get; }
3802 }
3803 [Experimental("OPENAI002")]
3804 public class RealtimeConversationSession : RealtimeSession, IJsonModel<RealtimeConversationSession>, IPersistableModel<RealtimeConversationSession> {
3805 public RealtimeConversationSessionAudioOptions AudioOptions { get; set; }
3806 public RealtimeClientSecret ClientSecret { get; }
3807 public IList<RealtimeIncludedProperty> IncludedProperties { get; }
3808 public string Instructions { get; }
3809 public RealtimeMaxOutputTokenCount MaxOutputTokenCount { get; set; }
3810 public string Model { get; set; }
3811 public IList<RealtimeOutputModality> OutputModalities { get; }
3812 public RealtimeToolChoice ToolChoice { get; set; }
3813 public IList<RealtimeTool> Tools { get; }
3814 public RealtimeTracing Tracing { get; set; }
3815 public RealtimeTruncation Truncation { get; set; }
3816 }
3817 [Experimental("OPENAI002")]
3818 public class RealtimeConversationSessionAudioOptions : IJsonModel<RealtimeConversationSessionAudioOptions>, IPersistableModel<RealtimeConversationSessionAudioOptions> {
3819 public RealtimeConversationSessionInputAudioOptions InputAudioOptions { get; set; }
3820 public RealtimeConversationSessionOutputAudioOptions OutputAudioOptions { get; set; }
3821 [Serialization.JsonIgnore]
3822 [EditorBrowsable(EditorBrowsableState.Never)]
3823 [Experimental("SCME0001")]
3824 public ref JsonPatch Patch { get; }
3825 }
3826 [Experimental("OPENAI002")]
3827 public class RealtimeConversationSessionInputAudioOptions : IJsonModel<RealtimeConversationSessionInputAudioOptions>, IPersistableModel<RealtimeConversationSessionInputAudioOptions> {
3828 public RealtimeAudioFormat AudioFormat { get; set; }
3829 public RealtimeAudioTranscriptionOptions AudioTranscriptionOptions { get; set; }
3830 public RealtimeNoiseReduction NoiseReduction { get; set; }
3831 [Serialization.JsonIgnore]
3832 [EditorBrowsable(EditorBrowsableState.Never)]
3833 [Experimental("SCME0001")]
3834 public ref JsonPatch Patch { get; }
3835 public RealtimeTurnDetection TurnDetection { get; set; }
3836 public void DisableTurnDetection();
3837 }
3838 [Experimental("OPENAI002")]
3839 public class RealtimeConversationSessionOptions : RealtimeSessionOptions, IJsonModel<RealtimeConversationSessionOptions>, IPersistableModel<RealtimeConversationSessionOptions> {
3840 public RealtimeConversationSessionOptions();
3841 public RealtimeConversationSessionAudioOptions AudioOptions { get; set; }
3842 public IList<RealtimeIncludedProperty> IncludedProperties { get; }
3843 public string Instructions { get; set; }
3844 public RealtimeMaxOutputTokenCount MaxOutputTokenCount { get; set; }
3845 public string Model { get; set; }
3846 public IList<RealtimeOutputModality> OutputModalities { get; }
3847 public RealtimeToolChoice ToolChoice { get; set; }
3848 public IList<RealtimeTool> Tools { get; }
3849 public RealtimeTracing Tracing { get; set; }
3850 public RealtimeTruncation Truncation { get; set; }
3851 }
3852 [Experimental("OPENAI002")]
3853 public class RealtimeConversationSessionOutputAudioOptions : IJsonModel<RealtimeConversationSessionOutputAudioOptions>, IPersistableModel<RealtimeConversationSessionOutputAudioOptions> {
3854 public RealtimeAudioFormat AudioFormat { get; set; }
3855 [Serialization.JsonIgnore]
3856 [EditorBrowsable(EditorBrowsableState.Never)]
3857 [Experimental("SCME0001")]
3858 public ref JsonPatch Patch { get; }
3859 public float? Speed { get; set; }
3860 public RealtimeVoice? Voice { get; set; }
3861 }
3862 [Experimental("OPENAI002")]
3863 public class RealtimeCustomFunctionToolChoice : RealtimeCustomToolChoice, IJsonModel<RealtimeCustomFunctionToolChoice>, IPersistableModel<RealtimeCustomFunctionToolChoice> {
3864 public RealtimeCustomFunctionToolChoice(string functionName);
3865 public string FunctionName { get; set; }
3866 }
3867 [Experimental("OPENAI002")]
3868 public class RealtimeCustomMcpToolCallApprovalPolicy : IJsonModel<RealtimeCustomMcpToolCallApprovalPolicy>, IPersistableModel<RealtimeCustomMcpToolCallApprovalPolicy> {
3869 [Serialization.JsonIgnore]
3870 [EditorBrowsable(EditorBrowsableState.Never)]
3871 [Experimental("SCME0001")]
3872 public ref JsonPatch Patch { get; }
3873 public RealtimeMcpToolFilter ToolsAlwaysRequiringApproval { get; set; }
3874 public RealtimeMcpToolFilter ToolsNeverRequiringApproval { get; set; }
3875 }
3876 [Experimental("OPENAI002")]
3877 public class RealtimeCustomMcpToolChoice : RealtimeCustomToolChoice, IJsonModel<RealtimeCustomMcpToolChoice>, IPersistableModel<RealtimeCustomMcpToolChoice> {
3878 public RealtimeCustomMcpToolChoice(string serverLabel);
3879 public string McpToolName { get; set; }
3880 public string ServerLabel { get; set; }
3881 }
3882 [Experimental("OPENAI002")]
3883 public class RealtimeCustomRetentionRatioTruncation : RealtimeCustomTruncation, IJsonModel<RealtimeCustomRetentionRatioTruncation>, IPersistableModel<RealtimeCustomRetentionRatioTruncation> {
3884 public RealtimeCustomRetentionRatioTruncation(float retentionRatio);
3885 public float RetentionRatio { get; set; }
3886 public RealtimeRetentionRatioTokenLimitDetails TokenLimitDetails { get; set; }
3887 }
3888 [Experimental("OPENAI002")]
3889 public class RealtimeCustomToolChoice : IJsonModel<RealtimeCustomToolChoice>, IPersistableModel<RealtimeCustomToolChoice> {
3890 [Serialization.JsonIgnore]
3891 [EditorBrowsable(EditorBrowsableState.Never)]
3892 [Experimental("SCME0001")]
3893 public ref JsonPatch Patch { get; }
3894 }
3895 [Experimental("OPENAI002")]
3896 public class RealtimeCustomTracing : IJsonModel<RealtimeCustomTracing>, IPersistableModel<RealtimeCustomTracing> {
3897 public string GroupId { get; set; }
3898 public IDictionary<string, BinaryData> Metadata { get; }
3899 [Serialization.JsonIgnore]
3900 [EditorBrowsable(EditorBrowsableState.Never)]
3901 [Experimental("SCME0001")]
3902 public ref JsonPatch Patch { get; }
3903 public string WorkflowName { get; set; }
3904 }
3905 [Experimental("OPENAI002")]
3906 public class RealtimeCustomTruncation : IJsonModel<RealtimeCustomTruncation>, IPersistableModel<RealtimeCustomTruncation> {
3907 [Serialization.JsonIgnore]
3908 [EditorBrowsable(EditorBrowsableState.Never)]
3909 [Experimental("SCME0001")]
3910 public ref JsonPatch Patch { get; }
3911 }
3912 [Experimental("OPENAI002")]
3913 public readonly partial struct RealtimeDefaultMaxOutputTokenCount : IEquatable<RealtimeDefaultMaxOutputTokenCount> {
3914 public RealtimeDefaultMaxOutputTokenCount(string value);
3915 public static RealtimeDefaultMaxOutputTokenCount Infinity { get; }
3916 public readonly bool Equals(RealtimeDefaultMaxOutputTokenCount other);
3917 [EditorBrowsable(EditorBrowsableState.Never)]
3918 public override readonly bool Equals(object obj);
3919 [EditorBrowsable(EditorBrowsableState.Never)]
3920 public override readonly int GetHashCode();
3921 public static bool operator ==(RealtimeDefaultMaxOutputTokenCount left, RealtimeDefaultMaxOutputTokenCount right);
3922 public static implicit operator RealtimeDefaultMaxOutputTokenCount(string value);
3923 public static implicit operator RealtimeDefaultMaxOutputTokenCount?(string value);
3924 public static bool operator !=(RealtimeDefaultMaxOutputTokenCount left, RealtimeDefaultMaxOutputTokenCount right);
3925 public override readonly string ToString();
3926 }
3927 [Experimental("OPENAI002")]
3928 public readonly partial struct RealtimeDefaultMcpToolCallApprovalPolicy : IEquatable<RealtimeDefaultMcpToolCallApprovalPolicy> {
3929 public RealtimeDefaultMcpToolCallApprovalPolicy(string value);
3930 public static RealtimeDefaultMcpToolCallApprovalPolicy AlwaysRequireApproval { get; }
3931 public static RealtimeDefaultMcpToolCallApprovalPolicy NeverRequireApproval { get; }
3932 public readonly bool Equals(RealtimeDefaultMcpToolCallApprovalPolicy other);
3933 [EditorBrowsable(EditorBrowsableState.Never)]
3934 public override readonly bool Equals(object obj);
3935 [EditorBrowsable(EditorBrowsableState.Never)]
3936 public override readonly int GetHashCode();
3937 public static bool operator ==(RealtimeDefaultMcpToolCallApprovalPolicy left, RealtimeDefaultMcpToolCallApprovalPolicy right);
3938 public static implicit operator RealtimeDefaultMcpToolCallApprovalPolicy(string value);
3939 public static implicit operator RealtimeDefaultMcpToolCallApprovalPolicy?(string value);
3940 public static bool operator !=(RealtimeDefaultMcpToolCallApprovalPolicy left, RealtimeDefaultMcpToolCallApprovalPolicy right);
3941 public override readonly string ToString();
3942 }
3943 [Experimental("OPENAI002")]
3944 public readonly partial struct RealtimeDefaultToolChoice : IEquatable<RealtimeDefaultToolChoice> {
3945 public RealtimeDefaultToolChoice(string value);
3946 public static RealtimeDefaultToolChoice Auto { get; }
3947 public static RealtimeDefaultToolChoice None { get; }
3948 public static RealtimeDefaultToolChoice Required { get; }
3949 public readonly bool Equals(RealtimeDefaultToolChoice other);
3950 [EditorBrowsable(EditorBrowsableState.Never)]
3951 public override readonly bool Equals(object obj);
3952 [EditorBrowsable(EditorBrowsableState.Never)]
3953 public override readonly int GetHashCode();
3954 public static bool operator ==(RealtimeDefaultToolChoice left, RealtimeDefaultToolChoice right);
3955 public static implicit operator RealtimeDefaultToolChoice(string value);
3956 public static implicit operator RealtimeDefaultToolChoice?(string value);
3957 public static bool operator !=(RealtimeDefaultToolChoice left, RealtimeDefaultToolChoice right);
3958 public override readonly string ToString();
3959 }
3960 [Experimental("OPENAI002")]
3961 public readonly partial struct RealtimeDefaultTracing : IEquatable<RealtimeDefaultTracing> {
3962 public RealtimeDefaultTracing(string value);
3963 public static RealtimeDefaultTracing Auto { get; }
3964 public readonly bool Equals(RealtimeDefaultTracing other);
3965 [EditorBrowsable(EditorBrowsableState.Never)]
3966 public override readonly bool Equals(object obj);
3967 [EditorBrowsable(EditorBrowsableState.Never)]
3968 public override readonly int GetHashCode();
3969 public static bool operator ==(RealtimeDefaultTracing left, RealtimeDefaultTracing right);
3970 public static implicit operator RealtimeDefaultTracing(string value);
3971 public static implicit operator RealtimeDefaultTracing?(string value);
3972 public static bool operator !=(RealtimeDefaultTracing left, RealtimeDefaultTracing right);
3973 public override readonly string ToString();
3974 }
3975 [Experimental("OPENAI002")]
3976 public readonly partial struct RealtimeDefaultTruncation : IEquatable<RealtimeDefaultTruncation> {
3977 public RealtimeDefaultTruncation(string value);
3978 public static RealtimeDefaultTruncation Auto { get; }
3979 public static RealtimeDefaultTruncation Disabled { get; }
3980 public readonly bool Equals(RealtimeDefaultTruncation other);
3981 [EditorBrowsable(EditorBrowsableState.Never)]
3982 public override readonly bool Equals(object obj);
3983 [EditorBrowsable(EditorBrowsableState.Never)]
3984 public override readonly int GetHashCode();
3985 public static bool operator ==(RealtimeDefaultTruncation left, RealtimeDefaultTruncation right);
3986 public static implicit operator RealtimeDefaultTruncation(string value);
3987 public static implicit operator RealtimeDefaultTruncation?(string value);
3988 public static bool operator !=(RealtimeDefaultTruncation left, RealtimeDefaultTruncation right);
3989 public override readonly string ToString();
3990 }
3991 [Experimental("OPENAI002")]
3992 public class RealtimeError : IJsonModel<RealtimeError>, IPersistableModel<RealtimeError> {
3993 public string Code { get; set; }
3994 public string EventId { get; set; }
3995 public string Kind { get; set; }
3996 public string Message { get; set; }
3997 public string ParameterName { get; }
3998 [Serialization.JsonIgnore]
3999 [EditorBrowsable(EditorBrowsableState.Never)]
4000 [Experimental("SCME0001")]
4001 public ref JsonPatch Patch { get; }
4002 }
4003 [Experimental("OPENAI002")]
4004 public class RealtimeFunctionCallItem : RealtimeItem, IJsonModel<RealtimeFunctionCallItem>, IPersistableModel<RealtimeFunctionCallItem> {
4005 public RealtimeFunctionCallItem(string callId, string functionName, BinaryData functionArguments);
4006 public string CallId { get; set; }
4007 public BinaryData FunctionArguments { get; set; }
4008 public string FunctionName { get; set; }
4009 public string Id { get; set; }
4010 public RealtimeFunctionCallStatus? Status { get; set; }
4011 }
4012 [Experimental("OPENAI002")]
4013 public class RealtimeFunctionCallOutputItem : RealtimeItem, IJsonModel<RealtimeFunctionCallOutputItem>, IPersistableModel<RealtimeFunctionCallOutputItem> {
4014 public RealtimeFunctionCallOutputItem(string callId, string functionOutput);
4015 public string CallId { get; set; }
4016 public string FunctionOutput { get; set; }
4017 public string Id { get; set; }
4018 public RealtimeFunctionCallOutputStatus? Status { get; set; }
4019 }
4020 [Experimental("OPENAI002")]
4021 public readonly partial struct RealtimeFunctionCallOutputStatus : IEquatable<RealtimeFunctionCallOutputStatus> {
4022 public RealtimeFunctionCallOutputStatus(string value);
4023 public static RealtimeFunctionCallOutputStatus Completed { get; }
4024 public static RealtimeFunctionCallOutputStatus Incomplete { get; }
4025 public static RealtimeFunctionCallOutputStatus InProgress { get; }
4026 public readonly bool Equals(RealtimeFunctionCallOutputStatus other);
4027 [EditorBrowsable(EditorBrowsableState.Never)]
4028 public override readonly bool Equals(object obj);
4029 [EditorBrowsable(EditorBrowsableState.Never)]
4030 public override readonly int GetHashCode();
4031 public static bool operator ==(RealtimeFunctionCallOutputStatus left, RealtimeFunctionCallOutputStatus right);
4032 public static implicit operator RealtimeFunctionCallOutputStatus(string value);
4033 public static implicit operator RealtimeFunctionCallOutputStatus?(string value);
4034 public static bool operator !=(RealtimeFunctionCallOutputStatus left, RealtimeFunctionCallOutputStatus right);
4035 public override readonly string ToString();
4036 }
4037 [Experimental("OPENAI002")]
4038 public readonly partial struct RealtimeFunctionCallStatus : IEquatable<RealtimeFunctionCallStatus> {
4039 public RealtimeFunctionCallStatus(string value);
4040 public static RealtimeFunctionCallStatus Completed { get; }
4041 public static RealtimeFunctionCallStatus Incomplete { get; }
4042 public static RealtimeFunctionCallStatus InProgress { get; }
4043 public readonly bool Equals(RealtimeFunctionCallStatus other);
4044 [EditorBrowsable(EditorBrowsableState.Never)]
4045 public override readonly bool Equals(object obj);
4046 [EditorBrowsable(EditorBrowsableState.Never)]
4047 public override readonly int GetHashCode();
4048 public static bool operator ==(RealtimeFunctionCallStatus left, RealtimeFunctionCallStatus right);
4049 public static implicit operator RealtimeFunctionCallStatus(string value);
4050 public static implicit operator RealtimeFunctionCallStatus?(string value);
4051 public static bool operator !=(RealtimeFunctionCallStatus left, RealtimeFunctionCallStatus right);
4052 public override readonly string ToString();
4053 }
4054 [Experimental("OPENAI002")]
4055 public class RealtimeFunctionTool : RealtimeTool, IJsonModel<RealtimeFunctionTool>, IPersistableModel<RealtimeFunctionTool> {
4056 public RealtimeFunctionTool(string functionName);
4057 public string FunctionDescription { get; set; }
4058 public string FunctionName { get; }
4059 public BinaryData FunctionParameters { get; set; }
4060 }
4061 [Experimental("OPENAI002")]
4062 public readonly partial struct RealtimeImageDetailLevel : IEquatable<RealtimeImageDetailLevel> {
4063 public RealtimeImageDetailLevel(string value);
4064 public static RealtimeImageDetailLevel Auto { get; }
4065 public static RealtimeImageDetailLevel High { get; }
4066 public static RealtimeImageDetailLevel Low { get; }
4067 public readonly bool Equals(RealtimeImageDetailLevel other);
4068 [EditorBrowsable(EditorBrowsableState.Never)]
4069 public override readonly bool Equals(object obj);
4070 [EditorBrowsable(EditorBrowsableState.Never)]
4071 public override readonly int GetHashCode();
4072 public static bool operator ==(RealtimeImageDetailLevel left, RealtimeImageDetailLevel right);
4073 public static implicit operator RealtimeImageDetailLevel(string value);
4074 public static implicit operator RealtimeImageDetailLevel?(string value);
4075 public static bool operator !=(RealtimeImageDetailLevel left, RealtimeImageDetailLevel right);
4076 public override readonly string ToString();
4077 }
4078 [Experimental("OPENAI002")]
4079 public readonly partial struct RealtimeIncludedProperty : IEquatable<RealtimeIncludedProperty> {
4080 public RealtimeIncludedProperty(string value);
4081 public static RealtimeIncludedProperty ItemInputAudioTranscriptionLogProbabilities { get; }
4082 public readonly bool Equals(RealtimeIncludedProperty other);
4083 [EditorBrowsable(EditorBrowsableState.Never)]
4084 public override readonly bool Equals(object obj);
4085 [EditorBrowsable(EditorBrowsableState.Never)]
4086 public override readonly int GetHashCode();
4087 public static bool operator ==(RealtimeIncludedProperty left, RealtimeIncludedProperty right);
4088 public static implicit operator RealtimeIncludedProperty(string value);
4089 public static implicit operator RealtimeIncludedProperty?(string value);
4090 public static bool operator !=(RealtimeIncludedProperty left, RealtimeIncludedProperty right);
4091 public override readonly string ToString();
4092 }
4093 [Experimental("OPENAI002")]
4094 public class RealtimeInputAudioMessageContentPart : RealtimeMessageContentPart, IJsonModel<RealtimeInputAudioMessageContentPart>, IPersistableModel<RealtimeInputAudioMessageContentPart> {
4095 public RealtimeInputAudioMessageContentPart(BinaryData audioBytes);
4096 public BinaryData AudioBytes { get; set; }
4097 public string Transcript { get; set; }
4098 }
4099 [Experimental("OPENAI002")]
4100 public class RealtimeInputImageMessageContentPart : RealtimeMessageContentPart, IJsonModel<RealtimeInputImageMessageContentPart>, IPersistableModel<RealtimeInputImageMessageContentPart> {
4101 public RealtimeInputImageMessageContentPart(Uri imageUri);
4102 public RealtimeImageDetailLevel? Detail { get; set; }
4103 public Uri ImageUri { get; set; }
4104 }
4105 [Experimental("OPENAI002")]
4106 public class RealtimeInputTextMessageContentPart : RealtimeMessageContentPart, IJsonModel<RealtimeInputTextMessageContentPart>, IPersistableModel<RealtimeInputTextMessageContentPart> {
4107 public RealtimeInputTextMessageContentPart(string text);
4108 public string Text { get; set; }
4109 }
4110 [Experimental("OPENAI002")]
4111 public class RealtimeItem : IJsonModel<RealtimeItem>, IPersistableModel<RealtimeItem> {
4112 [Serialization.JsonIgnore]
4113 [EditorBrowsable(EditorBrowsableState.Never)]
4114 [Experimental("SCME0001")]
4115 public ref JsonPatch Patch { get; }
4116 public static RealtimeMessageItem CreateAssistantMessageItem(IEnumerable<RealtimeMessageContentPart> contentParts);
4117 public static RealtimeMessageItem CreateAssistantMessageItem(string outputTextContent);
4118 public static RealtimeFunctionCallItem CreateFunctionCallItem(string callId, string functionName, BinaryData functionArguments);
4119 public static RealtimeFunctionCallOutputItem CreateFunctionCallOutputItem(string callId, string functionOutput);
4120 public static RealtimeMcpToolCallApprovalRequestItem CreateMcpApprovalRequestItem(string id, string serverLabel, string name, BinaryData arguments);
4121 public static RealtimeMcpToolCallApprovalResponseItem CreateMcpApprovalResponseItem(string approvalRequestId, bool approved);
4122 public static RealtimeMcpToolCallItem CreateMcpToolCallItem(string serverLabel, string name, BinaryData arguments);
4123 public static RealtimeMcpToolDefinitionListItem CreateMcpToolDefinitionListItem(string serverLabel, IEnumerable<RealtimeMcpToolDefinition> toolDefinitions);
4124 public static RealtimeMessageItem CreateSystemMessageItem(IEnumerable<RealtimeMessageContentPart> contentParts);
4125 public static RealtimeMessageItem CreateSystemMessageItem(string inputTextContent);
4126 public static RealtimeMessageItem CreateUserMessageItem(IEnumerable<RealtimeMessageContentPart> contentParts);
4127 public static RealtimeMessageItem CreateUserMessageItem(string inputTextContent);
4128 }
4129 [Experimental("OPENAI002")]
4130 public class RealtimeLogProbabilityDetails : IJsonModel<RealtimeLogProbabilityDetails>, IPersistableModel<RealtimeLogProbabilityDetails> {
4131 public float LogProbability { get; }
4132 [Serialization.JsonIgnore]
4133 [EditorBrowsable(EditorBrowsableState.Never)]
4134 [Experimental("SCME0001")]
4135 public ref JsonPatch Patch { get; }
4136 public string Token { get; }
4137 public ReadOnlyMemory<byte> Utf8Bytes { get; }
4138 }
4139 [Experimental("OPENAI002")]
4140 public class RealtimeMaxOutputTokenCount : IJsonModel<RealtimeMaxOutputTokenCount>, IPersistableModel<RealtimeMaxOutputTokenCount> {
4141 public RealtimeMaxOutputTokenCount(RealtimeDefaultMaxOutputTokenCount defaultMaxOutputTokenCount);
4142 public RealtimeMaxOutputTokenCount(int customMaxOutputTokenCount);
4143 public int? CustomMaxOutputTokenCount { get; }
4144 public RealtimeDefaultMaxOutputTokenCount? DefaultMaxOutputTokenCount { get; }
4145 [Serialization.JsonIgnore]
4146 [EditorBrowsable(EditorBrowsableState.Never)]
4147 [Experimental("SCME0001")]
4148 public ref JsonPatch Patch { get; }
4149 public static implicit operator RealtimeMaxOutputTokenCount(RealtimeDefaultMaxOutputTokenCount defaultMaxOutputTokenCount);
4150 public static implicit operator RealtimeMaxOutputTokenCount(int customMaxOutputTokenCount);
4151 }
4152 [Experimental("OPENAI002")]
4153 public class RealtimeMcpTool : RealtimeTool, IJsonModel<RealtimeMcpTool>, IPersistableModel<RealtimeMcpTool> {
4154 public RealtimeMcpTool(string serverLabel, RealtimeMcpToolConnectorId connectorId);
4155 public RealtimeMcpTool(string serverLabel, Uri serverUri);
4156 public RealtimeMcpToolFilter AllowedTools { get; set; }
4157 public string AuthorizationToken { get; set; }
4158 public RealtimeMcpToolConnectorId? ConnectorId { get; set; }
4159 public IDictionary<string, string> Headers { get; set; }
4160 public string ServerDescription { get; set; }
4161 public string ServerLabel { get; set; }
4162 public Uri ServerUri { get; set; }
4163 public RealtimeMcpToolCallApprovalPolicy ToolCallApprovalPolicy { get; set; }
4164 }
4165 [Experimental("OPENAI002")]
4166 public class RealtimeMcpToolCallApprovalPolicy : IJsonModel<RealtimeMcpToolCallApprovalPolicy>, IPersistableModel<RealtimeMcpToolCallApprovalPolicy> {
4167 public RealtimeMcpToolCallApprovalPolicy(RealtimeCustomMcpToolCallApprovalPolicy customPolicy);
4168 public RealtimeMcpToolCallApprovalPolicy(RealtimeDefaultMcpToolCallApprovalPolicy defaultPolicy);
4169 public RealtimeCustomMcpToolCallApprovalPolicy CustomPolicy { get; }
4170 public RealtimeDefaultMcpToolCallApprovalPolicy? DefaultPolicy { get; }
4171 [Serialization.JsonIgnore]
4172 [EditorBrowsable(EditorBrowsableState.Never)]
4173 [Experimental("SCME0001")]
4174 public ref JsonPatch Patch { get; }
4175 public static implicit operator RealtimeMcpToolCallApprovalPolicy(RealtimeCustomMcpToolCallApprovalPolicy customPolicy);
4176 public static implicit operator RealtimeMcpToolCallApprovalPolicy(RealtimeDefaultMcpToolCallApprovalPolicy defaultPolicy);
4177 }
4178 [Experimental("OPENAI002")]
4179 public class RealtimeMcpToolCallApprovalRequestItem : RealtimeItem, IJsonModel<RealtimeMcpToolCallApprovalRequestItem>, IPersistableModel<RealtimeMcpToolCallApprovalRequestItem> {
4180 public RealtimeMcpToolCallApprovalRequestItem(string id, string serverLabel, string toolName, BinaryData toolArguments);
4181 public string Id { get; set; }
4182 public string ServerLabel { get; set; }
4183 public BinaryData ToolArguments { get; set; }
4184 public string ToolName { get; set; }
4185 }
4186 [Experimental("OPENAI002")]
4187 public class RealtimeMcpToolCallApprovalResponseItem : RealtimeItem, IJsonModel<RealtimeMcpToolCallApprovalResponseItem>, IPersistableModel<RealtimeMcpToolCallApprovalResponseItem> {
4188 public RealtimeMcpToolCallApprovalResponseItem(string approvalRequestId, bool approved);
4189 public string ApprovalRequestId { get; set; }
4190 public bool Approved { get; set; }
4191 public string Id { get; set; }
4192 public string Reason { get; set; }
4193 }
4194 [Experimental("OPENAI002")]
4195 public class RealtimeMcpToolCallItem : RealtimeItem, IJsonModel<RealtimeMcpToolCallItem>, IPersistableModel<RealtimeMcpToolCallItem> {
4196 public RealtimeMcpToolCallItem(string serverLabel, string toolName, BinaryData toolArguments);
4197 public string ApprovalRequestId { get; set; }
4198 public RealtimeError Error { get; set; }
4199 public string Id { get; set; }
4200 public string ServerLabel { get; set; }
4201 public BinaryData ToolArguments { get; set; }
4202 public string ToolName { get; set; }
4203 public string ToolOutput { get; set; }
4204 }
4205 [Experimental("OPENAI002")]
4206 public readonly partial struct RealtimeMcpToolConnectorId : IEquatable<RealtimeMcpToolConnectorId> {
4207 public RealtimeMcpToolConnectorId(string value);
4208 public static RealtimeMcpToolConnectorId Dropbox { get; }
4209 public static RealtimeMcpToolConnectorId Gmail { get; }
4210 public static RealtimeMcpToolConnectorId GoogleCalendar { get; }
4211 public static RealtimeMcpToolConnectorId GoogleDrive { get; }
4212 public static RealtimeMcpToolConnectorId MicrosoftTeams { get; }
4213 public static RealtimeMcpToolConnectorId OutlookCalendar { get; }
4214 public static RealtimeMcpToolConnectorId OutlookEmail { get; }
4215 public static RealtimeMcpToolConnectorId SharePoint { get; }
4216 public readonly bool Equals(RealtimeMcpToolConnectorId other);
4217 [EditorBrowsable(EditorBrowsableState.Never)]
4218 public override readonly bool Equals(object obj);
4219 [EditorBrowsable(EditorBrowsableState.Never)]
4220 public override readonly int GetHashCode();
4221 public static bool operator ==(RealtimeMcpToolConnectorId left, RealtimeMcpToolConnectorId right);
4222 public static implicit operator RealtimeMcpToolConnectorId(string value);
4223 public static implicit operator RealtimeMcpToolConnectorId?(string value);
4224 public static bool operator !=(RealtimeMcpToolConnectorId left, RealtimeMcpToolConnectorId right);
4225 public override readonly string ToString();
4226 }
4227 [Experimental("OPENAI002")]
4228 public class RealtimeMcpToolDefinition : IJsonModel<RealtimeMcpToolDefinition>, IPersistableModel<RealtimeMcpToolDefinition> {
4229 public RealtimeMcpToolDefinition(string name, BinaryData inputSchema);
4230 public BinaryData Annotations { get; set; }
4231 public string Description { get; set; }
4232 public BinaryData InputSchema { get; set; }
4233 public string Name { get; set; }
4234 [Serialization.JsonIgnore]
4235 [EditorBrowsable(EditorBrowsableState.Never)]
4236 [Experimental("SCME0001")]
4237 public ref JsonPatch Patch { get; }
4238 }
4239 [Experimental("OPENAI002")]
4240 public class RealtimeMcpToolDefinitionListItem : RealtimeItem, IJsonModel<RealtimeMcpToolDefinitionListItem>, IPersistableModel<RealtimeMcpToolDefinitionListItem> {
4241 public RealtimeMcpToolDefinitionListItem(string serverLabel, IEnumerable<RealtimeMcpToolDefinition> toolDefinitions);
4242 public string Id { get; set; }
4243 public string ServerLabel { get; set; }
4244 public IList<RealtimeMcpToolDefinition> ToolDefinitions { get; }
4245 }
4246 [Experimental("OPENAI002")]
4247 public class RealtimeMcpToolFilter : IJsonModel<RealtimeMcpToolFilter>, IPersistableModel<RealtimeMcpToolFilter> {
4248 public bool? IsReadOnly { get; set; }
4249 [Serialization.JsonIgnore]
4250 [EditorBrowsable(EditorBrowsableState.Never)]
4251 [Experimental("SCME0001")]
4252 public ref JsonPatch Patch { get; }
4253 public IList<string> ToolNames { get; }
4254 }
4255 [Experimental("OPENAI002")]
4256 public class RealtimeMessageContentPart : IJsonModel<RealtimeMessageContentPart>, IPersistableModel<RealtimeMessageContentPart> {
4257 [Serialization.JsonIgnore]
4258 [EditorBrowsable(EditorBrowsableState.Never)]
4259 [Experimental("SCME0001")]
4260 public ref JsonPatch Patch { get; }
4261 }
4262 [Experimental("OPENAI002")]
4263 public class RealtimeMessageItem : RealtimeItem, IJsonModel<RealtimeMessageItem>, IPersistableModel<RealtimeMessageItem> {
4264 public RealtimeMessageItem(RealtimeMessageRole role, IEnumerable<RealtimeMessageContentPart> content);
4265 public IList<RealtimeMessageContentPart> Content { get; }
4266 public string Id { get; set; }
4267 public RealtimeMessageRole Role { get; set; }
4268 public RealtimeMessageStatus? Status { get; set; }
4269 }
4270 [Experimental("OPENAI002")]
4271 public readonly partial struct RealtimeMessageRole : IEquatable<RealtimeMessageRole> {
4272 public RealtimeMessageRole(string value);
4273 public static RealtimeMessageRole Assistant { get; }
4274 public static RealtimeMessageRole System { get; }
4275 public static RealtimeMessageRole User { get; }
4276 public readonly bool Equals(RealtimeMessageRole other);
4277 [EditorBrowsable(global::EditorBrowsableState.Never)]
4278 public override readonly bool Equals(object obj);
4279 [EditorBrowsable(global::EditorBrowsableState.Never)]
4280 public override readonly int GetHashCode();
4281 public static bool operator ==(RealtimeMessageRole left, RealtimeMessageRole right);
4282 public static implicit operator RealtimeMessageRole(string value);
4283 public static implicit operator RealtimeMessageRole?(string value);
4284 public static bool operator !=(RealtimeMessageRole left, RealtimeMessageRole right);
4285 public override readonly string ToString();
4286 }
4287 [Experimental("OPENAI002")]
4288 public readonly partial struct RealtimeMessageStatus : IEquatable<RealtimeMessageStatus> {
4289 public RealtimeMessageStatus(string value);
4290 public static RealtimeMessageStatus Completed { get; }
4291 public static RealtimeMessageStatus Incomplete { get; }
4292 public static RealtimeMessageStatus InProgress { get; }
4293 public readonly bool Equals(RealtimeMessageStatus other);
4294 [EditorBrowsable(EditorBrowsableState.Never)]
4295 public override readonly bool Equals(object obj);
4296 [EditorBrowsable(EditorBrowsableState.Never)]
4297 public override readonly int GetHashCode();
4298 public static bool operator ==(RealtimeMessageStatus left, RealtimeMessageStatus right);
4299 public static implicit operator RealtimeMessageStatus(string value);
4300 public static implicit operator RealtimeMessageStatus?(string value);
4301 public static bool operator !=(RealtimeMessageStatus left, RealtimeMessageStatus right);
4302 public override readonly string ToString();
4303 }
4304 [Experimental("OPENAI002")]
4305 public class RealtimeNoiseReduction : IJsonModel<RealtimeNoiseReduction>, IPersistableModel<RealtimeNoiseReduction> {
4306 public RealtimeNoiseReduction(RealtimeNoiseReductionKind kind);
4307 public RealtimeNoiseReductionKind Kind { get; set; }
4308 [Serialization.JsonIgnore]
4309 [EditorBrowsable(EditorBrowsableState.Never)]
4310 [Experimental("SCME0001")]
4311 public ref JsonPatch Patch { get; }
4312 }
4313 [Experimental("OPENAI002")]
4314 public readonly partial struct RealtimeNoiseReductionKind : IEquatable<RealtimeNoiseReductionKind> {
4315 public RealtimeNoiseReductionKind(string value);
4316 public static RealtimeNoiseReductionKind FarField { get; }
4317 public static RealtimeNoiseReductionKind NearField { get; }
4318 public readonly bool Equals(RealtimeNoiseReductionKind other);
4319 [EditorBrowsable(EditorBrowsableState.Never)]
4320 public override readonly bool Equals(object obj);
4321 [EditorBrowsable(EditorBrowsableState.Never)]
4322 public override readonly int GetHashCode();
4323 public static bool operator ==(RealtimeNoiseReductionKind left, RealtimeNoiseReductionKind right);
4324 public static implicit operator RealtimeNoiseReductionKind(string value);
4325 public static implicit operator RealtimeNoiseReductionKind?(string value);
4326 public static bool operator !=(RealtimeNoiseReductionKind left, RealtimeNoiseReductionKind right);
4327 public override readonly string ToString();
4328 }
4329 [Experimental("OPENAI002")]
4330 public class RealtimeOutputAudioMessageContentPart : RealtimeMessageContentPart, IJsonModel<RealtimeOutputAudioMessageContentPart>, IPersistableModel<RealtimeOutputAudioMessageContentPart> {
4331 public RealtimeOutputAudioMessageContentPart(BinaryData audioBytes, string transcript);
4332 public BinaryData AudioBytes { get; set; }
4333 public string Transcript { get; set; }
4334 }
4335 [Experimental("OPENAI002")]
4336 public readonly partial struct RealtimeOutputModality : IEquatable<RealtimeOutputModality> {
4337 public RealtimeOutputModality(string value);
4338 public static RealtimeOutputModality Audio { get; }
4339 public static RealtimeOutputModality Text { get; }
4340 public readonly bool Equals(RealtimeOutputModality other);
4341 [EditorBrowsable(EditorBrowsableState.Never)]
4342 public override readonly bool Equals(object obj);
4343 [EditorBrowsable(EditorBrowsableState.Never)]
4344 public override readonly int GetHashCode();
4345 public static bool operator ==(RealtimeOutputModality left, RealtimeOutputModality right);
4346 public static implicit operator RealtimeOutputModality(string value);
4347 public static implicit operator RealtimeOutputModality?(string value);
4348 public static bool operator !=(RealtimeOutputModality left, RealtimeOutputModality right);
4349 public override readonly string ToString();
4350 }
4351 [Experimental("OPENAI002")]
4352 public class RealtimeOutputTextMessageContentPart : RealtimeMessageContentPart, IJsonModel<RealtimeOutputTextMessageContentPart>, IPersistableModel<RealtimeOutputTextMessageContentPart> {
4353 public RealtimeOutputTextMessageContentPart(string text);
4354 public string Text { get; set; }
4355 }
4356 [Experimental("OPENAI002")]
4357 public class RealtimePcmaAudioFormat : RealtimeAudioFormat, IJsonModel<RealtimePcmaAudioFormat>, IPersistableModel<RealtimePcmaAudioFormat> {
4358 public RealtimePcmaAudioFormat();
4359 }
4360 [Experimental("OPENAI002")]
4361 public class RealtimePcmAudioFormat : RealtimeAudioFormat, IJsonModel<RealtimePcmAudioFormat>, IPersistableModel<RealtimePcmAudioFormat> {
4362 public RealtimePcmAudioFormat();
4363 public int Rate { get; }
4364 }
4365 [Experimental("OPENAI002")]
4366 public class RealtimePcmuAudioFormat : RealtimeAudioFormat, IJsonModel<RealtimePcmuAudioFormat>, IPersistableModel<RealtimePcmuAudioFormat> {
4367 public RealtimePcmuAudioFormat();
4368 }
4369 [Experimental("OPENAI002")]
4370 public class RealtimeRateLimitDetails : IJsonModel<RealtimeRateLimitDetails>, IPersistableModel<RealtimeRateLimitDetails> {
4371 public int? Limit { get; }
4372 public RealtimeRateLimitName? Name { get; }
4373 [Serialization.JsonIgnore]
4374 [EditorBrowsable(EditorBrowsableState.Never)]
4375 [Experimental("SCME0001")]
4376 public ref JsonPatch Patch { get; }
4377 public int? RemainingCount { get; }
4378 public TimeSpan? TimeUntilReset { get; }
4379 }
4380 [Experimental("OPENAI002")]
4381 public readonly partial struct RealtimeRateLimitName : IEquatable<RealtimeRateLimitName> {
4382 public RealtimeRateLimitName(string value);
4383 public static RealtimeRateLimitName Requests { get; }
4384 public static RealtimeRateLimitName Tokens { get; }
4385 public readonly bool Equals(RealtimeRateLimitName other);
4386 [EditorBrowsable(EditorBrowsableState.Never)]
4387 public override readonly bool Equals(object obj);
4388 [EditorBrowsable(EditorBrowsableState.Never)]
4389 public override readonly int GetHashCode();
4390 public static bool operator ==(RealtimeRateLimitName left, RealtimeRateLimitName right);
4391 public static implicit operator RealtimeRateLimitName(string value);
4392 public static implicit operator RealtimeRateLimitName?(string value);
4393 public static bool operator !=(RealtimeRateLimitName left, RealtimeRateLimitName right);
4394 public override readonly string ToString();
4395 }
4396 [Experimental("OPENAI002")]
4397 public class RealtimeResponse : IJsonModel<RealtimeResponse>, IPersistableModel<RealtimeResponse> {
4398 public RealtimeResponseAudioOptions AudioOptions { get; }
4399 public string ConversationId { get; }
4400 public string Id { get; }
4401 public RealtimeMaxOutputTokenCount MaxOutputTokenCount { get; }
4402 public IDictionary<string, BinaryData> Metadata { get; }
4403 public IList<RealtimeItem> OutputItems { get; }
4404 public IList<RealtimeOutputModality> OutputModalities { get; }
4405 [Serialization.JsonIgnore]
4406 [EditorBrowsable(EditorBrowsableState.Never)]
4407 [Experimental("SCME0001")]
4408 public ref JsonPatch Patch { get; }
4409 public RealtimeResponseStatus? Status { get; }
4410 public RealtimeResponseStatusDetails StatusDetails { get; }
4411 public RealtimeResponseUsage Usage { get; }
4412 }
4413 [Experimental("OPENAI002")]
4414 public class RealtimeResponseAudioOptions : IJsonModel<RealtimeResponseAudioOptions>, IPersistableModel<RealtimeResponseAudioOptions> {
4415 public RealtimeResponseOutputAudioOptions OutputAudioOptions { get; }
4416 [Serialization.JsonIgnore]
4417 [EditorBrowsable(EditorBrowsableState.Never)]
4418 [Experimental("SCME0001")]
4419 public ref JsonPatch Patch { get; }
4420 }
4421 [Experimental("OPENAI002")]
4422 public class RealtimeResponseContentPart : IJsonModel<RealtimeResponseContentPart>, IPersistableModel<RealtimeResponseContentPart> {
4423 public BinaryData Audio { get; }
4424 public RealtimeResponseContentPartKind? Kind { get; }
4425 [Serialization.JsonIgnore]
4426 [EditorBrowsable(EditorBrowsableState.Never)]
4427 [Experimental("SCME0001")]
4428 public ref JsonPatch Patch { get; }
4429 public string Text { get; }
4430 public string Transcript { get; }
4431 }
4432 [Experimental("OPENAI002")]
4433 public readonly partial struct RealtimeResponseContentPartKind : IEquatable<RealtimeResponseContentPartKind> {
4434 public RealtimeResponseContentPartKind(string value);
4435 public static RealtimeResponseContentPartKind Audio { get; }
4436 public static RealtimeResponseContentPartKind Text { get; }
4437 public readonly bool Equals(RealtimeResponseContentPartKind other);
4438 [EditorBrowsable(EditorBrowsableState.Never)]
4439 public override readonly bool Equals(object obj);
4440 [EditorBrowsable(EditorBrowsableState.Never)]
4441 public override readonly int GetHashCode();
4442 public static bool operator ==(RealtimeResponseContentPartKind left, RealtimeResponseContentPartKind right);
4443 public static implicit operator RealtimeResponseContentPartKind(string value);
4444 public static implicit operator RealtimeResponseContentPartKind?(string value);
4445 public static bool operator !=(RealtimeResponseContentPartKind left, RealtimeResponseContentPartKind right);
4446 public override readonly string ToString();
4447 }
4448 [Experimental("OPENAI002")]
4449 public readonly partial struct RealtimeResponseDefaultConversationConfiguration : IEquatable<RealtimeResponseDefaultConversationConfiguration> {
4450 public RealtimeResponseDefaultConversationConfiguration(string value);
4451 public static RealtimeResponseDefaultConversationConfiguration Auto { get; }
4452 public static RealtimeResponseDefaultConversationConfiguration None { get; }
4453 public readonly bool Equals(RealtimeResponseDefaultConversationConfiguration other);
4454 [EditorBrowsable(EditorBrowsableState.Never)]
4455 public override readonly bool Equals(object obj);
4456 [EditorBrowsable(EditorBrowsableState.Never)]
4457 public override readonly int GetHashCode();
4458 public static bool operator ==(RealtimeResponseDefaultConversationConfiguration left, RealtimeResponseDefaultConversationConfiguration right);
4459 public static implicit operator RealtimeResponseDefaultConversationConfiguration(string value);
4460 public static implicit operator RealtimeResponseDefaultConversationConfiguration?(string value);
4461 public static bool operator !=(RealtimeResponseDefaultConversationConfiguration left, RealtimeResponseDefaultConversationConfiguration right);
4462 public override readonly string ToString();
4463 }
4464 [Experimental("OPENAI002")]
4465 public class RealtimeResponseInputCachedTokenUsageDetails : IJsonModel<RealtimeResponseInputCachedTokenUsageDetails>, IPersistableModel<RealtimeResponseInputCachedTokenUsageDetails> {
4466 public int? AudioTokenCount { get; }
4467 public int? ImageTokenCount { get; }
4468 [Serialization.JsonIgnore]
4469 [EditorBrowsable(EditorBrowsableState.Never)]
4470 [Experimental("SCME0001")]
4471 public ref JsonPatch Patch { get; }
4472 public int? TextTokenCount { get; }
4473 }
4474 [Experimental("OPENAI002")]
4475 public class RealtimeResponseInputTokenUsageDetails : IJsonModel<RealtimeResponseInputTokenUsageDetails>, IPersistableModel<RealtimeResponseInputTokenUsageDetails> {
4476 public int? AudioTokenCount { get; }
4477 public int? CachedTokenCount { get; }
4478 public RealtimeResponseInputCachedTokenUsageDetails CachedTokenDetails { get; }
4479 public int? ImageTokenCount { get; }
4480 [Serialization.JsonIgnore]
4481 [EditorBrowsable(EditorBrowsableState.Never)]
4482 [Experimental("SCME0001")]
4483 public ref JsonPatch Patch { get; }
4484 public int? TextTokenCount { get; }
4485 }
4486 [Experimental("OPENAI002")]
4487 public class RealtimeResponseOptions : IJsonModel<RealtimeResponseOptions>, IPersistableModel<RealtimeResponseOptions> {
4488 public RealtimeResponseAudioOptions AudioOptions { get; set; }
4489 public RealtimeResponseDefaultConversationConfiguration? DefaultConversationConfiguration { get; set; }
4490 public IList<RealtimeItem> InputItems { get; }
4491 public string Instructions { get; set; }
4492 public RealtimeMaxOutputTokenCount MaxOutputTokenCount { get; set; }
4493 public IDictionary<string, BinaryData> Metadata { get; set; }
4494 public IList<RealtimeOutputModality> OutputModalities { get; }
4495 [Serialization.JsonIgnore]
4496 [EditorBrowsable(EditorBrowsableState.Never)]
4497 [Experimental("SCME0001")]
4498 public ref JsonPatch Patch { get; }
4499 public RealtimeToolChoice ToolChoice { get; set; }
4500 public IList<RealtimeTool> Tools { get; }
4501 }
4502 [Experimental("OPENAI002")]
4503 public class RealtimeResponseOutputAudioOptions : IJsonModel<RealtimeResponseOutputAudioOptions>, IPersistableModel<RealtimeResponseOutputAudioOptions> {
4504 public RealtimeAudioFormat AudioFormat { get; set; }
4505 [Serialization.JsonIgnore]
4506 [EditorBrowsable(EditorBrowsableState.Never)]
4507 [Experimental("SCME0001")]
4508 public ref JsonPatch Patch { get; }
4509 public RealtimeVoice? Voice { get; set; }
4510 }
4511 [Experimental("OPENAI002")]
4512 public class RealtimeResponseOutputTokenUsageDetails : IJsonModel<RealtimeResponseOutputTokenUsageDetails>, IPersistableModel<RealtimeResponseOutputTokenUsageDetails> {
4513 public int? AudioTokenCount { get; }
4514 [Serialization.JsonIgnore]
4515 [EditorBrowsable(EditorBrowsableState.Never)]
4516 [Experimental("SCME0001")]
4517 public ref JsonPatch Patch { get; }
4518 public int? TextTokenCount { get; }
4519 }
4520 [Experimental("OPENAI002")]
4521 public readonly partial struct RealtimeResponseStatus : IEquatable<RealtimeResponseStatus> {
4522 public RealtimeResponseStatus(string value);
4523 public static RealtimeResponseStatus Cancelled { get; }
4524 public static RealtimeResponseStatus Completed { get; }
4525 public static RealtimeResponseStatus Failed { get; }
4526 public static RealtimeResponseStatus Incomplete { get; }
4527 public static RealtimeResponseStatus InProgress { get; }
4528 public readonly bool Equals(RealtimeResponseStatus other);
4529 [EditorBrowsable(EditorBrowsableState.Never)]
4530 public override readonly bool Equals(object obj);
4531 [EditorBrowsable(EditorBrowsableState.Never)]
4532 public override readonly int GetHashCode();
4533 public static bool operator ==(RealtimeResponseStatus left, RealtimeResponseStatus right);
4534 public static implicit operator RealtimeResponseStatus(string value);
4535 public static implicit operator RealtimeResponseStatus?(string value);
4536 public static bool operator !=(RealtimeResponseStatus left, RealtimeResponseStatus right);
4537 public override readonly string ToString();
4538 }
4539 [Experimental("OPENAI002")]
4540 public class RealtimeResponseStatusDetails : IJsonModel<RealtimeResponseStatusDetails>, IPersistableModel<RealtimeResponseStatusDetails> {
4541 public RealtimeError Error { get; }
4542 public RealtimeResponseStatusErrorKind? Kind { get; }
4543 [Serialization.JsonIgnore]
4544 [EditorBrowsable(EditorBrowsableState.Never)]
4545 [Experimental("SCME0001")]
4546 public ref JsonPatch Patch { get; }
4547 public RealtimeResponseStatusReason? Reason { get; }
4548 }
4549 [Experimental("OPENAI002")]
4550 public readonly partial struct RealtimeResponseStatusErrorKind : IEquatable<RealtimeResponseStatusErrorKind> {
4551 public RealtimeResponseStatusErrorKind(string value);
4552 public static RealtimeResponseStatusErrorKind Cancelled { get; }
4553 public static RealtimeResponseStatusErrorKind Completed { get; }
4554 public static RealtimeResponseStatusErrorKind Failed { get; }
4555 public static RealtimeResponseStatusErrorKind Incomplete { get; }
4556 public readonly bool Equals(RealtimeResponseStatusErrorKind other);
4557 [EditorBrowsable(EditorBrowsableState.Never)]
4558 public override readonly bool Equals(object obj);
4559 [EditorBrowsable(EditorBrowsableState.Never)]
4560 public override readonly int GetHashCode();
4561 public static bool operator ==(RealtimeResponseStatusErrorKind left, RealtimeResponseStatusErrorKind right);
4562 public static implicit operator RealtimeResponseStatusErrorKind(string value);
4563 public static implicit operator RealtimeResponseStatusErrorKind?(string value);
4564 public static bool operator !=(RealtimeResponseStatusErrorKind left, RealtimeResponseStatusErrorKind right);
4565 public override readonly string ToString();
4566 }
4567 [Experimental("OPENAI002")]
4568 public readonly partial struct RealtimeResponseStatusReason : IEquatable<RealtimeResponseStatusReason> {
4569 public RealtimeResponseStatusReason(string value);
4570 public static RealtimeResponseStatusReason ClientCancelled { get; }
4571 public static RealtimeResponseStatusReason ContentFilter { get; }
4572 public static RealtimeResponseStatusReason MaxOutputTokens { get; }
4573 public static RealtimeResponseStatusReason TurnDetected { get; }
4574 public readonly bool Equals(RealtimeResponseStatusReason other);
4575 [EditorBrowsable(EditorBrowsableState.Never)]
4576 public override readonly bool Equals(object obj);
4577 [EditorBrowsable(EditorBrowsableState.Never)]
4578 public override readonly int GetHashCode();
4579 public static bool operator ==(RealtimeResponseStatusReason left, RealtimeResponseStatusReason right);
4580 public static implicit operator RealtimeResponseStatusReason(string value);
4581 public static implicit operator RealtimeResponseStatusReason?(string value);
4582 public static bool operator !=(RealtimeResponseStatusReason left, RealtimeResponseStatusReason right);
4583 public override readonly string ToString();
4584 }
4585 [Experimental("OPENAI002")]
4586 public class RealtimeResponseUsage : IJsonModel<RealtimeResponseUsage>, IPersistableModel<RealtimeResponseUsage> {
4587 public int? InputTokenCount { get; }
4588 public RealtimeResponseInputTokenUsageDetails InputTokenDetails { get; }
4589 public int? OutputTokenCount { get; }
4590 public RealtimeResponseOutputTokenUsageDetails OutputTokenDetails { get; }
4591 [Serialization.JsonIgnore]
4592 [EditorBrowsable(EditorBrowsableState.Never)]
4593 [Experimental("SCME0001")]
4594 public ref JsonPatch Patch { get; }
4595 public int? TotalTokenCount { get; }
4596 }
4597 [Experimental("OPENAI002")]
4598 public class RealtimeRetentionRatioTokenLimitDetails : IJsonModel<RealtimeRetentionRatioTokenLimitDetails>, IPersistableModel<RealtimeRetentionRatioTokenLimitDetails> {
4599 public int? MaxPostInstructionsTokenCount { get; set; }
4600 [Serialization.JsonIgnore]
4601 [EditorBrowsable(EditorBrowsableState.Never)]
4602 [Experimental("SCME0001")]
4603 public ref JsonPatch Patch { get; }
4604 }
4605 [Experimental("OPENAI002")]
4606 public readonly partial struct RealtimeSemanticVadEagernessLevel : IEquatable<RealtimeSemanticVadEagernessLevel> {
4607 public RealtimeSemanticVadEagernessLevel(string value);
4608 public static RealtimeSemanticVadEagernessLevel Auto { get; }
4609 public static RealtimeSemanticVadEagernessLevel High { get; }
4610 public static RealtimeSemanticVadEagernessLevel Low { get; }
4611 public static RealtimeSemanticVadEagernessLevel Medium { get; }
4612 public readonly bool Equals(RealtimeSemanticVadEagernessLevel other);
4613 [EditorBrowsable(EditorBrowsableState.Never)]
4614 public override readonly bool Equals(object obj);
4615 [EditorBrowsable(EditorBrowsableState.Never)]
4616 public override readonly int GetHashCode();
4617 public static bool operator ==(RealtimeSemanticVadEagernessLevel left, RealtimeSemanticVadEagernessLevel right);
4618 public static implicit operator RealtimeSemanticVadEagernessLevel(string value);
4619 public static implicit operator RealtimeSemanticVadEagernessLevel?(string value);
4620 public static bool operator !=(RealtimeSemanticVadEagernessLevel left, RealtimeSemanticVadEagernessLevel right);
4621 public override readonly string ToString();
4622 }
4623 [Experimental("OPENAI002")]
4624 public class RealtimeSemanticVadTurnDetection : RealtimeTurnDetection, IJsonModel<RealtimeSemanticVadTurnDetection>, IPersistableModel<RealtimeSemanticVadTurnDetection> {
4625 public RealtimeSemanticVadTurnDetection();
4626 public bool? CreateResponseEnabled { get; set; }
4627 public RealtimeSemanticVadEagernessLevel? EagernessLevel { get; set; }
4628 public bool? InterruptResponseEnabled { get; set; }
4629 }
4630 [Experimental("OPENAI002")]
4631 public class RealtimeServerUpdate : IJsonModel<RealtimeServerUpdate>, IPersistableModel<RealtimeServerUpdate> {
4632 [Serialization.JsonIgnore]
4633 [EditorBrowsable(EditorBrowsableState.Never)]
4634 [Experimental("SCME0001")]
4635 public ref JsonPatch Patch { get; }
4636 }
4637 [Experimental("OPENAI002")]
4638 public class RealtimeServerUpdateConversationCreated : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationCreated>, IPersistableModel<RealtimeServerUpdateConversationCreated> {
4639 public RealtimeConversation Conversation { get; }
4640 public string EventId { get; }
4641 }
4642 [Experimental("OPENAI002")]
4643 public class RealtimeServerUpdateConversationItemAdded : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemAdded>, IPersistableModel<RealtimeServerUpdateConversationItemAdded> {
4644 public string EventId { get; }
4645 public RealtimeItem Item { get; }
4646 public string PreviousItemId { get; }
4647 }
4648 [Experimental("OPENAI002")]
4649 public class RealtimeServerUpdateConversationItemCreated : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemCreated>, IPersistableModel<RealtimeServerUpdateConversationItemCreated> {
4650 public string EventId { get; }
4651 public RealtimeItem Item { get; }
4652 public string PreviousItemId { get; }
4653 }
4654 [Experimental("OPENAI002")]
4655 public class RealtimeServerUpdateConversationItemDeleted : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemDeleted>, IPersistableModel<RealtimeServerUpdateConversationItemDeleted> {
4656 public string EventId { get; }
4657 public string ItemId { get; }
4658 }
4659 [Experimental("OPENAI002")]
4660 public class RealtimeServerUpdateConversationItemDone : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemDone>, IPersistableModel<RealtimeServerUpdateConversationItemDone> {
4661 public string EventId { get; }
4662 public RealtimeItem Item { get; }
4663 public string PreviousItemId { get; }
4664 }
4665 [Experimental("OPENAI002")]
4666 public class RealtimeServerUpdateConversationItemInputAudioTranscriptionCompleted : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemInputAudioTranscriptionCompleted>, IPersistableModel<RealtimeServerUpdateConversationItemInputAudioTranscriptionCompleted> {
4667 public int ContentIndex { get; }
4668 public string EventId { get; }
4669 public string ItemId { get; }
4670 public IList<RealtimeLogProbabilityDetails> Logprobs { get; }
4671 public string Transcript { get; }
4672 public RealtimeTranscriptionUsage Usage { get; }
4673 }
4674 [Experimental("OPENAI002")]
4675 public class RealtimeServerUpdateConversationItemInputAudioTranscriptionDelta : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemInputAudioTranscriptionDelta>, IPersistableModel<RealtimeServerUpdateConversationItemInputAudioTranscriptionDelta> {
4676 public int? ContentIndex { get; }
4677 public string Delta { get; }
4678 public string EventId { get; }
4679 public string ItemId { get; }
4680 public IList<RealtimeLogProbabilityDetails> Logprobs { get; }
4681 }
4682 [Experimental("OPENAI002")]
4683 public class RealtimeServerUpdateConversationItemInputAudioTranscriptionFailed : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemInputAudioTranscriptionFailed>, IPersistableModel<RealtimeServerUpdateConversationItemInputAudioTranscriptionFailed> {
4684 public int ContentIndex { get; }
4685 public RealtimeError Error { get; }
4686 public string EventId { get; }
4687 public string ItemId { get; }
4688 }
4689 [Experimental("OPENAI002")]
4690 public class RealtimeServerUpdateConversationItemInputAudioTranscriptionSegment : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemInputAudioTranscriptionSegment>, IPersistableModel<RealtimeServerUpdateConversationItemInputAudioTranscriptionSegment> {
4691 public int ContentIndex { get; }
4692 public float End { get; }
4693 public string EventId { get; }
4694 public string Id { get; }
4695 public string ItemId { get; }
4696 public string Speaker { get; }
4697 public float Start { get; }
4698 public string Text { get; }
4699 }
4700 [Experimental("OPENAI002")]
4701 public class RealtimeServerUpdateConversationItemRetrieved : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemRetrieved>, IPersistableModel<RealtimeServerUpdateConversationItemRetrieved> {
4702 public string EventId { get; }
4703 public RealtimeItem Item { get; }
4704 }
4705 [Experimental("OPENAI002")]
4706 public class RealtimeServerUpdateConversationItemTruncated : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateConversationItemTruncated>, IPersistableModel<RealtimeServerUpdateConversationItemTruncated> {
4707 public TimeSpan AudioEndTime { get; }
4708 public int ContentIndex { get; }
4709 public string EventId { get; }
4710 public string ItemId { get; }
4711 }
4712 [Experimental("OPENAI002")]
4713 public class RealtimeServerUpdateError : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateError>, IPersistableModel<RealtimeServerUpdateError> {
4714 public RealtimeError Error { get; }
4715 public string EventId { get; }
4716 }
4717 [Experimental("OPENAI002")]
4718 public class RealtimeServerUpdateInputAudioBufferCleared : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateInputAudioBufferCleared>, IPersistableModel<RealtimeServerUpdateInputAudioBufferCleared> {
4719 public string EventId { get; }
4720 }
4721 [Experimental("OPENAI002")]
4722 public class RealtimeServerUpdateInputAudioBufferCommitted : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateInputAudioBufferCommitted>, IPersistableModel<RealtimeServerUpdateInputAudioBufferCommitted> {
4723 public string EventId { get; }
4724 public string ItemId { get; }
4725 public string PreviousItemId { get; }
4726 }
4727 [Experimental("OPENAI002")]
4728 public class RealtimeServerUpdateInputAudioBufferDtmfEventReceived : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateInputAudioBufferDtmfEventReceived>, IPersistableModel<RealtimeServerUpdateInputAudioBufferDtmfEventReceived> {
4729 public string Event { get; }
4730 public DateTimeOffset ReceivedAt { get; }
4731 }
4732 [Experimental("OPENAI002")]
4733 public class RealtimeServerUpdateInputAudioBufferSpeechStarted : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateInputAudioBufferSpeechStarted>, IPersistableModel<RealtimeServerUpdateInputAudioBufferSpeechStarted> {
4734 public TimeSpan AudioStartTime { get; }
4735 public string EventId { get; }
4736 public string ItemId { get; }
4737 }
4738 [Experimental("OPENAI002")]
4739 public class RealtimeServerUpdateInputAudioBufferSpeechStopped : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateInputAudioBufferSpeechStopped>, IPersistableModel<RealtimeServerUpdateInputAudioBufferSpeechStopped> {
4740 public TimeSpan AudioEndTime { get; }
4741 public string EventId { get; }
4742 public string ItemId { get; }
4743 }
4744 [Experimental("OPENAI002")]
4745 public class RealtimeServerUpdateInputAudioBufferTimeoutTriggered : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateInputAudioBufferTimeoutTriggered>, IPersistableModel<RealtimeServerUpdateInputAudioBufferTimeoutTriggered> {
4746 public TimeSpan AudioEndTime { get; }
4747 public TimeSpan AudioStartTime { get; }
4748 public string EventId { get; }
4749 public string ItemId { get; }
4750 }
4751 [Experimental("OPENAI002")]
4752 public class RealtimeServerUpdateMcpListToolsCompleted : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateMcpListToolsCompleted>, IPersistableModel<RealtimeServerUpdateMcpListToolsCompleted> {
4753 public string EventId { get; }
4754 public string ItemId { get; }
4755 }
4756 [Experimental("OPENAI002")]
4757 public class RealtimeServerUpdateMcpListToolsFailed : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateMcpListToolsFailed>, IPersistableModel<RealtimeServerUpdateMcpListToolsFailed> {
4758 public string EventId { get; }
4759 public string ItemId { get; }
4760 }
4761 [Experimental("OPENAI002")]
4762 public class RealtimeServerUpdateMcpListToolsInProgress : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateMcpListToolsInProgress>, IPersistableModel<RealtimeServerUpdateMcpListToolsInProgress> {
4763 public string EventId { get; }
4764 public string ItemId { get; }
4765 }
4766 [Experimental("OPENAI002")]
4767 public class RealtimeServerUpdateOutputAudioBufferCleared : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateOutputAudioBufferCleared>, IPersistableModel<RealtimeServerUpdateOutputAudioBufferCleared> {
4768 public string EventId { get; }
4769 public string ResponseId { get; }
4770 }
4771 [Experimental("OPENAI002")]
4772 public class RealtimeServerUpdateOutputAudioBufferStarted : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateOutputAudioBufferStarted>, IPersistableModel<RealtimeServerUpdateOutputAudioBufferStarted> {
4773 public string EventId { get; }
4774 public string ResponseId { get; }
4775 }
4776 [Experimental("OPENAI002")]
4777 public class RealtimeServerUpdateOutputAudioBufferStopped : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateOutputAudioBufferStopped>, IPersistableModel<RealtimeServerUpdateOutputAudioBufferStopped> {
4778 public string EventId { get; }
4779 public string ResponseId { get; }
4780 }
4781 [Experimental("OPENAI002")]
4782 public class RealtimeServerUpdateRateLimitsUpdated : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateRateLimitsUpdated>, IPersistableModel<RealtimeServerUpdateRateLimitsUpdated> {
4783 public string EventId { get; }
4784 public IList<RealtimeRateLimitDetails> RateLimitDetails { get; }
4785 }
4786 [Experimental("OPENAI002")]
4787 public class RealtimeServerUpdateResponseContentPartAdded : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseContentPartAdded>, IPersistableModel<RealtimeServerUpdateResponseContentPartAdded> {
4788 public int ContentIndex { get; }
4789 public string EventId { get; }
4790 public string ItemId { get; }
4791 public int OutputIndex { get; }
4792 public RealtimeResponseContentPart Part { get; }
4793 public string ResponseId { get; }
4794 }
4795 [Experimental("OPENAI002")]
4796 public class RealtimeServerUpdateResponseContentPartDone : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseContentPartDone>, IPersistableModel<RealtimeServerUpdateResponseContentPartDone> {
4797 public int ContentIndex { get; }
4798 public string EventId { get; }
4799 public string ItemId { get; }
4800 public int OutputIndex { get; }
4801 public RealtimeResponseContentPart Part { get; }
4802 public string ResponseId { get; }
4803 }
4804 [Experimental("OPENAI002")]
4805 public class RealtimeServerUpdateResponseCreated : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseCreated>, IPersistableModel<RealtimeServerUpdateResponseCreated> {
4806 public string EventId { get; }
4807 public RealtimeResponse Response { get; }
4808 }
4809 [Experimental("OPENAI002")]
4810 public class RealtimeServerUpdateResponseDone : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseDone>, IPersistableModel<RealtimeServerUpdateResponseDone> {
4811 public string EventId { get; }
4812 public RealtimeResponse Response { get; }
4813 }
4814 [Experimental("OPENAI002")]
4815 public class RealtimeServerUpdateResponseFunctionCallArgumentsDelta : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseFunctionCallArgumentsDelta>, IPersistableModel<RealtimeServerUpdateResponseFunctionCallArgumentsDelta> {
4816 public string CallId { get; }
4817 public BinaryData Delta { get; }
4818 public string EventId { get; }
4819 public string ItemId { get; }
4820 public int OutputIndex { get; }
4821 public string ResponseId { get; }
4822 }
4823 [Experimental("OPENAI002")]
4824 public class RealtimeServerUpdateResponseFunctionCallArgumentsDone : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseFunctionCallArgumentsDone>, IPersistableModel<RealtimeServerUpdateResponseFunctionCallArgumentsDone> {
4825 public string CallId { get; }
4826 public string EventId { get; }
4827 public BinaryData FunctionArguments { get; }
4828 public string FunctionName { get; }
4829 public string ItemId { get; }
4830 public int OutputIndex { get; }
4831 public string ResponseId { get; }
4832 }
4833 [Experimental("OPENAI002")]
4834 public class RealtimeServerUpdateResponseMcpCallArgumentsDelta : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseMcpCallArgumentsDelta>, IPersistableModel<RealtimeServerUpdateResponseMcpCallArgumentsDelta> {
4835 public BinaryData Delta { get; }
4836 public string EventId { get; }
4837 public string ItemId { get; }
4838 public string Obfuscation { get; }
4839 public int OutputIndex { get; }
4840 public string ResponseId { get; }
4841 }
4842 [Experimental("OPENAI002")]
4843 public class RealtimeServerUpdateResponseMcpCallArgumentsDone : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseMcpCallArgumentsDone>, IPersistableModel<RealtimeServerUpdateResponseMcpCallArgumentsDone> {
4844 public string EventId { get; }
4845 public string ItemId { get; }
4846 public int OutputIndex { get; }
4847 public string ResponseId { get; }
4848 public BinaryData ToolArguments { get; }
4849 }
4850 [Experimental("OPENAI002")]
4851 public class RealtimeServerUpdateResponseMcpCallCompleted : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseMcpCallCompleted>, IPersistableModel<RealtimeServerUpdateResponseMcpCallCompleted> {
4852 public string EventId { get; }
4853 public string ItemId { get; }
4854 public int OutputIndex { get; }
4855 }
4856 [Experimental("OPENAI002")]
4857 public class RealtimeServerUpdateResponseMcpCallFailed : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseMcpCallFailed>, IPersistableModel<RealtimeServerUpdateResponseMcpCallFailed> {
4858 public string EventId { get; }
4859 public string ItemId { get; }
4860 public int OutputIndex { get; }
4861 }
4862 [Experimental("OPENAI002")]
4863 public class RealtimeServerUpdateResponseMcpCallInProgress : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseMcpCallInProgress>, IPersistableModel<RealtimeServerUpdateResponseMcpCallInProgress> {
4864 public string EventId { get; }
4865 public string ItemId { get; }
4866 public int OutputIndex { get; }
4867 }
4868 [Experimental("OPENAI002")]
4869 public class RealtimeServerUpdateResponseOutputAudioDelta : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseOutputAudioDelta>, IPersistableModel<RealtimeServerUpdateResponseOutputAudioDelta> {
4870 public int ContentIndex { get; }
4871 public BinaryData Delta { get; }
4872 public string EventId { get; }
4873 public string ItemId { get; }
4874 public int OutputIndex { get; }
4875 public string ResponseId { get; }
4876 }
4877 [Experimental("OPENAI002")]
4878 public class RealtimeServerUpdateResponseOutputAudioDone : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseOutputAudioDone>, IPersistableModel<RealtimeServerUpdateResponseOutputAudioDone> {
4879 public int ContentIndex { get; }
4880 public string EventId { get; }
4881 public string ItemId { get; }
4882 public int OutputIndex { get; }
4883 public string ResponseId { get; }
4884 }
4885 [Experimental("OPENAI002")]
4886 public class RealtimeServerUpdateResponseOutputAudioTranscriptDelta : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseOutputAudioTranscriptDelta>, IPersistableModel<RealtimeServerUpdateResponseOutputAudioTranscriptDelta> {
4887 public int ContentIndex { get; }
4888 public string Delta { get; }
4889 public string EventId { get; }
4890 public string ItemId { get; }
4891 public int OutputIndex { get; }
4892 public string ResponseId { get; }
4893 }
4894 [Experimental("OPENAI002")]
4895 public class RealtimeServerUpdateResponseOutputAudioTranscriptDone : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseOutputAudioTranscriptDone>, IPersistableModel<RealtimeServerUpdateResponseOutputAudioTranscriptDone> {
4896 public int ContentIndex { get; }
4897 public string EventId { get; }
4898 public string ItemId { get; }
4899 public int OutputIndex { get; }
4900 public string ResponseId { get; }
4901 public string Transcript { get; }
4902 }
4903 [Experimental("OPENAI002")]
4904 public class RealtimeServerUpdateResponseOutputItemAdded : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseOutputItemAdded>, IPersistableModel<RealtimeServerUpdateResponseOutputItemAdded> {
4905 public string EventId { get; }
4906 public RealtimeItem Item { get; }
4907 public int OutputIndex { get; }
4908 public string ResponseId { get; }
4909 }
4910 [Experimental("OPENAI002")]
4911 public class RealtimeServerUpdateResponseOutputItemDone : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseOutputItemDone>, IPersistableModel<RealtimeServerUpdateResponseOutputItemDone> {
4912 public string EventId { get; }
4913 public RealtimeItem Item { get; }
4914 public int OutputIndex { get; }
4915 public string ResponseId { get; }
4916 }
4917 [Experimental("OPENAI002")]
4918 public class RealtimeServerUpdateResponseOutputTextDelta : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseOutputTextDelta>, IPersistableModel<RealtimeServerUpdateResponseOutputTextDelta> {
4919 public int ContentIndex { get; }
4920 public string Delta { get; }
4921 public string EventId { get; }
4922 public string ItemId { get; }
4923 public int OutputIndex { get; }
4924 public string ResponseId { get; }
4925 }
4926 [Experimental("OPENAI002")]
4927 public class RealtimeServerUpdateResponseOutputTextDone : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateResponseOutputTextDone>, IPersistableModel<RealtimeServerUpdateResponseOutputTextDone> {
4928 public int ContentIndex { get; }
4929 public string EventId { get; }
4930 public string ItemId { get; }
4931 public int OutputIndex { get; }
4932 public string ResponseId { get; }
4933 public string Text { get; }
4934 }
4935 [Experimental("OPENAI002")]
4936 public class RealtimeServerUpdateSessionCreated : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateSessionCreated>, IPersistableModel<RealtimeServerUpdateSessionCreated> {
4937 public string EventId { get; }
4938 public RealtimeSession Session { get; }
4939 }
4940 [Experimental("OPENAI002")]
4941 public class RealtimeServerUpdateSessionUpdated : RealtimeServerUpdate, IJsonModel<RealtimeServerUpdateSessionUpdated>, IPersistableModel<RealtimeServerUpdateSessionUpdated> {
4942 public string EventId { get; }
4943 public RealtimeSession Session { get; }
4944 }
4945 [Experimental("OPENAI002")]
4946 public class RealtimeServerVadTurnDetection : RealtimeTurnDetection, IJsonModel<RealtimeServerVadTurnDetection>, IPersistableModel<RealtimeServerVadTurnDetection> {
4947 public RealtimeServerVadTurnDetection();
4948 public bool? CreateResponseEnabled { get; set; }
4949 public float? DetectionThreshold { get; set; }
4950 public TimeSpan? IdleTimeout { get; set; }
4951 public bool? InterruptResponseEnabled { get; set; }
4952 public TimeSpan? PrefixPadding { get; set; }
4953 public TimeSpan? SilenceDuration { get; set; }
4954 }
4955 [Experimental("OPENAI002")]
4956 public class RealtimeSession : IJsonModel<RealtimeSession>, IPersistableModel<RealtimeSession> {
4957 [Serialization.JsonIgnore]
4958 [EditorBrowsable(EditorBrowsableState.Never)]
4959 [Experimental("SCME0001")]
4960 public ref JsonPatch Patch { get; }
4961 }
4962 [Experimental("OPENAI002")]
4963 public class RealtimeSessionClient : IDisposable {
4964 protected internal RealtimeSessionClient(ApiKeyCredential credential, Uri endpoint, string model, string intent, RealtimeClient parentClient);
4965 public Net.WebSockets.WebSocket WebSocket { get; protected set; }
4966 public virtual void AddItem(RealtimeItem item, string previousItemId, CancellationToken cancellationToken = default);
4967 public virtual void AddItem(RealtimeItem item, CancellationToken cancellationToken = default);
4968 public virtual Task AddItemAsync(RealtimeItem item, string previousItemId, CancellationToken cancellationToken = default);
4969 public virtual Task AddItemAsync(RealtimeItem item, CancellationToken cancellationToken = default);
4970 public virtual void CancelResponse(CancellationToken cancellationToken = default);
4971 public virtual Task CancelResponseAsync(CancellationToken cancellationToken = default);
4972 public virtual void ClearInputAudio(CancellationToken cancellationToken = default);
4973 public virtual Task ClearInputAudioAsync(CancellationToken cancellationToken = default);
4974 public virtual void CommitPendingAudio(CancellationToken cancellationToken = default);
4975 public virtual Task CommitPendingAudioAsync(CancellationToken cancellationToken = default);
4976 public virtual void ConfigureConversationSession(RealtimeConversationSessionOptions sessionOptions, CancellationToken cancellationToken = default);
4977 public virtual Task ConfigureConversationSessionAsync(RealtimeConversationSessionOptions sessionOptions, CancellationToken cancellationToken = default);
4978 public virtual void ConfigureTranscriptionSession(RealtimeTranscriptionSessionOptions sessionOptions, CancellationToken cancellationToken = default);
4979 public virtual Task ConfigureTranscriptionSessionAsync(RealtimeTranscriptionSessionOptions sessionOptions, CancellationToken cancellationToken = default);
4980 protected internal virtual void Connect(string queryString = null, IDictionary<string, string> headers = null, CancellationToken cancellationToken = default);
4981 protected internal virtual Task ConnectAsync(string queryString = null, IDictionary<string, string> headers = null, CancellationToken cancellationToken = default);
4982 public virtual void DeleteItem(string itemId, CancellationToken cancellationToken = default);
4983 public virtual Task DeleteItemAsync(string itemId, CancellationToken cancellationToken = default);
4984 public void Dispose();
4985 public virtual IEnumerable<ClientResult> ReceiveUpdates(RequestOptions options);
4986 public virtual IEnumerable<RealtimeServerUpdate> ReceiveUpdates(CancellationToken cancellationToken = default);
4987 public virtual IAsyncEnumerable<ClientResult> ReceiveUpdatesAsync(RequestOptions options);
4988 public virtual IAsyncEnumerable<RealtimeServerUpdate> ReceiveUpdatesAsync(CancellationToken cancellationToken = default);
4989 public virtual void RequestItemRetrieval(string itemId, CancellationToken cancellationToken = default);
4990 public virtual Task RequestItemRetrievalAsync(string itemId, CancellationToken cancellationToken = default);
4991 public virtual void SendCommand(RealtimeClientCommand command, CancellationToken cancellationToken = default);
4992 public virtual void SendCommand(BinaryData data, RequestOptions options);
4993 public virtual Task SendCommandAsync(RealtimeClientCommand command, CancellationToken cancellationToken = default);
4994 public virtual Task SendCommandAsync(BinaryData data, RequestOptions options);
4995 public virtual void SendInputAudio(BinaryData audio, CancellationToken cancellationToken = default);
4996 public virtual void SendInputAudio(Stream audio, CancellationToken cancellationToken = default);
4997 public virtual Task SendInputAudioAsync(BinaryData audio, CancellationToken cancellationToken = default);
4998 public virtual Task SendInputAudioAsync(Stream audio, CancellationToken cancellationToken = default);
4999 public virtual void StartResponse(RealtimeResponseOptions responseOptions, CancellationToken cancellationToken = default);
5000 public virtual void StartResponse(CancellationToken cancellationToken = default);
5001 public virtual Task StartResponseAsync(RealtimeResponseOptions responseOptions, CancellationToken cancellationToken = default);
5002 public virtual Task StartResponseAsync(CancellationToken cancellationToken = default);
5003 public virtual void TruncateItem(string itemId, int contentPartIndex, TimeSpan audioDuration, CancellationToken cancellationToken = default);
5004 public virtual Task TruncateItemAsync(string itemId, int contentPartIndex, TimeSpan audioDuration, CancellationToken cancellationToken = default);
5005 }
5006 [Experimental("OPENAI002")]
5007 public class RealtimeSessionClientOptions {
5008 public string ClientSecret { get; set; }
5009 public IDictionary<string, string> Headers { get; }
5010 public string QueryString { get; set; }
5011 }
5012 [Experimental("OPENAI002")]
5013 public class RealtimeSessionOptions : IJsonModel<RealtimeSessionOptions>, IPersistableModel<RealtimeSessionOptions> {
5014 [Serialization.JsonIgnore]
5015 [EditorBrowsable(EditorBrowsableState.Never)]
5016 [Experimental("SCME0001")]
5017 public ref JsonPatch Patch { get; }
5018 }
5019 [Experimental("OPENAI002")]
5020 public class RealtimeTool : IJsonModel<RealtimeTool>, IPersistableModel<RealtimeTool> {
5021 [Serialization.JsonIgnore]
5022 [EditorBrowsable(EditorBrowsableState.Never)]
5023 [Experimental("SCME0001")]
5024 public ref JsonPatch Patch { get; }
5025 }
5026 [Experimental("OPENAI002")]
5027 public class RealtimeToolChoice : IJsonModel<RealtimeToolChoice>, IPersistableModel<RealtimeToolChoice> {
5028 public RealtimeToolChoice(RealtimeCustomToolChoice customToolChoice);
5029 public RealtimeToolChoice(RealtimeDefaultToolChoice defaultToolChoice);
5030 public RealtimeCustomToolChoice CustomToolChoice { get; }
5031 public RealtimeDefaultToolChoice? DefaultToolChoice { get; }
5032 [Serialization.JsonIgnore]
5033 [EditorBrowsable(EditorBrowsableState.Never)]
5034 [Experimental("SCME0001")]
5035 public ref JsonPatch Patch { get; }
5036 public static implicit operator RealtimeToolChoice(RealtimeCustomToolChoice customToolChoice);
5037 public static implicit operator RealtimeToolChoice(RealtimeDefaultToolChoice defaultToolChoice);
5038 }
5039 [Experimental("OPENAI002")]
5040 public class RealtimeTracing : IJsonModel<RealtimeTracing>, IPersistableModel<RealtimeTracing> {
5041 public RealtimeTracing(RealtimeCustomTracing customTracing);
5042 public RealtimeTracing(RealtimeDefaultTracing defaultTracing);
5043 public RealtimeCustomTracing CustomTracing { get; }
5044 public RealtimeDefaultTracing? DefaultTracing { get; }
5045 [Serialization.JsonIgnore]
5046 [EditorBrowsable(EditorBrowsableState.Never)]
5047 [Experimental("SCME0001")]
5048 public ref JsonPatch Patch { get; }
5049 public static implicit operator RealtimeTracing(RealtimeCustomTracing customTracing);
5050 public static implicit operator RealtimeTracing(RealtimeDefaultTracing defaultTracing);
5051 }
5052 [Experimental("OPENAI002")]
5053 public class RealtimeTranscriptionDurationUsage : RealtimeTranscriptionUsage, IJsonModel<RealtimeTranscriptionDurationUsage>, IPersistableModel<RealtimeTranscriptionDurationUsage> {
5054 public TimeSpan Duration { get; }
5055 }
5056 [Experimental("OPENAI002")]
5057 public class RealtimeTranscriptionInputTokenUsageDetails : IJsonModel<RealtimeTranscriptionInputTokenUsageDetails>, IPersistableModel<RealtimeTranscriptionInputTokenUsageDetails> {
5058 public int? AudioTokenCount { get; }
5059 [Serialization.JsonIgnore]
5060 [EditorBrowsable(EditorBrowsableState.Never)]
5061 [Experimental("SCME0001")]
5062 public ref JsonPatch Patch { get; }
5063 public int? TextTokenCount { get; }
5064 }
5065 [Experimental("OPENAI002")]
5066 public class RealtimeTranscriptionSession : RealtimeSession, IJsonModel<RealtimeTranscriptionSession>, IPersistableModel<RealtimeTranscriptionSession> {
5067 public RealtimeTranscriptionSessionAudioOptions AudioOptions { get; set; }
5068 public DateTimeOffset? ExpiresAt { get; }
5069 public string Id { get; }
5070 public IList<RealtimeIncludedProperty> IncludedProperties { get; }
5071 public string Object { get; }
5072 }
5073 [Experimental("OPENAI002")]
5074 public class RealtimeTranscriptionSessionAudioOptions : IJsonModel<RealtimeTranscriptionSessionAudioOptions>, IPersistableModel<RealtimeTranscriptionSessionAudioOptions> {
5075 public RealtimeTranscriptionSessionInputAudioOptions InputAudioOptions { get; set; }
5076 [Serialization.JsonIgnore]
5077 [EditorBrowsable(EditorBrowsableState.Never)]
5078 [Experimental("SCME0001")]
5079 public ref JsonPatch Patch { get; }
5080 }
5081 [Experimental("OPENAI002")]
5082 public class RealtimeTranscriptionSessionInputAudioOptions : IJsonModel<RealtimeTranscriptionSessionInputAudioOptions>, IPersistableModel<RealtimeTranscriptionSessionInputAudioOptions> {
5083 public RealtimeAudioFormat AudioFormat { get; set; }
5084 public RealtimeAudioTranscriptionOptions AudioTranscriptionOptions { get; set; }
5085 public RealtimeNoiseReduction NoiseReduction { get; set; }
5086 [Serialization.JsonIgnore]
5087 [EditorBrowsable(EditorBrowsableState.Never)]
5088 [Experimental("SCME0001")]
5089 public ref JsonPatch Patch { get; }
5090 public RealtimeTurnDetection TurnDetection { get; set; }
5091 public void DisableTurnDetection();
5092 }
5093 [Experimental("OPENAI002")]
5094 public class RealtimeTranscriptionSessionOptions : RealtimeSessionOptions, IJsonModel<RealtimeTranscriptionSessionOptions>, IPersistableModel<RealtimeTranscriptionSessionOptions> {
5095 public RealtimeTranscriptionSessionOptions();
5096 public RealtimeTranscriptionSessionAudioOptions AudioOptions { get; set; }
5097 public IList<RealtimeIncludedProperty> IncludedProperties { get; }
5098 }
5099 [Experimental("OPENAI002")]
5100 public class RealtimeTranscriptionTokenUsage : RealtimeTranscriptionUsage, IJsonModel<RealtimeTranscriptionTokenUsage>, IPersistableModel<RealtimeTranscriptionTokenUsage> {
5101 public int InputTokenCount { get; }
5102 public RealtimeTranscriptionInputTokenUsageDetails InputTokenDetails { get; }
5103 public int OutputTokenCount { get; }
5104 public int TotalTokenCount { get; }
5105 }
5106 [Experimental("OPENAI002")]
5107 public class RealtimeTranscriptionUsage : IJsonModel<RealtimeTranscriptionUsage>, IPersistableModel<RealtimeTranscriptionUsage> {
5108 [Serialization.JsonIgnore]
5109 [EditorBrowsable(EditorBrowsableState.Never)]
5110 [Experimental("SCME0001")]
5111 public ref JsonPatch Patch { get; }
5112 }
5113 [Experimental("OPENAI002")]
5114 public class RealtimeTruncation : IJsonModel<RealtimeTruncation>, IPersistableModel<RealtimeTruncation> {
5115 public RealtimeTruncation(RealtimeCustomTruncation customTruncation);
5116 public RealtimeTruncation(RealtimeDefaultTruncation defaultTruncation);
5117 public RealtimeCustomTruncation CustomTruncation { get; }
5118 public RealtimeDefaultTruncation? DefaultTruncation { get; }
5119 [Serialization.JsonIgnore]
5120 [EditorBrowsable(EditorBrowsableState.Never)]
5121 [Experimental("SCME0001")]
5122 public ref JsonPatch Patch { get; }
5123 public static implicit operator RealtimeTruncation(RealtimeCustomTruncation customTruncation);
5124 public static implicit operator RealtimeTruncation(RealtimeDefaultTruncation defaultTruncation);
5125 }
5126 [Experimental("OPENAI002")]
5127 public class RealtimeTurnDetection : IJsonModel<RealtimeTurnDetection>, IPersistableModel<RealtimeTurnDetection> {
5128 [Serialization.JsonIgnore]
5129 [EditorBrowsable(EditorBrowsableState.Never)]
5130 [Experimental("SCME0001")]
5131 public ref JsonPatch Patch { get; }
5132 }
5133 [Experimental("OPENAI002")]
5134 public readonly partial struct RealtimeVoice : IEquatable<RealtimeVoice> {
5135 public RealtimeVoice(string value);
5136 public static RealtimeVoice Alloy { get; }
5137 public static RealtimeVoice Ash { get; }
5138 public static RealtimeVoice Ballad { get; }
5139 public static RealtimeVoice Cedar { get; }
5140 public static RealtimeVoice Coral { get; }
5141 public static RealtimeVoice Echo { get; }
5142 public static RealtimeVoice Marin { get; }
5143 public static RealtimeVoice Sage { get; }
5144 public static RealtimeVoice Shimmer { get; }
5145 public static RealtimeVoice Verse { get; }
5146 public readonly bool Equals(RealtimeVoice other);
5147 [EditorBrowsable(EditorBrowsableState.Never)]
5148 public override readonly bool Equals(object obj);
5149 [EditorBrowsable(EditorBrowsableState.Never)]
5150 public override readonly int GetHashCode();
5151 public static bool operator ==(RealtimeVoice left, RealtimeVoice right);
5152 public static implicit operator RealtimeVoice(string value);
5153 public static implicit operator RealtimeVoice?(string value);
5154 public static bool operator !=(RealtimeVoice left, RealtimeVoice right);
5155 public override readonly string ToString();
5156 }
5157}
5158namespace OpenAI.Skills {
5159 [Experimental("OPENAI001")]
5160 public class SkillClient {
5161 protected SkillClient();
5162 [Experimental("SCME0002")]
5163 public SkillClient(SkillClientSettings settings);
5164 public SkillClient(ApiKeyCredential credential, OpenAIClientOptions options);
5165 public SkillClient(ApiKeyCredential credential);
5166 public SkillClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
5167 public SkillClient(AuthenticationPolicy authenticationPolicy);
5168 protected internal SkillClient(ClientPipeline pipeline, OpenAIClientOptions options);
5169 public SkillClient(string apiKey);
5170 [Experimental("OPENAI001")]
5171 public Uri Endpoint { get; }
5172 public ClientPipeline Pipeline { get; }
5173 public virtual ClientResult CreateSkill(BinaryContent content, string contentType, RequestOptions options = null);
5174 public virtual Task<ClientResult> CreateSkillAsync(BinaryContent content, string contentType, RequestOptions options = null);
5175 public virtual ClientResult CreateSkillVersion(string skillId, BinaryContent content, string contentType, RequestOptions options = null);
5176 public virtual Task<ClientResult> CreateSkillVersionAsync(string skillId, BinaryContent content, string contentType, RequestOptions options = null);
5177 public virtual ClientResult DeleteSkill(string skillId, RequestOptions options = null);
5178 public virtual Task<ClientResult> DeleteSkillAsync(string skillId, RequestOptions options = null);
5179 public virtual ClientResult DeleteSkillVersion(string skillId, string version, RequestOptions options = null);
5180 public virtual Task<ClientResult> DeleteSkillVersionAsync(string skillId, string version, RequestOptions options = null);
5181 public virtual ClientResult DownloadSkillVersionContent(string skillId, string version, RequestOptions options = null);
5182 public virtual Task<ClientResult> DownloadSkillVersionContentAsync(string skillId, string version, RequestOptions options = null);
5183 public virtual ClientResult GetSkill(string skillId, RequestOptions options = null);
5184 public virtual Task<ClientResult> GetSkillAsync(string skillId, RequestOptions options = null);
5185 public virtual ClientResult GetSkillContent(string skillId, RequestOptions options = null);
5186 public virtual Task<ClientResult> GetSkillContentAsync(string skillId, RequestOptions options = null);
5187 public virtual ClientResult GetSkills(int? limit = null, string order = null, string after = null, RequestOptions options = null);
5188 public virtual Task<ClientResult> GetSkillsAsync(int? limit = null, string order = null, string after = null, RequestOptions options = null);
5189 public virtual ClientResult GetSkillVersion(string skillId, string version, RequestOptions options = null);
5190 public virtual Task<ClientResult> GetSkillVersionAsync(string skillId, string version, RequestOptions options = null);
5191 public virtual ClientResult GetSkillVersions(string skillId, int? limit = null, string order = null, string after = null, RequestOptions options = null);
5192 public virtual Task<ClientResult> GetSkillVersionsAsync(string skillId, int? limit = null, string order = null, string after = null, RequestOptions options = null);
5193 public virtual ClientResult UpdateSkill(string skillId, BinaryContent content, string contentType, RequestOptions options = null);
5194 public virtual Task<ClientResult> UpdateSkillAsync(string skillId, BinaryContent content, string contentType, RequestOptions options = null);
5195 }
5196 [Experimental("SCME0002")]
5197 public sealed class SkillClientSettings : ClientSettings {
5198 public OpenAIClientOptions Options { get; set; }
5199 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
5200 }
5201}
5202namespace OpenAI.VectorStores {
5203 [Experimental("OPENAI001")]
5204 public abstract class FileChunkingStrategy : IJsonModel<FileChunkingStrategy>, IPersistableModel<FileChunkingStrategy> {
5205 public static FileChunkingStrategy Auto { get; }
5206 public static FileChunkingStrategy Unknown { get; }
5207 public static FileChunkingStrategy CreateStaticStrategy(int maxTokensPerChunk, int overlappingTokenCount);
5208 }
5209 [Experimental("OPENAI001")]
5210 public class FileFromStoreRemovalResult : IJsonModel<FileFromStoreRemovalResult>, IPersistableModel<FileFromStoreRemovalResult> {
5211 public string FileId { get; }
5212 public bool Removed { get; }
5213 public static explicit operator FileFromStoreRemovalResult(ClientResult result);
5214 }
5215 [Experimental("OPENAI001")]
5216 public class StaticFileChunkingStrategy : FileChunkingStrategy, IJsonModel<StaticFileChunkingStrategy>, IPersistableModel<StaticFileChunkingStrategy> {
5217 public StaticFileChunkingStrategy(int maxTokensPerChunk, int overlappingTokenCount);
5218 public int MaxTokensPerChunk { get; }
5219 public int OverlappingTokenCount { get; }
5220 }
5221 [Experimental("OPENAI001")]
5222 public class VectorStore : IJsonModel<VectorStore>, IPersistableModel<VectorStore> {
5223 public DateTimeOffset CreatedAt { get; }
5224 public VectorStoreExpirationPolicy ExpirationPolicy { get; }
5225 public DateTimeOffset? ExpiresAt { get; }
5226 public VectorStoreFileCounts FileCounts { get; }
5227 public string Id { get; }
5228 public DateTimeOffset? LastActiveAt { get; }
5229 public IReadOnlyDictionary<string, string> Metadata { get; }
5230 public string Name { get; }
5231 public VectorStoreStatus Status { get; }
5232 public int UsageBytes { get; }
5233 public static explicit operator VectorStore(ClientResult result);
5234 }
5235 [Experimental("OPENAI001")]
5236 public class VectorStoreClient {
5237 protected VectorStoreClient();
5238 [Experimental("SCME0002")]
5239 public VectorStoreClient(VectorStoreClientSettings settings);
5240 public VectorStoreClient(ApiKeyCredential credential, OpenAIClientOptions options);
5241 public VectorStoreClient(ApiKeyCredential credential);
5242 public VectorStoreClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
5243 public VectorStoreClient(AuthenticationPolicy authenticationPolicy);
5244 protected internal VectorStoreClient(ClientPipeline pipeline, OpenAIClientOptions options);
5245 public VectorStoreClient(string apiKey);
5246 [Experimental("OPENAI001")]
5247 public Uri Endpoint { get; }
5248 public ClientPipeline Pipeline { get; }
5249 public virtual ClientResult AddFileBatchToVectorStore(string vectorStoreId, BinaryContent content, RequestOptions options = null);
5250 public virtual ClientResult<VectorStoreFileBatch> AddFileBatchToVectorStore(string vectorStoreId, IEnumerable<string> fileIds, CancellationToken cancellationToken = default);
5251 public virtual Task<ClientResult> AddFileBatchToVectorStoreAsync(string vectorStoreId, BinaryContent content, RequestOptions options = null);
5252 public virtual Task<ClientResult<VectorStoreFileBatch>> AddFileBatchToVectorStoreAsync(string vectorStoreId, IEnumerable<string> fileIds, CancellationToken cancellationToken = default);
5253 public virtual ClientResult AddFileToVectorStore(string vectorStoreId, BinaryContent content, RequestOptions options = null);
5254 public virtual ClientResult<VectorStoreFile> AddFileToVectorStore(string vectorStoreId, string fileId, CancellationToken cancellationToken = default);
5255 public virtual Task<ClientResult> AddFileToVectorStoreAsync(string vectorStoreId, BinaryContent content, RequestOptions options = null);
5256 public virtual Task<ClientResult<VectorStoreFile>> AddFileToVectorStoreAsync(string vectorStoreId, string fileId, CancellationToken cancellationToken = default);
5257 public virtual ClientResult CancelVectorStoreFileBatch(string vectorStoreId, string batchId, RequestOptions options);
5258 public virtual ClientResult<VectorStoreFileBatch> CancelVectorStoreFileBatch(string vectorStoreId, string batchId, CancellationToken cancellationToken = default);
5259 public virtual Task<ClientResult> CancelVectorStoreFileBatchAsync(string vectorStoreId, string batchId, RequestOptions options);
5260 public virtual Task<ClientResult<VectorStoreFileBatch>> CancelVectorStoreFileBatchAsync(string vectorStoreId, string batchId, CancellationToken cancellationToken = default);
5261 public virtual ClientResult<VectorStore> CreateVectorStore(VectorStoreCreationOptions options = null, CancellationToken cancellationToken = default);
5262 public virtual ClientResult CreateVectorStore(BinaryContent content, RequestOptions options = null);
5263 public virtual Task<ClientResult<VectorStore>> CreateVectorStoreAsync(VectorStoreCreationOptions options = null, CancellationToken cancellationToken = default);
5264 public virtual Task<ClientResult> CreateVectorStoreAsync(BinaryContent content, RequestOptions options = null);
5265 public virtual ClientResult DeleteVectorStore(string vectorStoreId, RequestOptions options);
5266 public virtual ClientResult<VectorStoreDeletionResult> DeleteVectorStore(string vectorStoreId, CancellationToken cancellationToken = default);
5267 public virtual Task<ClientResult> DeleteVectorStoreAsync(string vectorStoreId, RequestOptions options);
5268 public virtual Task<ClientResult<VectorStoreDeletionResult>> DeleteVectorStoreAsync(string vectorStoreId, CancellationToken cancellationToken = default);
5269 public virtual ClientResult GetVectorStore(string vectorStoreId, RequestOptions options);
5270 public virtual ClientResult<VectorStore> GetVectorStore(string vectorStoreId, CancellationToken cancellationToken = default);
5271 public virtual Task<ClientResult> GetVectorStoreAsync(string vectorStoreId, RequestOptions options);
5272 public virtual Task<ClientResult<VectorStore>> GetVectorStoreAsync(string vectorStoreId, CancellationToken cancellationToken = default);
5273 public virtual ClientResult GetVectorStoreFile(string vectorStoreId, string fileId, RequestOptions options);
5274 public virtual ClientResult<VectorStoreFile> GetVectorStoreFile(string vectorStoreId, string fileId, CancellationToken cancellationToken = default);
5275 public virtual Task<ClientResult> GetVectorStoreFileAsync(string vectorStoreId, string fileId, RequestOptions options);
5276 public virtual Task<ClientResult<VectorStoreFile>> GetVectorStoreFileAsync(string vectorStoreId, string fileId, CancellationToken cancellationToken = default);
5277 public virtual ClientResult GetVectorStoreFileBatch(string vectorStoreId, string batchId, RequestOptions options);
5278 public virtual ClientResult<VectorStoreFileBatch> GetVectorStoreFileBatch(string vectorStoreId, string batchId, CancellationToken cancellationToken = default);
5279 public virtual Task<ClientResult> GetVectorStoreFileBatchAsync(string vectorStoreId, string batchId, RequestOptions options);
5280 public virtual Task<ClientResult<VectorStoreFileBatch>> GetVectorStoreFileBatchAsync(string vectorStoreId, string batchId, CancellationToken cancellationToken = default);
5281 public virtual CollectionResult<VectorStoreFile> GetVectorStoreFiles(string vectorStoreId, VectorStoreFileCollectionOptions options = null, CancellationToken cancellationToken = default);
5282 public virtual CollectionResult GetVectorStoreFiles(string vectorStoreId, int? limit, string order, string after, string before, string filter, RequestOptions options);
5283 public virtual AsyncCollectionResult<VectorStoreFile> GetVectorStoreFilesAsync(string vectorStoreId, VectorStoreFileCollectionOptions options = null, CancellationToken cancellationToken = default);
5284 public virtual AsyncCollectionResult GetVectorStoreFilesAsync(string vectorStoreId, int? limit, string order, string after, string before, string filter, RequestOptions options);
5285 public virtual CollectionResult<VectorStoreFile> GetVectorStoreFilesInBatch(string vectorStoreId, string batchId, VectorStoreFileCollectionOptions options = null, CancellationToken cancellationToken = default);
5286 public virtual CollectionResult GetVectorStoreFilesInBatch(string vectorStoreId, string batchId, int? limit, string order, string after, string before, string filter, RequestOptions options);
5287 public virtual AsyncCollectionResult<VectorStoreFile> GetVectorStoreFilesInBatchAsync(string vectorStoreId, string batchId, VectorStoreFileCollectionOptions options = null, CancellationToken cancellationToken = default);
5288 public virtual AsyncCollectionResult GetVectorStoreFilesInBatchAsync(string vectorStoreId, string batchId, int? limit, string order, string after, string before, string filter, RequestOptions options);
5289 public virtual CollectionResult<VectorStore> GetVectorStores(VectorStoreCollectionOptions options = null, CancellationToken cancellationToken = default);
5290 public virtual CollectionResult GetVectorStores(int? limit, string order, string after, string before, RequestOptions options);
5291 public virtual AsyncCollectionResult<VectorStore> GetVectorStoresAsync(VectorStoreCollectionOptions options = null, CancellationToken cancellationToken = default);
5292 public virtual AsyncCollectionResult GetVectorStoresAsync(int? limit, string order, string after, string before, RequestOptions options);
5293 public virtual ClientResult<VectorStore> ModifyVectorStore(string vectorStoreId, VectorStoreModificationOptions options, CancellationToken cancellationToken = default);
5294 public virtual ClientResult ModifyVectorStore(string vectorStoreId, BinaryContent content, RequestOptions options = null);
5295 public virtual Task<ClientResult<VectorStore>> ModifyVectorStoreAsync(string vectorStoreId, VectorStoreModificationOptions options, CancellationToken cancellationToken = default);
5296 public virtual Task<ClientResult> ModifyVectorStoreAsync(string vectorStoreId, BinaryContent content, RequestOptions options = null);
5297 public virtual ClientResult RemoveFileFromVectorStore(string vectorStoreId, string fileId, RequestOptions options);
5298 public virtual ClientResult<FileFromStoreRemovalResult> RemoveFileFromVectorStore(string vectorStoreId, string fileId, CancellationToken cancellationToken = default);
5299 public virtual Task<ClientResult> RemoveFileFromVectorStoreAsync(string vectorStoreId, string fileId, RequestOptions options);
5300 public virtual Task<ClientResult<FileFromStoreRemovalResult>> RemoveFileFromVectorStoreAsync(string vectorStoreId, string fileId, CancellationToken cancellationToken = default);
5301 public virtual ClientResult RetrieveVectorStoreFileContent(string vectorStoreId, string fileId, RequestOptions options);
5302 public virtual Task<ClientResult> RetrieveVectorStoreFileContentAsync(string vectorStoreId, string fileId, RequestOptions options);
5303 public virtual ClientResult SearchVectorStore(string vectorStoreId, BinaryContent content, RequestOptions options = null);
5304 public virtual Task<ClientResult> SearchVectorStoreAsync(string vectorStoreId, BinaryContent content, RequestOptions options = null);
5305 public virtual ClientResult UpdateVectorStoreFileAttributes(string vectorStoreId, string fileId, BinaryContent content, RequestOptions options = null);
5306 public virtual ClientResult<VectorStoreFile> UpdateVectorStoreFileAttributes(string vectorStoreId, string fileId, IDictionary<string, BinaryData> attributes, CancellationToken cancellationToken = default);
5307 public virtual Task<ClientResult> UpdateVectorStoreFileAttributesAsync(string vectorStoreId, string fileId, BinaryContent content, RequestOptions options = null);
5308 public virtual Task<ClientResult<VectorStoreFile>> UpdateVectorStoreFileAttributesAsync(string vectorStoreId, string fileId, IDictionary<string, BinaryData> attributes, CancellationToken cancellationToken = default);
5309 }
5310 [Experimental("SCME0002")]
5311 public sealed class VectorStoreClientSettings : ClientSettings {
5312 public OpenAIClientOptions Options { get; set; }
5313 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
5314 }
5315 [Experimental("OPENAI001")]
5316 public class VectorStoreCollectionOptions : IJsonModel<VectorStoreCollectionOptions>, IPersistableModel<VectorStoreCollectionOptions> {
5317 public string AfterId { get; set; }
5318 public string BeforeId { get; set; }
5319 public VectorStoreCollectionOrder? Order { get; set; }
5320 public int? PageSizeLimit { get; set; }
5321 }
5322 [Experimental("OPENAI001")]
5323 public readonly partial struct VectorStoreCollectionOrder : IEquatable<VectorStoreCollectionOrder> {
5324 public VectorStoreCollectionOrder(string value);
5325 public static VectorStoreCollectionOrder Ascending { get; }
5326 public static VectorStoreCollectionOrder Descending { get; }
5327 public readonly bool Equals(VectorStoreCollectionOrder other);
5328 [EditorBrowsable(EditorBrowsableState.Never)]
5329 public override readonly bool Equals(object obj);
5330 [EditorBrowsable(EditorBrowsableState.Never)]
5331 public override readonly int GetHashCode();
5332 public static bool operator ==(VectorStoreCollectionOrder left, VectorStoreCollectionOrder right);
5333 public static implicit operator VectorStoreCollectionOrder(string value);
5334 public static implicit operator VectorStoreCollectionOrder?(string value);
5335 public static bool operator !=(VectorStoreCollectionOrder left, VectorStoreCollectionOrder right);
5336 public override readonly string ToString();
5337 }
5338 [Experimental("OPENAI001")]
5339 public class VectorStoreCreationOptions : IJsonModel<VectorStoreCreationOptions>, IPersistableModel<VectorStoreCreationOptions> {
5340 public FileChunkingStrategy ChunkingStrategy { get; set; }
5341 public string Description { get; set; }
5342 public VectorStoreExpirationPolicy ExpirationPolicy { get; set; }
5343 public IList<string> FileIds { get; }
5344 public IDictionary<string, string> Metadata { get; }
5345 public string Name { get; set; }
5346 }
5347 [Experimental("OPENAI001")]
5348 public class VectorStoreDeletionResult : IJsonModel<VectorStoreDeletionResult>, IPersistableModel<VectorStoreDeletionResult> {
5349 public bool Deleted { get; }
5350 public string VectorStoreId { get; }
5351 public static explicit operator VectorStoreDeletionResult(ClientResult result);
5352 }
5353 [Experimental("OPENAI001")]
5354 public enum VectorStoreExpirationAnchor {
5355 Unknown = 0,
5356 LastActiveAt = 1
5357 }
5358 [Experimental("OPENAI001")]
5359 public class VectorStoreExpirationPolicy : IJsonModel<VectorStoreExpirationPolicy>, IPersistableModel<VectorStoreExpirationPolicy> {
5360 public VectorStoreExpirationPolicy(VectorStoreExpirationAnchor anchor, int days);
5361 public VectorStoreExpirationAnchor Anchor { get; set; }
5362 public int Days { get; set; }
5363 }
5364 [Experimental("OPENAI001")]
5365 public class VectorStoreFile : IJsonModel<VectorStoreFile>, IPersistableModel<VectorStoreFile> {
5366 public IDictionary<string, BinaryData> Attributes { get; }
5367 public FileChunkingStrategy ChunkingStrategy { get; }
5368 public DateTimeOffset CreatedAt { get; }
5369 public string FileId { get; }
5370 public VectorStoreFileError LastError { get; }
5371 public VectorStoreFileStatus Status { get; }
5372 public long? UsageInBytes { get; }
5373 public string VectorStoreId { get; }
5374 public static explicit operator VectorStoreFile(ClientResult result);
5375 }
5376 [Experimental("OPENAI001")]
5377 public class VectorStoreFileBatch : IJsonModel<VectorStoreFileBatch>, IPersistableModel<VectorStoreFileBatch> {
5378 public string BatchId { get; }
5379 public DateTimeOffset CreatedAt { get; }
5380 public VectorStoreFileCounts FileCounts { get; }
5381 public VectorStoreFileBatchStatus Status { get; }
5382 public string VectorStoreId { get; }
5383 public static explicit operator VectorStoreFileBatch(ClientResult result);
5384 }
5385 [Experimental("OPENAI001")]
5386 public readonly partial struct VectorStoreFileBatchStatus : IEquatable<VectorStoreFileBatchStatus> {
5387 public VectorStoreFileBatchStatus(string value);
5388 public static VectorStoreFileBatchStatus Cancelled { get; }
5389 public static VectorStoreFileBatchStatus Completed { get; }
5390 public static VectorStoreFileBatchStatus Failed { get; }
5391 public static VectorStoreFileBatchStatus InProgress { get; }
5392 public readonly bool Equals(VectorStoreFileBatchStatus other);
5393 [EditorBrowsable(EditorBrowsableState.Never)]
5394 public override readonly bool Equals(object obj);
5395 [EditorBrowsable(EditorBrowsableState.Never)]
5396 public override readonly int GetHashCode();
5397 public static bool operator ==(VectorStoreFileBatchStatus left, VectorStoreFileBatchStatus right);
5398 public static implicit operator VectorStoreFileBatchStatus(string value);
5399 public static implicit operator VectorStoreFileBatchStatus?(string value);
5400 public static bool operator !=(VectorStoreFileBatchStatus left, VectorStoreFileBatchStatus right);
5401 public override readonly string ToString();
5402 }
5403 [Experimental("OPENAI001")]
5404 public class VectorStoreFileCollectionOptions : IJsonModel<VectorStoreFileCollectionOptions>, IPersistableModel<VectorStoreFileCollectionOptions> {
5405 public string AfterId { get; set; }
5406 public string BeforeId { get; set; }
5407 public VectorStoreFileStatusFilter? Filter { get; set; }
5408 public VectorStoreFileCollectionOrder? Order { get; set; }
5409 public int? PageSizeLimit { get; set; }
5410 }
5411 [Experimental("OPENAI001")]
5412 public readonly partial struct VectorStoreFileCollectionOrder : IEquatable<VectorStoreFileCollectionOrder> {
5413 public VectorStoreFileCollectionOrder(string value);
5414 public static VectorStoreFileCollectionOrder Ascending { get; }
5415 public static VectorStoreFileCollectionOrder Descending { get; }
5416 public readonly bool Equals(VectorStoreFileCollectionOrder other);
5417 [EditorBrowsable(EditorBrowsableState.Never)]
5418 public override readonly bool Equals(object obj);
5419 [EditorBrowsable(EditorBrowsableState.Never)]
5420 public override readonly int GetHashCode();
5421 public static bool operator ==(VectorStoreFileCollectionOrder left, VectorStoreFileCollectionOrder right);
5422 public static implicit operator VectorStoreFileCollectionOrder(string value);
5423 public static implicit operator VectorStoreFileCollectionOrder?(string value);
5424 public static bool operator !=(VectorStoreFileCollectionOrder left, VectorStoreFileCollectionOrder right);
5425 public override readonly string ToString();
5426 }
5427 [Experimental("OPENAI001")]
5428 public class VectorStoreFileCounts : IJsonModel<VectorStoreFileCounts>, IPersistableModel<VectorStoreFileCounts> {
5429 public int Cancelled { get; }
5430 public int Completed { get; }
5431 public int Failed { get; }
5432 public int InProgress { get; }
5433 public int Total { get; }
5434 }
5435 [Experimental("OPENAI001")]
5436 public class VectorStoreFileError : IJsonModel<VectorStoreFileError>, IPersistableModel<VectorStoreFileError> {
5437 public VectorStoreFileErrorCode Code { get; }
5438 public string Message { get; }
5439 }
5440 [Experimental("OPENAI001")]
5441 public readonly partial struct VectorStoreFileErrorCode : IEquatable<VectorStoreFileErrorCode> {
5442 public VectorStoreFileErrorCode(string value);
5443 public static VectorStoreFileErrorCode InvalidFile { get; }
5444 public static VectorStoreFileErrorCode ServerError { get; }
5445 public static VectorStoreFileErrorCode UnsupportedFile { get; }
5446 public readonly bool Equals(VectorStoreFileErrorCode other);
5447 [EditorBrowsable(EditorBrowsableState.Never)]
5448 public override readonly bool Equals(object obj);
5449 [EditorBrowsable(EditorBrowsableState.Never)]
5450 public override readonly int GetHashCode();
5451 public static bool operator ==(VectorStoreFileErrorCode left, VectorStoreFileErrorCode right);
5452 public static implicit operator VectorStoreFileErrorCode(string value);
5453 public static implicit operator VectorStoreFileErrorCode?(string value);
5454 public static bool operator !=(VectorStoreFileErrorCode left, VectorStoreFileErrorCode right);
5455 public override readonly string ToString();
5456 }
5457 [Experimental("OPENAI001")]
5458 public enum VectorStoreFileStatus {
5459 Unknown = 0,
5460 InProgress = 1,
5461 Completed = 2,
5462 Cancelled = 3,
5463 Failed = 4
5464 }
5465 [Experimental("OPENAI001")]
5466 public readonly partial struct VectorStoreFileStatusFilter : IEquatable<VectorStoreFileStatusFilter> {
5467 public VectorStoreFileStatusFilter(string value);
5468 public static VectorStoreFileStatusFilter Cancelled { get; }
5469 public static VectorStoreFileStatusFilter Completed { get; }
5470 public static VectorStoreFileStatusFilter Failed { get; }
5471 public static VectorStoreFileStatusFilter InProgress { get; }
5472 public readonly bool Equals(VectorStoreFileStatusFilter other);
5473 [EditorBrowsable(EditorBrowsableState.Never)]
5474 public override readonly bool Equals(object obj);
5475 [EditorBrowsable(EditorBrowsableState.Never)]
5476 public override readonly int GetHashCode();
5477 public static bool operator ==(VectorStoreFileStatusFilter left, VectorStoreFileStatusFilter right);
5478 public static implicit operator VectorStoreFileStatusFilter(string value);
5479 public static implicit operator VectorStoreFileStatusFilter?(string value);
5480 public static bool operator !=(VectorStoreFileStatusFilter left, VectorStoreFileStatusFilter right);
5481 public override readonly string ToString();
5482 }
5483 [Experimental("OPENAI001")]
5484 public class VectorStoreModificationOptions : IJsonModel<VectorStoreModificationOptions>, IPersistableModel<VectorStoreModificationOptions> {
5485 public VectorStoreExpirationPolicy ExpirationPolicy { get; set; }
5486 public IDictionary<string, string> Metadata { get; }
5487 public string Name { get; set; }
5488 }
5489 [Experimental("OPENAI001")]
5490 public enum VectorStoreStatus {
5491 Unknown = 0,
5492 InProgress = 1,
5493 Completed = 2,
5494 Expired = 3
5495 }
5496}
5497namespace OpenAI.Videos {
5498 [Experimental("OPENAI001")]
5499 public class VideoClient {
5500 protected VideoClient();
5501 [Experimental("SCME0002")]
5502 public VideoClient(VideoClientSettings settings);
5503 public VideoClient(ApiKeyCredential credential, OpenAIClientOptions options);
5504 public VideoClient(ApiKeyCredential credential);
5505 public VideoClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
5506 public VideoClient(AuthenticationPolicy authenticationPolicy);
5507 protected internal VideoClient(ClientPipeline pipeline, OpenAIClientOptions options);
5508 public VideoClient(string apiKey);
5509 [Experimental("OPENAI001")]
5510 public Uri Endpoint { get; }
5511 public ClientPipeline Pipeline { get; }
5512 public virtual ClientResult CreateVideo(BinaryContent content, string contentType, RequestOptions options = null);
5513 public virtual Task<ClientResult> CreateVideoAsync(BinaryContent content, string contentType, RequestOptions options = null);
5514 public virtual ClientResult CreateVideoRemix(string videoId, BinaryContent content, string contentType, RequestOptions options = null);
5515 public virtual Task<ClientResult> CreateVideoRemixAsync(string videoId, BinaryContent content, string contentType, RequestOptions options = null);
5516 public virtual ClientResult DeleteVideo(string videoId, RequestOptions options = null);
5517 public virtual Task<ClientResult> DeleteVideoAsync(string videoId, RequestOptions options = null);
5518 public virtual ClientResult DownloadVideo(string videoId, string variant = null, RequestOptions options = null);
5519 public virtual Task<ClientResult> DownloadVideoAsync(string videoId, string variant = null, RequestOptions options = null);
5520 public virtual ClientResult GetVideo(string videoId, RequestOptions options = null);
5521 public virtual Task<ClientResult> GetVideoAsync(string videoId, RequestOptions options = null);
5522 public virtual CollectionResult GetVideos(int? limit = null, string order = null, string after = null, RequestOptions options = null);
5523 public virtual AsyncCollectionResult GetVideosAsync(int? limit = null, string order = null, string after = null, RequestOptions options = null);
5524 }
5525 [Experimental("SCME0002")]
5526 public sealed class VideoClientSettings : ClientSettings {
5527 public OpenAIClientOptions Options { get; set; }
5528 protected override void BindCore(Microsoft.Extensions.Configuration.IConfigurationSection section);
5529 }
5530}