Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/Custom/Assistants/AssistantClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ namespace OpenAI.Assistants;
[CodeGenSuppress("AssistantClient", typeof(ClientPipeline), typeof(ApiKeyCredential), typeof(Uri))]
[CodeGenSuppress("CreateAssistantAsync", typeof(AssistantCreationOptions))]
[CodeGenSuppress("CreateAssistant", typeof(AssistantCreationOptions))]
[CodeGenSuppress("DeleteAssistantAsync", typeof(string))]
[CodeGenSuppress("DeleteAssistant", typeof(string))]
[CodeGenSuppress("GetAssistantsAsync", typeof(int?), typeof(ListOrder?), typeof(string), typeof(string))]
[CodeGenSuppress("GetAssistants", typeof(int?), typeof(ListOrder?), typeof(string), typeof(string))]
public partial class AssistantClient
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Text.Json;

namespace OpenAI.Assistants;

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.CodeInterpreterToolDefinition>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
public partial class CodeInterpreterToolDefinition : IJsonModel<CodeInterpreterToolDefinition>
{
void IJsonModel<CodeInterpreterToolDefinition>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance(this, SerializeCodeInterpreterToolDefinition, writer, options);

internal static void SerializeCodeInterpreterToolDefinition(CodeInterpreterToolDefinition instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected override void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("type"u8);
writer.WriteStringValue(Type);
writer.WriteSerializedAdditionalRawData(_serializedAdditionalRawData, options);
writer.WriteEndObject();
}
}
26 changes: 26 additions & 0 deletions src/Custom/Assistants/FileSearchToolDefinition.Serialization.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Text.Json;

namespace OpenAI.Assistants;

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.FileSearchToolDefinition>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
public partial class FileSearchToolDefinition : IJsonModel<FileSearchToolDefinition>
{
void IJsonModel<FileSearchToolDefinition>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance(this, SerializeFileSearchToolDefinition, writer, options);

internal static void SerializeFileSearchToolDefinition(FileSearchToolDefinition instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected override void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("type"u8);
writer.WriteStringValue(Type);
writer.WriteSerializedAdditionalRawData(_serializedAdditionalRawData, options);
writer.WriteEndObject();
}
}
28 changes: 28 additions & 0 deletions src/Custom/Assistants/FunctionToolDefinition.Serialization.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Text.Json;

