@@ -20,6 +20,8 @@ public class OpenAIClient {
2020 public virtual ChatClient GetChatClient(string model);
2121 [Experimental("OPENAI001")]
2222 public virtual ContainerClient GetContainerClient();
23+ [Experimental("OPENAI001")]
24+ public virtual ConversationClient GetConversationClient();
2325 public virtual EmbeddingClient GetEmbeddingClient(string model);
2426 [Experimental("OPENAI001")]
2527 public virtual EvaluationClient GetEvaluationClient();
@@ -1403,10 +1405,46 @@ public class BatchClient {
14031405 public virtual Task<CreateBatchOperation> CreateBatchAsync(BinaryContent content, bool waitUntilCompleted, RequestOptions options = null);
14041406 public virtual ClientResult GetBatch(string batchId, RequestOptions options);
14051407 public virtual Task<ClientResult> GetBatchAsync(string batchId, RequestOptions options);
1408+ public virtual CollectionResult<BatchJob> GetBatches(BatchCollectionOptions options = null, CancellationToken cancellationToken = default);
14061409 public virtual CollectionResult GetBatches(string after, int? limit, RequestOptions options);
1410+ public virtual AsyncCollectionResult<BatchJob> GetBatchesAsync(BatchCollectionOptions options = null, CancellationToken cancellationToken = default);
14071411 public virtual AsyncCollectionResult GetBatchesAsync(string after, int? limit, RequestOptions options);
14081412 }
14091413 [Experimental("OPENAI001")]
1414+ public class BatchCollectionOptions : IJsonModel<BatchCollectionOptions>, IPersistableModel<BatchCollectionOptions> {
1415+ public string AfterId { get; set; }
1416+ public int? PageSizeLimit { get; set; }
1417+ protected virtual BatchCollectionOptions JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options);
1418+ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options);
1419+ protected virtual BatchCollectionOptions PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options);
1420+ protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options);
1421+ }
1422+ [Experimental("OPENAI001")]
1423+ public class BatchJob : IJsonModel<BatchJob>, IPersistableModel<BatchJob> {
1424+ public DateTimeOffset? CancelledAt { get; }
1425+ public DateTimeOffset? CancellingAt { get; }
1426+ public DateTimeOffset? CompletedAt { get; }
1427+ public string CompletionWindow { get; }
1428+ public DateTimeOffset CreatedAt { get; }
1429+ public string Endpoint { get; }
1430+ public string ErrorFileId { get; }
1431+ public DateTimeOffset? ExpiredAt { get; }
1432+ public DateTimeOffset? ExpiresAt { get; }
1433+ public DateTimeOffset? FailedAt { get; }
1434+ public DateTimeOffset? FinalizingAt { get; }
1435+ public string Id { get; }
1436+ public DateTimeOffset? InProgressAt { get; }
1437+ public string InputFileId { get; }
1438+ public IDictionary<string, string> Metadata { get; }
1439+ public string Object { get; }
1440+ public string OutputFileId { get; }
1441+ protected virtual BatchJob JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options);
1442+ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options);
1443+ public static explicit operator BatchJob(ClientResult result);
1444+ protected virtual BatchJob PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options);
1445+ protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options);
1446+ }
1447+ [Experimental("OPENAI001")]
14101448 public class CreateBatchOperation : OperationResult {
14111449 public string BatchId { get; }
14121450 public override ContinuationToken? RehydrationToken { get; protected set; }
@@ -2560,6 +2598,59 @@ public class DeleteContainerResponse : IJsonModel<DeleteContainerResponse>, IPer
25602598 protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options);
25612599 }
25622600}
2601+ namespace OpenAI.Conversations {
2602+ [Experimental("OPENAI001")]
2603+ public class ConversationClient {
2604+ protected ConversationClient();
2605+ public ConversationClient(ApiKeyCredential credential, OpenAIClientOptions options);
2606+ public ConversationClient(ApiKeyCredential credential);
2607+ public ConversationClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
2608+ public ConversationClient(AuthenticationPolicy authenticationPolicy);
2609+ protected internal ConversationClient(ClientPipeline pipeline, OpenAIClientOptions options);
2610+ public ConversationClient(string apiKey);
2611+ [Experimental("OPENAI001")]
2612+ public Uri Endpoint { get; }
2613+ public ClientPipeline Pipeline { get; }
2614+ public virtual ClientResult CreateConversation(BinaryContent content, RequestOptions options = null);
2615+ public virtual Task<ClientResult> CreateConversationAsync(BinaryContent content, RequestOptions options = null);
2616+ public virtual ClientResult CreateConversationItems(string conversationId, BinaryContent content, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2617+ public virtual Task<ClientResult> CreateConversationItemsAsync(string conversationId, BinaryContent content, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2618+ public virtual ClientResult DeleteConversation(string conversationId, RequestOptions options = null);
2619+ public virtual Task<ClientResult> DeleteConversationAsync(string conversationId, RequestOptions options = null);
2620+ public virtual ClientResult DeleteConversationItem(string conversationId, string itemId, RequestOptions options = null);
2621+ public virtual Task<ClientResult> DeleteConversationItemAsync(string conversationId, string itemId, RequestOptions options = null);
2622+ public virtual ClientResult GetConversation(string conversationId, RequestOptions options = null);
2623+ public virtual Task<ClientResult> GetConversationAsync(string conversationId, RequestOptions options = null);
2624+ public virtual ClientResult GetConversationItem(string conversationId, string itemId, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2625+ public virtual Task<ClientResult> GetConversationItemAsync(string conversationId, string itemId, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2626+ public virtual CollectionResult GetConversationItems(string conversationId, long? limit = null, string order = null, string after = null, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2627+ public virtual AsyncCollectionResult GetConversationItemsAsync(string conversationId, long? limit = null, string order = null, string after = null, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2628+ public virtual ClientResult UpdateConversation(string conversationId, BinaryContent content, RequestOptions options = null);
2629+ public virtual Task<ClientResult> UpdateConversationAsync(string conversationId, BinaryContent content, RequestOptions options = null);
2630+ }
2631+ [Experimental("OPENAI001")]
2632+ public readonly partial struct IncludedConversationItemProperty : IEquatable<IncludedConversationItemProperty> {
2633+ public IncludedConversationItemProperty(string value);
2634+ public static IncludedConversationItemProperty CodeInterpreterCallOutputs { get; }
2635+ public static IncludedConversationItemProperty ComputerCallOutputImageUri { get; }
2636+ public static IncludedConversationItemProperty FileSearchCallResults { get; }
2637+ public static IncludedConversationItemProperty MessageInputImageUri { get; }
2638+ public static IncludedConversationItemProperty MessageOutputTextLogprobs { get; }
2639+ public static IncludedConversationItemProperty ReasoningEncryptedContent { get; }
2640+ public static IncludedConversationItemProperty WebSearchCallActionSources { get; }
2641+ public static IncludedConversationItemProperty WebSearchCallResults { get; }
2642+ public readonly bool Equals(IncludedConversationItemProperty other);
2643+ [EditorBrowsable(EditorBrowsableState.Never)]
2644+ public override readonly bool Equals(object obj);
2645+ [EditorBrowsable(EditorBrowsableState.Never)]
2646+ public override readonly int GetHashCode();
2647+ public static bool operator ==(IncludedConversationItemProperty left, IncludedConversationItemProperty right);
2648+ public static implicit operator IncludedConversationItemProperty(string value);
2649+ public static implicit operator IncludedConversationItemProperty?(string value);
2650+ public static bool operator !=(IncludedConversationItemProperty left, IncludedConversationItemProperty right);
2651+ public override readonly string ToString();
2652+ }
2653+ }
25632654namespace OpenAI.Embeddings {
25642655 public class EmbeddingClient {
25652656 protected EmbeddingClient();
@@ -5756,6 +5847,7 @@ public class ResponseItem : IJsonModel<ResponseItem>, IPersistableModel<Response
57565847 public static WebSearchCallResponseItem CreateWebSearchCallItem();
57575848 protected virtual ResponseItem JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options);
57585849 protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options);
5850+ public static explicit operator ResponseItem(ClientResult result);
57595851 protected virtual ResponseItem PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options);
57605852 protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options);
57615853 }
0 commit comments