From 6a2d60740f42e280be299fc62ad8eff5f3750c75 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sun, 28 Dec 2025 21:06:46 +0100 Subject: [PATCH] Rename `ContentType` to `SubContentType` for clarity & moved into the provider space --- .../Provider/OpenAI/ISubContent.cs | 2 +- .../Provider/OpenAI/SubContentImageUrl.cs | 4 ++-- .../Provider/OpenAI/SubContentInputImage.cs | 4 ++-- .../Provider/OpenAI/SubContentInputText.cs | 4 ++-- .../Provider/OpenAI/SubContentText.cs | 4 ++-- .../ContentType.cs => SubContentType.cs} | 21 ++++++++++++------- 6 files changed, 22 insertions(+), 17 deletions(-) rename app/MindWork AI Studio/Provider/{OpenAI/ContentType.cs => SubContentType.cs} (79%) diff --git a/app/MindWork AI Studio/Provider/OpenAI/ISubContent.cs b/app/MindWork AI Studio/Provider/OpenAI/ISubContent.cs index dd375b5a..165d07b1 100644 --- a/app/MindWork AI Studio/Provider/OpenAI/ISubContent.cs +++ b/app/MindWork AI Studio/Provider/OpenAI/ISubContent.cs @@ -8,5 +8,5 @@ public interface ISubContent /// /// The type of the sub-content. /// - public ContentType Type { get; init; } + public SubContentType Type { get; init; } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Provider/OpenAI/SubContentImageUrl.cs b/app/MindWork AI Studio/Provider/OpenAI/SubContentImageUrl.cs index 87860e03..fe190fb8 100644 --- a/app/MindWork AI Studio/Provider/OpenAI/SubContentImageUrl.cs +++ b/app/MindWork AI Studio/Provider/OpenAI/SubContentImageUrl.cs @@ -3,9 +3,9 @@ namespace AIStudio.Provider.OpenAI; /// /// Image sub-content for multimodal messages. /// -public record SubContentImageUrl(ContentType Type, string ImageUrl) : ISubContent +public record SubContentImageUrl(SubContentType Type, string ImageUrl) : ISubContent { - public SubContentImageUrl() : this(ContentType.IMAGE_URL, string.Empty) + public SubContentImageUrl() : this(SubContentType.IMAGE_URL, string.Empty) { } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Provider/OpenAI/SubContentInputImage.cs b/app/MindWork AI Studio/Provider/OpenAI/SubContentInputImage.cs index 4d631f38..21144952 100644 --- a/app/MindWork AI Studio/Provider/OpenAI/SubContentInputImage.cs +++ b/app/MindWork AI Studio/Provider/OpenAI/SubContentInputImage.cs @@ -6,9 +6,9 @@ namespace AIStudio.Provider.OpenAI; /// /// Right now, this is used only by OpenAI in its responses API. /// -public record SubContentInputImage(ContentType Type, string ImageUrl) : ISubContent +public record SubContentInputImage(SubContentType Type, string ImageUrl) : ISubContent { - public SubContentInputImage() : this(ContentType.INPUT_IMAGE, string.Empty) + public SubContentInputImage() : this(SubContentType.INPUT_IMAGE, string.Empty) { } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Provider/OpenAI/SubContentInputText.cs b/app/MindWork AI Studio/Provider/OpenAI/SubContentInputText.cs index 167d2dd3..30fb51d8 100644 --- a/app/MindWork AI Studio/Provider/OpenAI/SubContentInputText.cs +++ b/app/MindWork AI Studio/Provider/OpenAI/SubContentInputText.cs @@ -6,9 +6,9 @@ namespace AIStudio.Provider.OpenAI; /// /// Right now, this is used only by OpenAI in its responses API. /// -public record SubContentInputText(ContentType Type, string Text) : ISubContent +public record SubContentInputText(SubContentType Type, string Text) : ISubContent { - public SubContentInputText() : this(ContentType.INPUT_TEXT, string.Empty) + public SubContentInputText() : this(SubContentType.INPUT_TEXT, string.Empty) { } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Provider/OpenAI/SubContentText.cs b/app/MindWork AI Studio/Provider/OpenAI/SubContentText.cs index 57e0f9ad..f94dd710 100644 --- a/app/MindWork AI Studio/Provider/OpenAI/SubContentText.cs +++ b/app/MindWork AI Studio/Provider/OpenAI/SubContentText.cs @@ -3,9 +3,9 @@ namespace AIStudio.Provider.OpenAI; /// /// Text sub-content for multimodal messages. /// -public record SubContentText(ContentType Type, string Text) : ISubContent +public record SubContentText(SubContentType Type, string Text) : ISubContent { - public SubContentText() : this(ContentType.TEXT, string.Empty) + public SubContentText() : this(SubContentType.TEXT, string.Empty) { } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Provider/OpenAI/ContentType.cs b/app/MindWork AI Studio/Provider/SubContentType.cs similarity index 79% rename from app/MindWork AI Studio/Provider/OpenAI/ContentType.cs rename to app/MindWork AI Studio/Provider/SubContentType.cs index beba8cf8..cca2d802 100644 --- a/app/MindWork AI Studio/Provider/OpenAI/ContentType.cs +++ b/app/MindWork AI Studio/Provider/SubContentType.cs @@ -1,9 +1,9 @@ -namespace AIStudio.Provider.OpenAI; +namespace AIStudio.Provider; /// -/// Content types for OpenAI API interactions when using multimodal messages. +/// Sub content types for OpenAI-compatible API interactions when using multimodal messages. /// -public enum ContentType +public enum SubContentType { /// /// Default type for user prompts in multimodal messages. This type is supported across all providers. @@ -22,13 +22,18 @@ public enum ContentType /// INPUT_IMAGE, - /// - /// Right now only supported by OpenAI (responses & chat completion API), Google (chat completions API), and Mistral (chat completions API). - /// - INPUT_AUDIO, - /// /// Default type for images in multimodal messages. This type is supported across all providers. /// IMAGE_URL, + + /// + /// The image type is used exclusively by Anthropic's messages API. + /// + IMAGE, + + /// + /// Right now only supported by OpenAI (responses & chat completion API), Google (chat completions API), and Mistral (chat completions API). + /// + INPUT_AUDIO, } \ No newline at end of file