namespace OpenAI.Assistants;

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.FunctionToolDefinition>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
public partial class FunctionToolDefinition : IJsonModel<FunctionToolDefinition>
{
void IJsonModel<FunctionToolDefinition>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance<ToolDefinition, FunctionToolDefinition>(this, SerializeFunctionToolDefinition, writer, options);

internal static void SerializeFunctionToolDefinition(FunctionToolDefinition instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected override void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("function"u8);
writer.WriteObjectValue<InternalFunctionDefinition>(_internalFunction, options);
writer.WritePropertyName("type"u8);
writer.WriteStringValue(Type);
writer.WriteSerializedAdditionalRawData(_serializedAdditionalRawData, options);
writer.WriteEndObject();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Text.Json;

namespace OpenAI.Assistants;

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.InternalMessageImageFileContent>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
internal partial class InternalMessageImageFileContent : IJsonModel<InternalMessageImageFileContent>
{
void IJsonModel<InternalMessageImageFileContent>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance(this, SerializeInternalMessageImageFileContent, writer, options);

internal static void SerializeInternalMessageImageFileContent(InternalMessageImageFileContent instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected override void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("type"u8);
writer.WriteStringValue(_type);
writer.WritePropertyName("image_file"u8);
writer.WriteObjectValue<InternalMessageContentItemFileObjectImageFile>(_imageFile, options);
writer.WriteSerializedAdditionalRawData(_serializedAdditionalRawData, options);
writer.WriteEndObject();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Text.Json;

namespace OpenAI.Assistants;

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.InternalMessageImageUrlContent>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
internal partial class InternalMessageImageUrlContent : IJsonModel<InternalMessageImageUrlContent>
{
void IJsonModel<InternalMessageImageUrlContent>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance(this, SerializeInternalMessageImageUrlContent, writer, options);

internal static void SerializeInternalMessageImageUrlContent(InternalMessageImageUrlContent instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected override void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("type"u8);
writer.WriteStringValue(_type);
writer.WritePropertyName("image_url"u8);
writer.WriteObjectValue<InternalMessageContentImageUrlObjectImageUrl>(_imageUrl, options);
writer.WriteSerializedAdditionalRawData(_serializedAdditionalRawData, options);
writer.WriteEndObject();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Text.Json;

namespace OpenAI.Assistants;

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.InternalRequestMessageTextContent>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
internal partial class InternalRequestMessageTextContent : IJsonModel<InternalRequestMessageTextContent>
{
void IJsonModel<InternalRequestMessageTextContent>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance(this, SerializeInternalRequestMessageTextContent, writer, options);

internal static void SerializeInternalRequestMessageTextContent(InternalRequestMessageTextContent instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected override void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("type"u8);
writer.WriteStringValue(Type.ToString());
writer.WritePropertyName("text"u8);
writer.WriteStringValue(InternalText);
writer.WriteSerializedAdditionalRawData(_serializedAdditionalRawData, options);
writer.WriteEndObject();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Text.Json;

namespace OpenAI.Assistants;

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.InternalResponseMessageTextContent>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
internal partial class InternalResponseMessageTextContent : IJsonModel<InternalResponseMessageTextContent>
{
void IJsonModel<InternalResponseMessageTextContent>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance(this, SerializeInternalResponseMessageTextContent, writer, options);

internal static void SerializeInternalResponseMessageTextContent(InternalResponseMessageTextContent instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected override void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("type"u8);
writer.WriteStringValue(_type);
writer.WritePropertyName("text"u8);
writer.WriteObjectValue<MessageContentTextObjectText>(_text, options);
writer.WriteSerializedAdditionalRawData(_serializedAdditionalRawData, options);
writer.WriteEndObject();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Text.Json;

namespace OpenAI.Assistants;

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.ToolDefinition>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
internal partial class UnknownAssistantToolDefinition : IJsonModel<ToolDefinition>
{
void IJsonModel<ToolDefinition>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance<ToolDefinition, UnknownAssistantToolDefinition>(this, SerializeUnknownAssistantToolDefinition, writer, options);

internal static void SerializeUnknownAssistantToolDefinition(UnknownAssistantToolDefinition instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected override void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("type"u8);
writer.WriteStringValue(Type);
writer.WriteSerializedAdditionalRawData(_serializedAdditionalRawData, options);
writer.WriteEndObject();
}
}
14 changes: 12 additions & 2 deletions src/Custom/Assistants/MessageContent.Serialization.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,18 @@
using System.Text.Json;

namespace OpenAI.Assistants;
public partial class MessageContent : IJsonModel<MessageContent>

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.MessageContent>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
public abstract partial class MessageContent : IJsonModel<MessageContent>
{
void IJsonModel<MessageContent>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance(this, WriteCore, writer, options);

internal static void WriteCore(MessageContent instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected abstract void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options);

internal static MessageContent DeserializeMessageContent(JsonElement element, ModelReaderWriterOptions options = null)
{
options ??= ModelSerializationExtensions.WireOptions;
Expand All @@ -28,4 +38,4 @@ internal static MessageContent DeserializeMessageContent(JsonElement element, Mo

return null;
}
}
}
19 changes: 19 additions & 0 deletions src/Custom/Assistants/ToolDefinition.Serialization.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using System;
using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text.Json;

namespace OpenAI.Assistants;

[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Assistants.ToolDefinition>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
public abstract partial class ToolDefinition : IJsonModel<ToolDefinition>
{
void IJsonModel<ToolDefinition>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> CustomSerializationHelpers.SerializeInstance(this, WriteCore, writer, options);

internal static void WriteCore(ToolDefinition instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
=> instance.WriteCore(writer, options);

protected abstract void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options);
}
Loading