@@ -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; }
@@ -2861,6 +2899,59 @@ public class DeleteContainerResponse : IJsonModel<DeleteContainerResponse>, IPer
28612899 protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options);
28622900 }
28632901}
2902+ namespace OpenAI.Conversations {
2903+ [Experimental("OPENAI001")]
2904+ public class ConversationClient {
2905+ protected ConversationClient();
2906+ public ConversationClient(ApiKeyCredential credential, OpenAIClientOptions options);
2907+ public ConversationClient(ApiKeyCredential credential);
2908+ public ConversationClient(AuthenticationPolicy authenticationPolicy, OpenAIClientOptions options);
2909+ public ConversationClient(AuthenticationPolicy authenticationPolicy);
2910+ protected internal ConversationClient(ClientPipeline pipeline, OpenAIClientOptions options);
2911+ public ConversationClient(string apiKey);
2912+ [Experimental("OPENAI001")]
2913+ public Uri Endpoint { get; }
2914+ public ClientPipeline Pipeline { get; }
2915+ public virtual ClientResult CreateConversation(BinaryContent content, RequestOptions options = null);
2916+ public virtual Task<ClientResult> CreateConversationAsync(BinaryContent content, RequestOptions options = null);
2917+ public virtual ClientResult CreateConversationItems(string conversationId, BinaryContent content, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2918+ public virtual Task<ClientResult> CreateConversationItemsAsync(string conversationId, BinaryContent content, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2919+ public virtual ClientResult DeleteConversation(string conversationId, RequestOptions options = null);
2920+ public virtual Task<ClientResult> DeleteConversationAsync(string conversationId, RequestOptions options = null);
2921+ public virtual ClientResult DeleteConversationItem(string conversationId, string itemId, RequestOptions options = null);
2922+ public virtual Task<ClientResult> DeleteConversationItemAsync(string conversationId, string itemId, RequestOptions options = null);
2923+ public virtual ClientResult GetConversation(string conversationId, RequestOptions options = null);
2924+ public virtual Task<ClientResult> GetConversationAsync(string conversationId, RequestOptions options = null);
2925+ public virtual ClientResult GetConversationItem(string conversationId, string itemId, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2926+ public virtual Task<ClientResult> GetConversationItemAsync(string conversationId, string itemId, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2927+ public virtual ClientResult GetConversationItems(string conversationId, long? limit = null, string order = null, string after = null, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2928+ public virtual Task<ClientResult> GetConversationItemsAsync(string conversationId, long? limit = null, string order = null, string after = null, IEnumerable<IncludedConversationItemProperty> include = null, RequestOptions options = null);
2929+ public virtual ClientResult UpdateConversation(string conversationId, BinaryContent content, RequestOptions options = null);
2930+ public virtual Task<ClientResult> UpdateConversationAsync(string conversationId, BinaryContent content, RequestOptions options = null);
2931+ }
2932+ [Experimental("OPENAI001")]
2933+ public readonly partial struct IncludedConversationItemProperty : IEquatable<IncludedConversationItemProperty> {
2934+ public IncludedConversationItemProperty(string value);
2935+ public static IncludedConversationItemProperty CodeInterpreterCallOutputs { get; }
2936+ public static IncludedConversationItemProperty ComputerCallOutputImageUri { get; }
2937+ public static IncludedConversationItemProperty FileSearchCallResults { get; }
2938+ public static IncludedConversationItemProperty MessageInputImageUri { get; }
2939+ public static IncludedConversationItemProperty MessageOutputTextLogprobs { get; }
2940+ public static IncludedConversationItemProperty ReasoningEncryptedContent { get; }
2941+ public static IncludedConversationItemProperty WebSearchCallActionSources { get; }
2942+ public static IncludedConversationItemProperty WebSearchCallResults { get; }
2943+ public readonly bool Equals(IncludedConversationItemProperty other);
2944+ [EditorBrowsable(EditorBrowsableState.Never)]
2945+ public override readonly bool Equals(object obj);
2946+ [EditorBrowsable(EditorBrowsableState.Never)]
2947+ public override readonly int GetHashCode();
2948+ public static bool operator ==(IncludedConversationItemProperty left, IncludedConversationItemProperty right);
2949+ public static implicit operator IncludedConversationItemProperty(string value);
2950+ public static implicit operator IncludedConversationItemProperty?(string value);
2951+ public static bool operator !=(IncludedConversationItemProperty left, IncludedConversationItemProperty right);
2952+ public override readonly string ToString();
2953+ }
2954+ }
28642955namespace OpenAI.Embeddings {
28652956 public class EmbeddingClient {
28662957 protected EmbeddingClient();
@@ -6057,6 +6148,7 @@ public class ResponseItem : IJsonModel<ResponseItem>, IPersistableModel<Response
60576148 public static WebSearchCallResponseItem CreateWebSearchCallItem();
60586149 protected virtual ResponseItem JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options);
60596150 protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options);
6151+ public static explicit operator ResponseItem(ClientResult result);
60606152 protected virtual ResponseItem PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options);
60616153 protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options);
60626154 }
0 commit comments