// #nullable disable using System.ClientModel; using System.ClientModel.Primitives; using OpenAI; namespace OpenAI.Assistants { public partial class AssistantClient { private static PipelineMessageClassifier _pipelineMessageClassifier200; private static PipelineMessageClassifier PipelineMessageClassifier200 => _pipelineMessageClassifier200 ??= PipelineMessageClassifier.Create(stackalloc ushort[] { 200 }); // Plugin customization: make PipelineMessage creation methods virtual internal virtual PipelineMessage CreateGetAssistantsRequest(int? limit, string order, string after, string before, RequestOptions options) { ClientUriBuilder uri = new ClientUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/assistants", false); if (limit != null) { uri.AppendQuery("limit", TypeFormatters.ConvertToString(limit), true); } if (order != null) { uri.AppendQuery("order", order, true); } if (after != null) { uri.AppendQuery("after", after, true); } if (before != null) { uri.AppendQuery("before", before, true); } PipelineMessage message = Pipeline.CreateMessage(uri.ToUri(), "GET", PipelineMessageClassifier200); PipelineRequest request = message.Request; request.Headers.Set("Accept", "application/json"); request.Headers.Set("OpenAI-Beta", "assistants=v2"); message.Apply(options); return message; } // Plugin customization: make PipelineMessage creation methods virtual internal virtual PipelineMessage CreateCreateAssistantRequest(BinaryContent content, RequestOptions options) { ClientUriBuilder uri = new ClientUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/assistants", false); PipelineMessage message = Pipeline.CreateMessage(uri.ToUri(), "POST", PipelineMessageClassifier200); PipelineRequest request = message.Request; request.Headers.Set("Accept", "application/json"); request.Headers.Set("OpenAI-Beta", "assistants=v2"); request.Headers.Set("Content-Type", "application/json"); request.Content = content; message.Apply(options); return message; } // Plugin customization: make PipelineMessage creation methods virtual internal virtual PipelineMessage CreateGetAssistantRequest(string assistantId, RequestOptions options) { ClientUriBuilder uri = new ClientUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/assistants/", false); uri.AppendPath(assistantId, true); PipelineMessage message = Pipeline.CreateMessage(uri.ToUri(), "GET", PipelineMessageClassifier200); PipelineRequest request = message.Request; request.Headers.Set("Accept", "application/json"); request.Headers.Set("OpenAI-Beta", "assistants=v2"); message.Apply(options); return message; } // Plugin customization: make PipelineMessage creation methods virtual internal virtual PipelineMessage CreateModifyAssistantRequest(string assistantId, BinaryContent content, RequestOptions options) { ClientUriBuilder uri = new ClientUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/assistants/", false); uri.AppendPath(assistantId, true); PipelineMessage message = Pipeline.CreateMessage(uri.ToUri(), "POST", PipelineMessageClassifier200); PipelineRequest request = message.Request; request.Headers.Set("Accept", "application/json"); request.Headers.Set("OpenAI-Beta", "assistants=v2"); request.Headers.Set("Content-Type", "application/json"); request.Content = content; message.Apply(options); return message; } // Plugin customization: make PipelineMessage creation methods virtual internal virtual PipelineMessage CreateDeleteAssistantRequest(string assistantId, RequestOptions options) { ClientUriBuilder uri = new ClientUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/assistants/", false); uri.AppendPath(assistantId, true); PipelineMessage message = Pipeline.CreateMessage(uri.ToUri(), "DELETE", PipelineMessageClassifier200); PipelineRequest request = message.Request; request.Headers.Set("Accept", "application/json"); request.Headers.Set("OpenAI-Beta", "assistants=v2"); message.Apply(options); return message; } } }