diff --git a/src/libs/OpenRouter/Generated/OpenRouter.IOpenRouterClient.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.IOpenRouterClient.g.cs
index 5244815..b7c3ee2 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.IOpenRouterClient.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.IOpenRouterClient.g.cs
@@ -119,6 +119,11 @@ public partial interface IOpenRouterClient : global::System.IDisposable
///
public SubpackageOrganizationClient SubpackageOrganization { get; }
+ ///
+ ///
+ ///
+ public SubpackagePresetsClient SubpackagePresets { get; }
+
///
///
///
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.ISubpackagePresetsClient.CreatePresetsChatCompletions.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackagePresetsClient.CreatePresetsChatCompletions.g.cs
new file mode 100644
index 0000000..e8eb854
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackagePresetsClient.CreatePresetsChatCompletions.g.cs
@@ -0,0 +1,185 @@
+#nullable enable
+
+namespace OpenRouter
+{
+ public partial interface ISubpackagePresetsClient
+ {
+ ///
+ /// Create a preset from a chat-completions request body
+ /// Creates a preset (or a new version of an existing one) from an inference request body. Only fields that overlap with the preset config are persisted; other fields (e.g. `messages`, `stream`, `prompt`) are silently ignored.
+ ///
+ ///
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task CreatePresetsChatCompletionsAsync(
+ string slug,
+
+ global::OpenRouter.ChatRequest request,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ ///
+ /// Create a preset from a chat-completions request body
+ /// Creates a preset (or a new version of an existing one) from an inference request body. Only fields that overlap with the preset config are persisted; other fields (e.g. `messages`, `stream`, `prompt`) are silently ignored.
+ ///
+ ///
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task> CreatePresetsChatCompletionsAsResponseAsync(
+ string slug,
+
+ global::OpenRouter.ChatRequest request,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ ///
+ /// Create a preset from a chat-completions request body
+ /// Creates a preset (or a new version of an existing one) from an inference request body. Only fields that overlap with the preset config are persisted; other fields (e.g. `messages`, `stream`, `prompt`) are silently ignored.
+ ///
+ ///
+ ///
+ /// Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. Currently supported for Anthropic Claude models.
+ ///
+ ///
+ /// Debug options for inspecting request transformations (streaming only)
+ ///
+ ///
+ /// Frequency penalty (-2.0 to 2.0)
+ ///
+ ///
+ ///
+ /// Token logit bias adjustments
+ ///
+ ///
+ /// Return log probabilities
+ ///
+ ///
+ /// Maximum tokens in completion
+ ///
+ ///
+ /// Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16.
+ ///
+ ///
+ /// List of messages for the conversation
+ ///
+ ///
+ /// Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)
+ ///
+ ///
+ /// Output modalities for the response. Supported values are "text", "image", and "audio".
+ ///
+ ///
+ /// Model to use for completion
+ ///
+ ///
+ /// Models to use for completion
+ ///
+ ///
+ /// Whether to enable parallel function calling during tool use. When true, the model may generate multiple tool calls in a single response.
+ ///
+ ///
+ /// Plugins you want to enable for this request, including their settings.
+ ///
+ ///
+ /// Presence penalty (-2.0 to 2.0)
+ ///
+ ///
+ /// When multiple model providers are available, optionally indicate your routing preference.
+ ///
+ ///
+ /// Configuration options for reasoning models
+ ///
+ ///
+ /// Response format configuration
+ ///
+ ///
+ /// Any type
+ ///
+ ///
+ /// Random seed for deterministic outputs
+ ///
+ ///
+ /// The service tier to use for processing this request.
+ ///
+ ///
+ /// A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.
+ ///
+ ///
+ /// Stop sequences (up to 4)
+ ///
+ ///
+ /// Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`.
+ ///
+ ///
+ /// Enable streaming response
+ /// Default Value: false
+ ///
+ ///
+ /// Streaming configuration options
+ ///
+ ///
+ /// Sampling temperature (0-2)
+ ///
+ ///
+ /// Tool choice configuration
+ ///
+ ///
+ /// Available tools for function calling
+ ///
+ ///
+ /// Number of top log probabilities to return (0-20)
+ ///
+ ///
+ /// Nucleus sampling parameter (0-1)
+ ///
+ ///
+ /// Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.
+ ///
+ ///
+ /// Unique user identifier
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task CreatePresetsChatCompletionsAsync(
+ string slug,
+ global::System.Collections.Generic.IList messages,
+ global::OpenRouter.AnthropicCacheControlDirective? cacheControl = default,
+ global::OpenRouter.ChatDebugOptions? debug = default,
+ double? frequencyPenalty = default,
+ global::OpenRouter.ImageConfig? imageConfig = default,
+ global::System.Collections.Generic.Dictionary? logitBias = default,
+ bool? logprobs = default,
+ int? maxCompletionTokens = default,
+ int? maxTokens = default,
+ global::System.Collections.Generic.Dictionary? metadata = default,
+ global::System.Collections.Generic.IList? modalities = default,
+ string? model = default,
+ global::System.Collections.Generic.IList? models = default,
+ bool? parallelToolCalls = default,
+ global::System.Collections.Generic.IList? plugins = default,
+ double? presencePenalty = default,
+ global::OpenRouter.ProviderPreferences? provider = default,
+ global::OpenRouter.ChatRequestReasoning? reasoning = default,
+ global::OpenRouter.ChatRequestResponseFormat? responseFormat = default,
+ object? route = default,
+ int? seed = default,
+ global::OpenRouter.OneOf? serviceTier = default,
+ string? sessionId = default,
+ global::OpenRouter.ChatRequestStop? stop = default,
+ global::System.Collections.Generic.IList? stopServerToolsWhen = default,
+ bool? stream = default,
+ global::OpenRouter.ChatStreamOptions? streamOptions = default,
+ double? temperature = default,
+ global::OpenRouter.ChatToolChoice? toolChoice = default,
+ global::System.Collections.Generic.IList? tools = default,
+ int? topLogprobs = default,
+ double? topP = default,
+ global::OpenRouter.TraceConfig? trace = default,
+ string? user = default,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.ISubpackagePresetsClient.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackagePresetsClient.g.cs
new file mode 100644
index 0000000..599c995
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackagePresetsClient.g.cs
@@ -0,0 +1,48 @@
+
+#nullable enable
+
+namespace OpenRouter
+{
+ ///
+ /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used.
+ ///
+ public partial interface ISubpackagePresetsClient : global::System.IDisposable
+ {
+ ///
+ /// The HttpClient instance.
+ ///
+ public global::System.Net.Http.HttpClient HttpClient { get; }
+
+ ///
+ /// The base URL for the API.
+ ///
+ public System.Uri? BaseUri { get; }
+
+ ///
+ /// The authorizations to use for the requests.
+ ///
+ public global::System.Collections.Generic.List Authorizations { get; }
+
+ ///
+ /// Gets or sets a value indicating whether the response content should be read as a string.
+ /// True by default in debug builds, false otherwise.
+ /// When false, successful responses are deserialized directly from the response stream for better performance.
+ /// Error responses are always read as strings regardless of this setting,
+ /// ensuring is populated.
+ ///
+ public bool ReadResponseAsString { get; set; }
+ ///
+ /// Client-wide request defaults such as headers, query parameters, retries, and timeout.
+ ///
+ public global::OpenRouter.AutoSDKClientOptions Options { get; }
+
+
+ ///
+ ///
+ ///
+ global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; }
+
+
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.PresetWithDesignatedVersionStatus.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.PresetWithDesignatedVersionStatus.g.cs
new file mode 100644
index 0000000..d4fc146
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.PresetWithDesignatedVersionStatus.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class PresetWithDesignatedVersionStatusJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.PresetWithDesignatedVersionStatus Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.PresetWithDesignatedVersionStatusExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.PresetWithDesignatedVersionStatus)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.PresetWithDesignatedVersionStatus);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.PresetWithDesignatedVersionStatus value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::OpenRouter.PresetWithDesignatedVersionStatusExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusNullable.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusNullable.g.cs
new file mode 100644
index 0000000..0ffe71f
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace OpenRouter.JsonConverters
+{
+ ///
+ public sealed class PresetWithDesignatedVersionStatusNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::OpenRouter.PresetWithDesignatedVersionStatus? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::OpenRouter.PresetWithDesignatedVersionStatusExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::OpenRouter.PresetWithDesignatedVersionStatus)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::OpenRouter.PresetWithDesignatedVersionStatus?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::OpenRouter.PresetWithDesignatedVersionStatus? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::OpenRouter.PresetWithDesignatedVersionStatusExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonSerializerContext.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonSerializerContext.g.cs
index 134bac5..3deade7 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.JsonSerializerContext.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonSerializerContext.g.cs
@@ -2289,6 +2289,10 @@ namespace OpenRouter
typeof(global::OpenRouter.JsonConverters.OrganizationMembersGetResponsesContentApplicationJsonSchemaDataItemsRoleNullableJsonConverter),
+ typeof(global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusJsonConverter),
+
+ typeof(global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusNullableJsonConverter),
+
typeof(global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsJsonConverter),
typeof(global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsNullableJsonConverter),
@@ -5442,6 +5446,10 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex
typeof(global::OpenRouter.JsonConverters.OrganizationMembersGetResponsesContentApplicationJsonSchemaDataItemsRoleNullableJsonConverter),
+ typeof(global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusJsonConverter),
+
+ typeof(global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusNullableJsonConverter),
+
typeof(global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsJsonConverter),
typeof(global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsNullableJsonConverter),
@@ -8595,6 +8603,10 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex
typeof(global::OpenRouter.JsonConverters.OrganizationMembersGetResponsesContentApplicationJsonSchemaDataItemsRoleNullableJsonConverter),
+ typeof(global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusJsonConverter),
+
+ typeof(global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusNullableJsonConverter),
+
typeof(global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsJsonConverter),
typeof(global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsNullableJsonConverter),
@@ -11748,6 +11760,10 @@ internal sealed partial class SourceGenerationContextChunk2 : global::System.Tex
typeof(global::OpenRouter.JsonConverters.OrganizationMembersGetResponsesContentApplicationJsonSchemaDataItemsRoleNullableJsonConverter),
+ typeof(global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusJsonConverter),
+
+ typeof(global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusNullableJsonConverter),
+
typeof(global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsJsonConverter),
typeof(global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsNullableJsonConverter),
@@ -12131,6 +12147,10 @@ internal sealed partial class SourceGenerationContextChunk2 : global::System.Tex
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::OpenRouter.OrganizationMembersGetResponsesContentApplicationJsonSchemaDataItems))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::OpenRouter.OrganizationListOrganizationMembersResponse200))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))]
+ [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::OpenRouter.PresetDesignatedVersion))]
+ [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::OpenRouter.PresetWithDesignatedVersionStatus), TypeInfoPropertyName = "PresetWithDesignatedVersionStatus2")]
+ [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::OpenRouter.PresetWithDesignatedVersion))]
+ [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::OpenRouter.CreatePresetFromInferenceResponse))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::OpenRouter.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItems), TypeInfoPropertyName = "ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItems2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::OpenRouter.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsHeadquarters), TypeInfoPropertyName = "ProvidersGetResponsesContentApplicationJsonSchemaDataItemsHeadquarters2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::OpenRouter.ProvidersGetResponsesContentApplicationJsonSchemaDataItems))]
@@ -13519,6 +13539,8 @@ private SourceGenerationContext(global::System.Text.Json.JsonSerializerOptions o
options.Converters.Add(new global::OpenRouter.JsonConverters.UpdateObservabilityDestinationResponseDataDiscriminatorTypeNullableJsonConverter());
options.Converters.Add(new global::OpenRouter.JsonConverters.OrganizationMembersGetResponsesContentApplicationJsonSchemaDataItemsRoleJsonConverter());
options.Converters.Add(new global::OpenRouter.JsonConverters.OrganizationMembersGetResponsesContentApplicationJsonSchemaDataItemsRoleNullableJsonConverter());
+ options.Converters.Add(new global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusJsonConverter());
+ options.Converters.Add(new global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusNullableJsonConverter());
options.Converters.Add(new global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsJsonConverter());
options.Converters.Add(new global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItemsNullableJsonConverter());
options.Converters.Add(new global::OpenRouter.JsonConverters.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsHeadquartersJsonConverter());
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonSerializerContextTypes.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonSerializerContextTypes.g.cs
index da7dbd2..d669bb8 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.JsonSerializerContextTypes.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonSerializerContextTypes.g.cs
@@ -6092,327 +6092,343 @@ public sealed partial class JsonSerializerContextTypes
///
///
///
- public global::OpenRouter.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItems? Type1516 { get; set; }
+ public global::OpenRouter.PresetDesignatedVersion? Type1516 { get; set; }
///
///
///
- public global::OpenRouter.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsHeadquarters? Type1517 { get; set; }
+ public global::OpenRouter.PresetWithDesignatedVersionStatus? Type1517 { get; set; }
///
///
///
- public global::OpenRouter.ProvidersGetResponsesContentApplicationJsonSchemaDataItems? Type1518 { get; set; }
+ public global::OpenRouter.PresetWithDesignatedVersion? Type1518 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1519 { get; set; }
+ public global::OpenRouter.CreatePresetFromInferenceResponse? Type1519 { get; set; }
///
///
///
- public global::OpenRouter.OneOf? Type1520 { get; set; }
+ public global::OpenRouter.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItems? Type1520 { get; set; }
///
///
///
- public global::OpenRouter.ProvidersListProvidersResponse200? Type1521 { get; set; }
+ public global::OpenRouter.ProvidersGetResponsesContentApplicationJsonSchemaDataItemsHeadquarters? Type1521 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1522 { get; set; }
+ public global::OpenRouter.ProvidersGetResponsesContentApplicationJsonSchemaDataItems? Type1522 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderDataCollection? Type1523 { get; set; }
+ public global::System.Collections.Generic.IList? Type1523 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderIgnoreItems? Type1524 { get; set; }
+ public global::OpenRouter.OneOf? Type1524 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderMaxPrice? Type1525 { get; set; }
+ public global::OpenRouter.ProvidersListProvidersResponse200? Type1525 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderOnlyItems? Type1526 { get; set; }
+ public global::System.Collections.Generic.IList? Type1526 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderOrderItems? Type1527 { get; set; }
+ public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderDataCollection? Type1527 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderSort? Type1528 { get; set; }
+ public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderIgnoreItems? Type1528 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProvider? Type1529 { get; set; }
+ public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderMaxPrice? Type1529 { get; set; }
///
///
///
- public global::OpenRouter.OneOf? Type1530 { get; set; }
+ public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderOnlyItems? Type1530 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1531 { get; set; }
+ public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderOrderItems? Type1531 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1532 { get; set; }
+ public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProviderSort? Type1532 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1533 { get; set; }
+ public global::OpenRouter.RerankPostRequestBodyContentApplicationJsonSchemaProvider? Type1533 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostResponsesContentApplicationJsonSchemaResultsItemsDocument? Type1534 { get; set; }
+ public global::OpenRouter.OneOf? Type1534 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostResponsesContentApplicationJsonSchemaResultsItems? Type1535 { get; set; }
+ public global::System.Collections.Generic.IList? Type1535 { get; set; }
///
///
///
- public global::OpenRouter.RerankPostResponsesContentApplicationJsonSchemaUsage? Type1536 { get; set; }
+ public global::System.Collections.Generic.IList? Type1536 { get; set; }
///
///
///
- public global::OpenRouter.RerankCreateRerankResponse200? Type1537 { get; set; }
+ public global::System.Collections.Generic.IList? Type1537 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1538 { get; set; }
+ public global::OpenRouter.RerankPostResponsesContentApplicationJsonSchemaResultsItemsDocument? Type1538 { get; set; }
///
///
///
- public global::OpenRouter.VideoGenerationRequestAspectRatio? Type1539 { get; set; }
+ public global::OpenRouter.RerankPostResponsesContentApplicationJsonSchemaResultsItems? Type1539 { get; set; }
///
///
///
- public global::OpenRouter.FrameImageImageUrl? Type1540 { get; set; }
+ public global::OpenRouter.RerankPostResponsesContentApplicationJsonSchemaUsage? Type1540 { get; set; }
///
///
///
- public global::OpenRouter.FrameImageType? Type1541 { get; set; }
+ public global::OpenRouter.RerankCreateRerankResponse200? Type1541 { get; set; }
///
///
///
- public global::OpenRouter.FrameImageFrameType? Type1542 { get; set; }
+ public global::System.Collections.Generic.IList? Type1542 { get; set; }
///
///
///
- public global::OpenRouter.FrameImage? Type1543 { get; set; }
+ public global::OpenRouter.VideoGenerationRequestAspectRatio? Type1543 { get; set; }
///
///
///
- public global::OpenRouter.ContentPartImageImageUrl? Type1544 { get; set; }
+ public global::OpenRouter.FrameImageImageUrl? Type1544 { get; set; }
///
///
///
- public global::OpenRouter.ContentPartImageType? Type1545 { get; set; }
+ public global::OpenRouter.FrameImageType? Type1545 { get; set; }
///
///
///
- public global::OpenRouter.ContentPartImage? Type1546 { get; set; }
+ public global::OpenRouter.FrameImageFrameType? Type1546 { get; set; }
///
///
///
- public global::OpenRouter.VideoGenerationRequestProviderOptions? Type1547 { get; set; }
+ public global::OpenRouter.FrameImage? Type1547 { get; set; }
///
///
///
- public global::OpenRouter.VideoGenerationRequestProvider? Type1548 { get; set; }
+ public global::OpenRouter.ContentPartImageImageUrl? Type1548 { get; set; }
///
///
///
- public global::OpenRouter.VideoGenerationRequestResolution? Type1549 { get; set; }
+ public global::OpenRouter.ContentPartImageType? Type1549 { get; set; }
///
///
///
- public global::OpenRouter.VideoGenerationRequest? Type1550 { get; set; }
+ public global::OpenRouter.ContentPartImage? Type1550 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1551 { get; set; }
+ public global::OpenRouter.VideoGenerationRequestProviderOptions? Type1551 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1552 { get; set; }
+ public global::OpenRouter.VideoGenerationRequestProvider? Type1552 { get; set; }
///
///
///
- public global::OpenRouter.VideoGenerationResponseStatus? Type1553 { get; set; }
+ public global::OpenRouter.VideoGenerationRequestResolution? Type1553 { get; set; }
///
///
///
- public global::OpenRouter.VideoGenerationUsage? Type1554 { get; set; }
+ public global::OpenRouter.VideoGenerationRequest? Type1554 { get; set; }
///
///
///
- public global::OpenRouter.VideoGenerationResponse? Type1555 { get; set; }
+ public global::System.Collections.Generic.IList? Type1555 { get; set; }
///
///
///
- public global::OpenRouter.VideoModelSupportedAspectRatiosItems? Type1556 { get; set; }
+ public global::System.Collections.Generic.IList? Type1556 { get; set; }
///
///
///
- public global::OpenRouter.VideoModelSupportedFrameImagesItems? Type1557 { get; set; }
+ public global::OpenRouter.VideoGenerationResponseStatus? Type1557 { get; set; }
///
///
///
- public global::OpenRouter.VideoModelSupportedResolutionsItems? Type1558 { get; set; }
+ public global::OpenRouter.VideoGenerationUsage? Type1558 { get; set; }
///
///
///
- public global::OpenRouter.VideoModelSupportedSizesItems? Type1559 { get; set; }
+ public global::OpenRouter.VideoGenerationResponse? Type1559 { get; set; }
///
///
///
- public global::OpenRouter.VideoModel? Type1560 { get; set; }
+ public global::OpenRouter.VideoModelSupportedAspectRatiosItems? Type1560 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1561 { get; set; }
+ public global::OpenRouter.VideoModelSupportedFrameImagesItems? Type1561 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1562 { get; set; }
+ public global::OpenRouter.VideoModelSupportedResolutionsItems? Type1562 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1563 { get; set; }
+ public global::OpenRouter.VideoModelSupportedSizesItems? Type1563 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1564 { get; set; }
+ public global::OpenRouter.VideoModel? Type1564 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1565 { get; set; }
+ public global::System.Collections.Generic.IList? Type1565 { get; set; }
///
///
///
- public global::OpenRouter.VideoModelsListResponse? Type1566 { get; set; }
+ public global::System.Collections.Generic.IList? Type1566 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1567 { get; set; }
+ public global::System.Collections.Generic.IList? Type1567 { get; set; }
///
///
///
- public global::OpenRouter.Workspace? Type1568 { get; set; }
+ public global::System.Collections.Generic.IList? Type1568 { get; set; }
///
///
///
- public global::OpenRouter.ListWorkspacesResponse? Type1569 { get; set; }
+ public global::System.Collections.Generic.IList? Type1569 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1570 { get; set; }
+ public global::OpenRouter.VideoModelsListResponse? Type1570 { get; set; }
///
///
///
- public global::OpenRouter.CreateWorkspaceRequest? Type1571 { get; set; }
+ public global::System.Collections.Generic.IList? Type1571 { get; set; }
///
///
///
- public global::OpenRouter.CreateWorkspaceResponseData? Type1572 { get; set; }
+ public global::OpenRouter.Workspace? Type1572 { get; set; }
///
///
///
- public global::OpenRouter.CreateWorkspaceResponse? Type1573 { get; set; }
+ public global::OpenRouter.ListWorkspacesResponse? Type1573 { get; set; }
///
///
///
- public global::OpenRouter.GetWorkspaceResponseData? Type1574 { get; set; }
+ public global::System.Collections.Generic.IList? Type1574 { get; set; }
///
///
///
- public global::OpenRouter.GetWorkspaceResponse? Type1575 { get; set; }
+ public global::OpenRouter.CreateWorkspaceRequest? Type1575 { get; set; }
///
///
///
- public global::OpenRouter.DeleteWorkspaceResponse? Type1576 { get; set; }
+ public global::OpenRouter.CreateWorkspaceResponseData? Type1576 { get; set; }
///
///
///
- public global::OpenRouter.UpdateWorkspaceRequest? Type1577 { get; set; }
+ public global::OpenRouter.CreateWorkspaceResponse? Type1577 { get; set; }
///
///
///
- public global::OpenRouter.UpdateWorkspaceResponseData? Type1578 { get; set; }
+ public global::OpenRouter.GetWorkspaceResponseData? Type1578 { get; set; }
///
///
///
- public global::OpenRouter.UpdateWorkspaceResponse? Type1579 { get; set; }
+ public global::OpenRouter.GetWorkspaceResponse? Type1579 { get; set; }
///
///
///
- public global::OpenRouter.BulkAddWorkspaceMembersRequest? Type1580 { get; set; }
+ public global::OpenRouter.DeleteWorkspaceResponse? Type1580 { get; set; }
///
///
///
- public global::OpenRouter.WorkspaceMemberRole? Type1581 { get; set; }
+ public global::OpenRouter.UpdateWorkspaceRequest? Type1581 { get; set; }
///
///
///
- public global::OpenRouter.WorkspaceMember? Type1582 { get; set; }
+ public global::OpenRouter.UpdateWorkspaceResponseData? Type1582 { get; set; }
///
///
///
- public global::OpenRouter.BulkAddWorkspaceMembersResponse? Type1583 { get; set; }
+ public global::OpenRouter.UpdateWorkspaceResponse? Type1583 { get; set; }
///
///
///
- public global::System.Collections.Generic.IList? Type1584 { get; set; }
+ public global::OpenRouter.BulkAddWorkspaceMembersRequest? Type1584 { get; set; }
///
///
///
- public global::OpenRouter.BulkRemoveWorkspaceMembersRequest? Type1585 { get; set; }
+ public global::OpenRouter.WorkspaceMemberRole? Type1585 { get; set; }
///
///
///
- public global::OpenRouter.BulkRemoveWorkspaceMembersResponse? Type1586 { get; set; }
+ public global::OpenRouter.WorkspaceMember? Type1586 { get; set; }
///
///
///
- public global::OpenRouter.ExchangeAuthCodeForApiKeyRequest? Type1587 { get; set; }
+ public global::OpenRouter.BulkAddWorkspaceMembersResponse? Type1587 { get; set; }
///
///
///
- public global::OpenRouter.OneOf? Type1588 { get; set; }
+ public global::System.Collections.Generic.IList? Type1588 { get; set; }
///
///
///
- public global::OpenRouter.CreateAuthKeysCodeRequest? Type1589 { get; set; }
+ public global::OpenRouter.BulkRemoveWorkspaceMembersRequest? Type1589 { get; set; }
///
///
///
- public global::OpenRouter.CreateEmbeddingsRequest? Type1590 { get; set; }
+ public global::OpenRouter.BulkRemoveWorkspaceMembersResponse? Type1590 { get; set; }
///
///
///
- public global::OpenRouter.CreateKeysRequest? Type1591 { get; set; }
+ public global::OpenRouter.ExchangeAuthCodeForApiKeyRequest? Type1591 { get; set; }
///
///
///
- public global::OpenRouter.OneOf? Type1592 { get; set; }
+ public global::OpenRouter.OneOf? Type1592 { get; set; }
///
///
///
- public global::OpenRouter.UpdateKeysRequest? Type1593 { get; set; }
+ public global::OpenRouter.CreateAuthKeysCodeRequest? Type1593 { get; set; }
///
///
///
- public global::OpenRouter.OneOf? Type1594 { get; set; }
+ public global::OpenRouter.CreateEmbeddingsRequest? Type1594 { get; set; }
///
///
///
- public global::OpenRouter.CreateRerankRequest? Type1595 { get; set; }
+ public global::OpenRouter.CreateKeysRequest? Type1595 { get; set; }
///
///
///
- public byte[]? Type1596 { get; set; }
+ public global::OpenRouter.OneOf? Type1596 { get; set; }
+ ///
+ ///
+ ///
+ public global::OpenRouter.UpdateKeysRequest? Type1597 { get; set; }
+ ///
+ ///
+ ///
+ public global::OpenRouter.OneOf? Type1598 { get; set; }
+ ///
+ ///
+ ///
+ public global::OpenRouter.CreateRerankRequest? Type1599 { get; set; }
+ ///
+ ///
+ ///
+ public byte[]? Type1600 { get; set; }
///
///
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.CreatePresetFromInferenceResponse.Json.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreatePresetFromInferenceResponse.Json.g.cs
new file mode 100644
index 0000000..b2ea0d2
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreatePresetFromInferenceResponse.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace OpenRouter
+{
+ public sealed partial class CreatePresetFromInferenceResponse
+ {
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerContext.
+ ///
+ public string ToJson(
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ this.GetType(),
+ jsonSerializerContext);
+ }
+
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public string ToJson(
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::OpenRouter.CreatePresetFromInferenceResponse? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::OpenRouter.CreatePresetFromInferenceResponse),
+ jsonSerializerContext) as global::OpenRouter.CreatePresetFromInferenceResponse;
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::OpenRouter.CreatePresetFromInferenceResponse? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerContext.
+ ///
+ public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return (await global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ typeof(global::OpenRouter.CreatePresetFromInferenceResponse),
+ jsonSerializerContext).ConfigureAwait(false)) as global::OpenRouter.CreatePresetFromInferenceResponse;
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.CreatePresetFromInferenceResponse.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreatePresetFromInferenceResponse.g.cs
new file mode 100644
index 0000000..1781369
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreatePresetFromInferenceResponse.g.cs
@@ -0,0 +1,47 @@
+
+#nullable enable
+
+namespace OpenRouter
+{
+ ///
+ /// Response containing the created preset with its designated version.
+ ///
+ public sealed partial class CreatePresetFromInferenceResponse
+ {
+ ///
+ /// A preset with its currently designated version.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("data")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required global::OpenRouter.PresetWithDesignatedVersion Data { get; set; }
+
+ ///
+ /// Additional properties that are not explicitly defined in the schema
+ ///
+ [global::System.Text.Json.Serialization.JsonExtensionData]
+ public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary();
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ /// A preset with its currently designated version.
+ ///
+#if NET7_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
+#endif
+ public CreatePresetFromInferenceResponse(
+ global::OpenRouter.PresetWithDesignatedVersion data)
+ {
+ this.Data = data ?? throw new global::System.ArgumentNullException(nameof(data));
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public CreatePresetFromInferenceResponse()
+ {
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersion.Json.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersion.Json.g.cs
new file mode 100644
index 0000000..6a5bbbe
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersion.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace OpenRouter
+{
+ public sealed partial class PresetDesignatedVersion
+ {
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerContext.
+ ///
+ public string ToJson(
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ this.GetType(),
+ jsonSerializerContext);
+ }
+
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public string ToJson(
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::OpenRouter.PresetDesignatedVersion? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::OpenRouter.PresetDesignatedVersion),
+ jsonSerializerContext) as global::OpenRouter.PresetDesignatedVersion;
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::OpenRouter.PresetDesignatedVersion? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerContext.
+ ///
+ public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return (await global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ typeof(global::OpenRouter.PresetDesignatedVersion),
+ jsonSerializerContext).ConfigureAwait(false)) as global::OpenRouter.PresetDesignatedVersion;
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersion.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersion.g.cs
new file mode 100644
index 0000000..38250d1
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersion.g.cs
@@ -0,0 +1,114 @@
+
+#nullable enable
+
+namespace OpenRouter
+{
+ ///
+ /// A specific version of a preset, containing config and optional system prompt.
+ ///
+ public sealed partial class PresetDesignatedVersion
+ {
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("config")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required object Config { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("created_at")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string CreatedAt { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("creator_id")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string CreatorId { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("id")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string Id { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("preset_id")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string PresetId { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("system_prompt")]
+ public string? SystemPrompt { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("updated_at")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string UpdatedAt { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("version")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required int Version { get; set; }
+
+ ///
+ /// Additional properties that are not explicitly defined in the schema
+ ///
+ [global::System.Text.Json.Serialization.JsonExtensionData]
+ public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary();
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+#if NET7_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
+#endif
+ public PresetDesignatedVersion(
+ object config,
+ string createdAt,
+ string creatorId,
+ string id,
+ string presetId,
+ string updatedAt,
+ int version,
+ string? systemPrompt)
+ {
+ this.Config = config ?? throw new global::System.ArgumentNullException(nameof(config));
+ this.CreatedAt = createdAt ?? throw new global::System.ArgumentNullException(nameof(createdAt));
+ this.CreatorId = creatorId ?? throw new global::System.ArgumentNullException(nameof(creatorId));
+ this.Id = id ?? throw new global::System.ArgumentNullException(nameof(id));
+ this.PresetId = presetId ?? throw new global::System.ArgumentNullException(nameof(presetId));
+ this.SystemPrompt = systemPrompt;
+ this.UpdatedAt = updatedAt ?? throw new global::System.ArgumentNullException(nameof(updatedAt));
+ this.Version = version;
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public PresetDesignatedVersion()
+ {
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig.Json.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig.Json.g.cs
new file mode 100644
index 0000000..e79814d
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace OpenRouter
+{
+ public sealed partial class PresetDesignatedVersionConfig
+ {
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerContext.
+ ///
+ public string ToJson(
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ this.GetType(),
+ jsonSerializerContext);
+ }
+
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public string ToJson(
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::OpenRouter.PresetDesignatedVersionConfig? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::OpenRouter.PresetDesignatedVersionConfig),
+ jsonSerializerContext) as global::OpenRouter.PresetDesignatedVersionConfig;
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::OpenRouter.PresetDesignatedVersionConfig? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerContext.
+ ///
+ public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return (await global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ typeof(global::OpenRouter.PresetDesignatedVersionConfig),
+ jsonSerializerContext).ConfigureAwait(false)) as global::OpenRouter.PresetDesignatedVersionConfig;
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig.g.cs
new file mode 100644
index 0000000..23884aa
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig.g.cs
@@ -0,0 +1,19 @@
+
+#nullable enable
+
+namespace OpenRouter
+{
+ ///
+ ///
+ ///
+ public sealed partial class PresetDesignatedVersionConfig
+ {
+
+ ///
+ /// Additional properties that are not explicitly defined in the schema
+ ///
+ [global::System.Text.Json.Serialization.JsonExtensionData]
+ public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary();
+
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig2.Json.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig2.Json.g.cs
new file mode 100644
index 0000000..1b37e21
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig2.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace OpenRouter
+{
+ public sealed partial class PresetDesignatedVersionConfig2
+ {
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerContext.
+ ///
+ public string ToJson(
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ this.GetType(),
+ jsonSerializerContext);
+ }
+
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public string ToJson(
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::OpenRouter.PresetDesignatedVersionConfig2? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::OpenRouter.PresetDesignatedVersionConfig2),
+ jsonSerializerContext) as global::OpenRouter.PresetDesignatedVersionConfig2;
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::OpenRouter.PresetDesignatedVersionConfig2? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerContext.
+ ///
+ public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return (await global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ typeof(global::OpenRouter.PresetDesignatedVersionConfig2),
+ jsonSerializerContext).ConfigureAwait(false)) as global::OpenRouter.PresetDesignatedVersionConfig2;
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig2.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig2.g.cs
new file mode 100644
index 0000000..76aa317
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetDesignatedVersionConfig2.g.cs
@@ -0,0 +1,19 @@
+
+#nullable enable
+
+namespace OpenRouter
+{
+ ///
+ /// Any type
+ ///
+ public sealed partial class PresetDesignatedVersionConfig2
+ {
+
+ ///
+ /// Additional properties that are not explicitly defined in the schema
+ ///
+ [global::System.Text.Json.Serialization.JsonExtensionData]
+ public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary();
+
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetWithDesignatedVersion.Json.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetWithDesignatedVersion.Json.g.cs
new file mode 100644
index 0000000..ba99ce8
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetWithDesignatedVersion.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace OpenRouter
+{
+ public sealed partial class PresetWithDesignatedVersion
+ {
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerContext.
+ ///
+ public string ToJson(
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ this.GetType(),
+ jsonSerializerContext);
+ }
+
+ ///
+ /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public string ToJson(
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Serialize(
+ this,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerContext.
+ ///
+ public static global::OpenRouter.PresetWithDesignatedVersion? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::OpenRouter.PresetWithDesignatedVersion),
+ jsonSerializerContext) as global::OpenRouter.PresetWithDesignatedVersion;
+ }
+
+ ///
+ /// Deserializes a JSON string using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::OpenRouter.PresetWithDesignatedVersion? FromJson(
+ string json,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ jsonSerializerOptions);
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerContext.
+ ///
+ public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return (await global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ typeof(global::OpenRouter.PresetWithDesignatedVersion),
+ jsonSerializerContext).ConfigureAwait(false)) as global::OpenRouter.PresetWithDesignatedVersion;
+ }
+
+ ///
+ /// Deserializes a JSON stream using the provided JsonSerializerOptions.
+ ///
+#if NET8_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]
+ [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]
+#endif
+ public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync(
+ global::System.IO.Stream jsonStream,
+ global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null)
+ {
+ return global::System.Text.Json.JsonSerializer.DeserializeAsync(
+ jsonStream,
+ jsonSerializerOptions);
+ }
+ }
+}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetWithDesignatedVersion.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetWithDesignatedVersion.g.cs
new file mode 100644
index 0000000..ff43f23
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetWithDesignatedVersion.g.cs
@@ -0,0 +1,153 @@
+
+#nullable enable
+
+namespace OpenRouter
+{
+ ///
+ /// A preset with its currently designated version.
+ ///
+ public sealed partial class PresetWithDesignatedVersion
+ {
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("created_at")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string CreatedAt { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("creator_user_id")]
+ public string? CreatorUserId { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("description")]
+ public string? Description { get; set; }
+
+ ///
+ /// A specific version of a preset, containing config and optional system prompt.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("designated_version")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required global::OpenRouter.PresetDesignatedVersion DesignatedVersion { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("designated_version_id")]
+ public string? DesignatedVersionId { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("id")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string Id { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("name")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string Name { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("slug")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string Slug { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("status")]
+ [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenRouter.JsonConverters.PresetWithDesignatedVersionStatusJsonConverter))]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required global::OpenRouter.PresetWithDesignatedVersionStatus Status { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("status_updated_at")]
+ public string? StatusUpdatedAt { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("updated_at")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required string UpdatedAt { get; set; }
+
+ ///
+ ///
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("workspace_id")]
+ public string? WorkspaceId { get; set; }
+
+ ///
+ /// Additional properties that are not explicitly defined in the schema
+ ///
+ [global::System.Text.Json.Serialization.JsonExtensionData]
+ public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary();
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ ///
+ /// A specific version of a preset, containing config and optional system prompt.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+#if NET7_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
+#endif
+ public PresetWithDesignatedVersion(
+ string createdAt,
+ global::OpenRouter.PresetDesignatedVersion designatedVersion,
+ string id,
+ string name,
+ string slug,
+ global::OpenRouter.PresetWithDesignatedVersionStatus status,
+ string updatedAt,
+ string? creatorUserId,
+ string? description,
+ string? designatedVersionId,
+ string? statusUpdatedAt,
+ string? workspaceId)
+ {
+ this.CreatedAt = createdAt ?? throw new global::System.ArgumentNullException(nameof(createdAt));
+ this.CreatorUserId = creatorUserId;
+ this.Description = description;
+ this.DesignatedVersion = designatedVersion ?? throw new global::System.ArgumentNullException(nameof(designatedVersion));
+ this.DesignatedVersionId = designatedVersionId;
+ this.Id = id ?? throw new global::System.ArgumentNullException(nameof(id));
+ this.Name = name ?? throw new global::System.ArgumentNullException(nameof(name));
+ this.Slug = slug ?? throw new global::System.ArgumentNullException(nameof(slug));
+ this.Status = status;
+ this.StatusUpdatedAt = statusUpdatedAt;
+ this.UpdatedAt = updatedAt ?? throw new global::System.ArgumentNullException(nameof(updatedAt));
+ this.WorkspaceId = workspaceId;
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public PresetWithDesignatedVersion()
+ {
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetWithDesignatedVersionStatus.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetWithDesignatedVersionStatus.g.cs
new file mode 100644
index 0000000..7702f6a
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PresetWithDesignatedVersionStatus.g.cs
@@ -0,0 +1,57 @@
+
+#nullable enable
+
+namespace OpenRouter
+{
+ ///
+ ///
+ ///
+ public enum PresetWithDesignatedVersionStatus
+ {
+ ///
+ ///
+ ///
+ Active,
+ ///
+ ///
+ ///
+ Archived,
+ ///
+ ///
+ ///
+ Disabled,
+ }
+
+ ///
+ /// Enum extensions to do fast conversions without the reflection.
+ ///
+ public static class PresetWithDesignatedVersionStatusExtensions
+ {
+ ///
+ /// Converts an enum to a string.
+ ///
+ public static string ToValueString(this PresetWithDesignatedVersionStatus value)
+ {
+ return value switch
+ {
+ PresetWithDesignatedVersionStatus.Active => "active",
+ PresetWithDesignatedVersionStatus.Archived => "archived",
+ PresetWithDesignatedVersionStatus.Disabled => "disabled",
+ _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null),
+ };
+ }
+ ///
+ /// Converts an string to a enum.
+ ///
+ public static PresetWithDesignatedVersionStatus? ToEnum(string value)
+ {
+ return value switch
+ {
+ "active" => PresetWithDesignatedVersionStatus.Active,
+ "archived" => PresetWithDesignatedVersionStatus.Archived,
+ "disabled" => PresetWithDesignatedVersionStatus.Disabled,
+ _ => null,
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.OpenRouterClient.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.OpenRouterClient.g.cs
index 569c3f0..563eed2 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.OpenRouterClient.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.OpenRouterClient.g.cs
@@ -174,6 +174,15 @@ public sealed partial class OpenRouterClient : global::OpenRouter.IOpenRouterCli
JsonSerializerContext = JsonSerializerContext,
};
+ ///
+ ///
+ ///
+ public SubpackagePresetsClient SubpackagePresets => new SubpackagePresetsClient(HttpClient, baseUri: null, authorizations: Authorizations, options: Options)
+ {
+ ReadResponseAsString = ReadResponseAsString,
+ JsonSerializerContext = JsonSerializerContext,
+ };
+
///
///
///
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.SubpackagePresetsClient.CreatePresetsChatCompletions.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.SubpackagePresetsClient.CreatePresetsChatCompletions.g.cs
new file mode 100644
index 0000000..5eb24c7
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.SubpackagePresetsClient.CreatePresetsChatCompletions.g.cs
@@ -0,0 +1,870 @@
+
+#nullable enable
+
+namespace OpenRouter
+{
+ public partial class SubpackagePresetsClient
+ {
+
+
+ private static readonly global::OpenRouter.EndPointSecurityRequirement s_CreatePresetsChatCompletionsSecurityRequirement0 =
+ new global::OpenRouter.EndPointSecurityRequirement
+ {
+ Authorizations = new global::OpenRouter.EndPointAuthorizationRequirement[]
+ { new global::OpenRouter.EndPointAuthorizationRequirement
+ {
+ Type = "Http",
+ SchemeId = "Bearer",
+ Location = "Header",
+ Name = "Bearer",
+ FriendlyName = "Bearer",
+ },
+ },
+ };
+ private static readonly global::OpenRouter.EndPointSecurityRequirement[] s_CreatePresetsChatCompletionsSecurityRequirements =
+ new global::OpenRouter.EndPointSecurityRequirement[]
+ { s_CreatePresetsChatCompletionsSecurityRequirement0,
+ };
+ partial void PrepareCreatePresetsChatCompletionsArguments(
+ global::System.Net.Http.HttpClient httpClient,
+ ref string slug,
+ global::OpenRouter.ChatRequest request);
+ partial void PrepareCreatePresetsChatCompletionsRequest(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpRequestMessage httpRequestMessage,
+ string slug,
+ global::OpenRouter.ChatRequest request);
+ partial void ProcessCreatePresetsChatCompletionsResponse(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage);
+
+ partial void ProcessCreatePresetsChatCompletionsResponseContent(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage,
+ ref string content);
+
+ ///
+ /// Create a preset from a chat-completions request body
+ /// Creates a preset (or a new version of an existing one) from an inference request body. Only fields that overlap with the preset config are persisted; other fields (e.g. `messages`, `stream`, `prompt`) are silently ignored.
+ ///
+ ///
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task CreatePresetsChatCompletionsAsync(
+ string slug,
+
+ global::OpenRouter.ChatRequest request,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ var __response = await CreatePresetsChatCompletionsAsResponseAsync(
+ slug: slug,
+
+ request: request,
+ requestOptions: requestOptions,
+ cancellationToken: cancellationToken
+ ).ConfigureAwait(false);
+
+ return __response.Body;
+ }
+ ///
+ /// Create a preset from a chat-completions request body
+ /// Creates a preset (or a new version of an existing one) from an inference request body. Only fields that overlap with the preset config are persisted; other fields (e.g. `messages`, `stream`, `prompt`) are silently ignored.
+ ///
+ ///
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task> CreatePresetsChatCompletionsAsResponseAsync(
+ string slug,
+
+ global::OpenRouter.ChatRequest request,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ request = request ?? throw new global::System.ArgumentNullException(nameof(request));
+
+ PrepareArguments(
+ client: HttpClient);
+ PrepareCreatePresetsChatCompletionsArguments(
+ httpClient: HttpClient,
+ slug: ref slug,
+ request: request);
+
+
+ var __authorizations = global::OpenRouter.EndPointSecurityResolver.ResolveAuthorizations(
+ availableAuthorizations: Authorizations,
+ securityRequirements: s_CreatePresetsChatCompletionsSecurityRequirements,
+ operationName: "CreatePresetsChatCompletionsAsync");
+
+ using var __timeoutCancellationTokenSource = global::OpenRouter.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource(
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ cancellationToken: cancellationToken);
+ var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken;
+ var __effectiveReadResponseAsString = global::OpenRouter.AutoSDKRequestOptionsSupport.GetReadResponseAsString(
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ fallbackValue: ReadResponseAsString);
+ var __maxAttempts = global::OpenRouter.AutoSDKRequestOptionsSupport.GetMaxAttempts(
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ supportsRetry: false);
+
+ global::System.Net.Http.HttpRequestMessage __CreateHttpRequest()
+ {
+
+ var __pathBuilder = new global::OpenRouter.PathBuilder(
+ path: $"/presets/{slug}/chat/completions",
+ baseUri: HttpClient.BaseAddress);
+ var __path = __pathBuilder.ToString();
+ __path = global::OpenRouter.AutoSDKRequestOptionsSupport.AppendQueryParameters(
+ path: __path,
+ clientParameters: Options.QueryParameters,
+ requestParameters: requestOptions?.QueryParameters);
+ var __httpRequest = new global::System.Net.Http.HttpRequestMessage(
+ method: global::System.Net.Http.HttpMethod.Post,
+ requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute));
+#if NET6_0_OR_GREATER
+ __httpRequest.Version = global::System.Net.HttpVersion.Version11;
+ __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher;
+#endif
+
+ foreach (var __authorization in __authorizations)
+ {
+ if (__authorization.Type == "Http" ||
+ __authorization.Type == "OAuth2" ||
+ __authorization.Type == "OpenIdConnect")
+ {
+ __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue(
+ scheme: __authorization.Name,
+ parameter: __authorization.Value);
+ }
+ else if (__authorization.Type == "ApiKey" &&
+ __authorization.Location == "Header")
+ {
+ __httpRequest.Headers.Add(__authorization.Name, __authorization.Value);
+ }
+ }
+ var __httpRequestContentBody = request.ToJson(JsonSerializerContext);
+ var __httpRequestContent = new global::System.Net.Http.StringContent(
+ content: __httpRequestContentBody,
+ encoding: global::System.Text.Encoding.UTF8,
+ mediaType: "application/json");
+ __httpRequest.Content = __httpRequestContent;
+ global::OpenRouter.AutoSDKRequestOptionsSupport.ApplyHeaders(
+ request: __httpRequest,
+ clientHeaders: Options.Headers,
+ requestHeaders: requestOptions?.Headers);
+
+ PrepareRequest(
+ client: HttpClient,
+ request: __httpRequest);
+ PrepareCreatePresetsChatCompletionsRequest(
+ httpClient: HttpClient,
+ httpRequestMessage: __httpRequest,
+ slug: slug!,
+ request: request);
+
+ return __httpRequest;
+ }
+
+ global::System.Net.Http.HttpRequestMessage? __httpRequest = null;
+ global::System.Net.Http.HttpResponseMessage? __response = null;
+ var __attemptNumber = 0;
+ try
+ {
+ for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++)
+ {
+ __attemptNumber = __attempt;
+ __httpRequest = __CreateHttpRequest();
+ await global::OpenRouter.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync(
+ clientOptions: Options,
+ context: global::OpenRouter.AutoSDKRequestOptionsSupport.CreateHookContext(
+ operationId: "CreatePresetsChatCompletions",
+ methodName: "CreatePresetsChatCompletionsAsync",
+ pathTemplate: "$\"/presets/{slug}/chat/completions\"",
+ httpMethod: "POST",
+ baseUri: BaseUri,
+ request: __httpRequest!,
+ response: null,
+ exception: null,
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ attempt: __attempt,
+ maxAttempts: __maxAttempts,
+ willRetry: false,
+ retryDelay: null,
+ retryReason: global::System.String.Empty,
+ cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false);
+ try
+ {
+ __response = await HttpClient.SendAsync(
+ request: __httpRequest,
+ completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead,
+ cancellationToken: __effectiveCancellationToken).ConfigureAwait(false);
+ }
+ catch (global::System.Net.Http.HttpRequestException __exception)
+ {
+ var __retryDelay = global::OpenRouter.AutoSDKRequestOptionsSupport.GetRetryDelay(
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ response: null,
+ attempt: __attempt);
+ var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested;
+ await global::OpenRouter.AutoSDKRequestOptionsSupport.OnAfterErrorAsync(
+ clientOptions: Options,
+ context: global::OpenRouter.AutoSDKRequestOptionsSupport.CreateHookContext(
+ operationId: "CreatePresetsChatCompletions",
+ methodName: "CreatePresetsChatCompletionsAsync",
+ pathTemplate: "$\"/presets/{slug}/chat/completions\"",
+ httpMethod: "POST",
+ baseUri: BaseUri,
+ request: __httpRequest!,
+ response: null,
+ exception: __exception,
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ attempt: __attempt,
+ maxAttempts: __maxAttempts,
+ willRetry: __willRetry,
+ retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null,
+ retryReason: "exception",
+ cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false);
+ if (!__willRetry)
+ {
+ throw;
+ }
+
+ __httpRequest.Dispose();
+ __httpRequest = null;
+ await global::OpenRouter.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync(
+ retryDelay: __retryDelay,
+ cancellationToken: __effectiveCancellationToken).ConfigureAwait(false);
+ continue;
+ }
+
+ if (__response != null &&
+ __attempt < __maxAttempts &&
+ global::OpenRouter.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode))
+ {
+ var __retryDelay = global::OpenRouter.AutoSDKRequestOptionsSupport.GetRetryDelay(
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ response: __response,
+ attempt: __attempt);
+ await global::OpenRouter.AutoSDKRequestOptionsSupport.OnAfterErrorAsync(
+ clientOptions: Options,
+ context: global::OpenRouter.AutoSDKRequestOptionsSupport.CreateHookContext(
+ operationId: "CreatePresetsChatCompletions",
+ methodName: "CreatePresetsChatCompletionsAsync",
+ pathTemplate: "$\"/presets/{slug}/chat/completions\"",
+ httpMethod: "POST",
+ baseUri: BaseUri,
+ request: __httpRequest!,
+ response: __response,
+ exception: null,
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ attempt: __attempt,
+ maxAttempts: __maxAttempts,
+ willRetry: true,
+ retryDelay: __retryDelay,
+ retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture),
+ cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false);
+ __response.Dispose();
+ __response = null;
+ __httpRequest.Dispose();
+ __httpRequest = null;
+ await global::OpenRouter.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync(
+ retryDelay: __retryDelay,
+ cancellationToken: __effectiveCancellationToken).ConfigureAwait(false);
+ continue;
+ }
+
+ break;
+ }
+
+ if (__response == null)
+ {
+ throw new global::System.InvalidOperationException("No response received.");
+ }
+
+ using (__response)
+ {
+
+ ProcessResponse(
+ client: HttpClient,
+ response: __response);
+ ProcessCreatePresetsChatCompletionsResponse(
+ httpClient: HttpClient,
+ httpResponseMessage: __response);
+ if (__response.IsSuccessStatusCode)
+ {
+ await global::OpenRouter.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync(
+ clientOptions: Options,
+ context: global::OpenRouter.AutoSDKRequestOptionsSupport.CreateHookContext(
+ operationId: "CreatePresetsChatCompletions",
+ methodName: "CreatePresetsChatCompletionsAsync",
+ pathTemplate: "$\"/presets/{slug}/chat/completions\"",
+ httpMethod: "POST",
+ baseUri: BaseUri,
+ request: __httpRequest!,
+ response: __response,
+ exception: null,
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ attempt: __attemptNumber,
+ maxAttempts: __maxAttempts,
+ willRetry: false,
+ retryDelay: null,
+ retryReason: global::System.String.Empty,
+ cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false);
+ }
+ else
+ {
+ await global::OpenRouter.AutoSDKRequestOptionsSupport.OnAfterErrorAsync(
+ clientOptions: Options,
+ context: global::OpenRouter.AutoSDKRequestOptionsSupport.CreateHookContext(
+ operationId: "CreatePresetsChatCompletions",
+ methodName: "CreatePresetsChatCompletionsAsync",
+ pathTemplate: "$\"/presets/{slug}/chat/completions\"",
+ httpMethod: "POST",
+ baseUri: BaseUri,
+ request: __httpRequest!,
+ response: __response,
+ exception: null,
+ clientOptions: Options,
+ requestOptions: requestOptions,
+ attempt: __attemptNumber,
+ maxAttempts: __maxAttempts,
+ willRetry: false,
+ retryDelay: null,
+ retryReason: global::System.String.Empty,
+ cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false);
+ }
+ // Bad Request - Invalid request parameters or malformed input
+ if ((int)__response.StatusCode == 400)
+ {
+ string? __content_400 = null;
+ global::System.Exception? __exception_400 = null;
+ global::OpenRouter.BadRequestResponse? __value_400 = null;
+ try
+ {
+ if (__effectiveReadResponseAsString)
+ {
+ __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+ __value_400 = global::OpenRouter.BadRequestResponse.FromJson(__content_400, JsonSerializerContext);
+ }
+ else
+ {
+ __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+
+ __value_400 = global::OpenRouter.BadRequestResponse.FromJson(__content_400, JsonSerializerContext);
+ }
+ }
+ catch (global::System.Exception __ex)
+ {
+ __exception_400 = __ex;
+ }
+
+ throw new global::OpenRouter.ApiException(
+ message: __content_400 ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __exception_400,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_400,
+ ResponseObject = __value_400,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ // Unauthorized - Authentication required or invalid credentials
+ if ((int)__response.StatusCode == 401)
+ {
+ string? __content_401 = null;
+ global::System.Exception? __exception_401 = null;
+ global::OpenRouter.UnauthorizedResponse? __value_401 = null;
+ try
+ {
+ if (__effectiveReadResponseAsString)
+ {
+ __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+ __value_401 = global::OpenRouter.UnauthorizedResponse.FromJson(__content_401, JsonSerializerContext);
+ }
+ else
+ {
+ __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+
+ __value_401 = global::OpenRouter.UnauthorizedResponse.FromJson(__content_401, JsonSerializerContext);
+ }
+ }
+ catch (global::System.Exception __ex)
+ {
+ __exception_401 = __ex;
+ }
+
+ throw new global::OpenRouter.ApiException(
+ message: __content_401 ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __exception_401,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_401,
+ ResponseObject = __value_401,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ // Forbidden - Authentication successful but insufficient permissions
+ if ((int)__response.StatusCode == 403)
+ {
+ string? __content_403 = null;
+ global::System.Exception? __exception_403 = null;
+ global::OpenRouter.ForbiddenResponse? __value_403 = null;
+ try
+ {
+ if (__effectiveReadResponseAsString)
+ {
+ __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+ __value_403 = global::OpenRouter.ForbiddenResponse.FromJson(__content_403, JsonSerializerContext);
+ }
+ else
+ {
+ __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+
+ __value_403 = global::OpenRouter.ForbiddenResponse.FromJson(__content_403, JsonSerializerContext);
+ }
+ }
+ catch (global::System.Exception __ex)
+ {
+ __exception_403 = __ex;
+ }
+
+ throw new global::OpenRouter.ApiException(
+ message: __content_403 ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __exception_403,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_403,
+ ResponseObject = __value_403,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ // Not Found - Resource does not exist
+ if ((int)__response.StatusCode == 404)
+ {
+ string? __content_404 = null;
+ global::System.Exception? __exception_404 = null;
+ global::OpenRouter.NotFoundResponse? __value_404 = null;
+ try
+ {
+ if (__effectiveReadResponseAsString)
+ {
+ __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+ __value_404 = global::OpenRouter.NotFoundResponse.FromJson(__content_404, JsonSerializerContext);
+ }
+ else
+ {
+ __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+
+ __value_404 = global::OpenRouter.NotFoundResponse.FromJson(__content_404, JsonSerializerContext);
+ }
+ }
+ catch (global::System.Exception __ex)
+ {
+ __exception_404 = __ex;
+ }
+
+ throw new global::OpenRouter.ApiException(
+ message: __content_404 ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __exception_404,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_404,
+ ResponseObject = __value_404,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ // Conflict - Resource conflict or concurrent modification
+ if ((int)__response.StatusCode == 409)
+ {
+ string? __content_409 = null;
+ global::System.Exception? __exception_409 = null;
+ global::OpenRouter.ConflictResponse? __value_409 = null;
+ try
+ {
+ if (__effectiveReadResponseAsString)
+ {
+ __content_409 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+ __value_409 = global::OpenRouter.ConflictResponse.FromJson(__content_409, JsonSerializerContext);
+ }
+ else
+ {
+ __content_409 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+
+ __value_409 = global::OpenRouter.ConflictResponse.FromJson(__content_409, JsonSerializerContext);
+ }
+ }
+ catch (global::System.Exception __ex)
+ {
+ __exception_409 = __ex;
+ }
+
+ throw new global::OpenRouter.ApiException(
+ message: __content_409 ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __exception_409,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_409,
+ ResponseObject = __value_409,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ // Internal Server Error - Unexpected server error
+ if ((int)__response.StatusCode == 500)
+ {
+ string? __content_500 = null;
+ global::System.Exception? __exception_500 = null;
+ global::OpenRouter.InternalServerResponse? __value_500 = null;
+ try
+ {
+ if (__effectiveReadResponseAsString)
+ {
+ __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+ __value_500 = global::OpenRouter.InternalServerResponse.FromJson(__content_500, JsonSerializerContext);
+ }
+ else
+ {
+ __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false);
+
+ __value_500 = global::OpenRouter.InternalServerResponse.FromJson(__content_500, JsonSerializerContext);
+ }
+ }
+ catch (global::System.Exception __ex)
+ {
+ __exception_500 = __ex;
+ }
+
+ throw new global::OpenRouter.ApiException(
+ message: __content_500 ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __exception_500,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content_500,
+ ResponseObject = __value_500,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+
+ if (__effectiveReadResponseAsString)
+ {
+ var __content = await __response.Content.ReadAsStringAsync(
+ #if NET5_0_OR_GREATER
+ __effectiveCancellationToken
+ #endif
+ ).ConfigureAwait(false);
+
+ ProcessResponseContent(
+ client: HttpClient,
+ response: __response,
+ content: ref __content);
+ ProcessCreatePresetsChatCompletionsResponseContent(
+ httpClient: HttpClient,
+ httpResponseMessage: __response,
+ content: ref __content);
+
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+
+ var __value = global::OpenRouter.CreatePresetFromInferenceResponse.FromJson(__content, JsonSerializerContext) ??
+ throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" ");
+ return new global::OpenRouter.AutoSDKHttpResponse(
+ statusCode: __response.StatusCode,
+ headers: global::OpenRouter.AutoSDKHttpResponse.CreateHeaders(__response),
+ requestUri: __response.RequestMessage?.RequestUri,
+ body: __value);
+ }
+ catch (global::System.Exception __ex)
+ {
+ throw new global::OpenRouter.ApiException(
+ message: __content ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ }
+ else
+ {
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+ using var __content = await __response.Content.ReadAsStreamAsync(
+ #if NET5_0_OR_GREATER
+ __effectiveCancellationToken
+ #endif
+ ).ConfigureAwait(false);
+
+ var __value = await global::OpenRouter.CreatePresetFromInferenceResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ??
+ throw new global::System.InvalidOperationException("Response deserialization failed.");
+ return new global::OpenRouter.AutoSDKHttpResponse(
+ statusCode: __response.StatusCode,
+ headers: global::OpenRouter.AutoSDKHttpResponse.CreateHeaders(__response),
+ requestUri: __response.RequestMessage?.RequestUri,
+ body: __value);
+ }
+ catch (global::System.Exception __ex)
+ {
+ string? __content = null;
+ try
+ {
+ __content = await __response.Content.ReadAsStringAsync(
+ #if NET5_0_OR_GREATER
+ __effectiveCancellationToken
+ #endif
+ ).ConfigureAwait(false);
+ }
+ catch (global::System.Exception)
+ {
+ }
+
+ throw new global::OpenRouter.ApiException(
+ message: __content ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ }
+
+ }
+ }
+ finally
+ {
+ __httpRequest?.Dispose();
+ }
+ }
+ ///
+ /// Create a preset from a chat-completions request body
+ /// Creates a preset (or a new version of an existing one) from an inference request body. Only fields that overlap with the preset config are persisted; other fields (e.g. `messages`, `stream`, `prompt`) are silently ignored.
+ ///
+ ///
+ ///
+ /// Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. Currently supported for Anthropic Claude models.
+ ///
+ ///
+ /// Debug options for inspecting request transformations (streaming only)
+ ///
+ ///
+ /// Frequency penalty (-2.0 to 2.0)
+ ///
+ ///
+ ///
+ /// Token logit bias adjustments
+ ///
+ ///
+ /// Return log probabilities
+ ///
+ ///
+ /// Maximum tokens in completion
+ ///
+ ///
+ /// Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16.
+ ///
+ ///
+ /// List of messages for the conversation
+ ///
+ ///
+ /// Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)
+ ///
+ ///
+ /// Output modalities for the response. Supported values are "text", "image", and "audio".
+ ///
+ ///
+ /// Model to use for completion
+ ///
+ ///
+ /// Models to use for completion
+ ///
+ ///
+ /// Whether to enable parallel function calling during tool use. When true, the model may generate multiple tool calls in a single response.
+ ///
+ ///
+ /// Plugins you want to enable for this request, including their settings.
+ ///
+ ///
+ /// Presence penalty (-2.0 to 2.0)
+ ///
+ ///
+ /// When multiple model providers are available, optionally indicate your routing preference.
+ ///
+ ///
+ /// Configuration options for reasoning models
+ ///
+ ///
+ /// Response format configuration
+ ///
+ ///
+ /// Any type
+ ///
+ ///
+ /// Random seed for deterministic outputs
+ ///
+ ///
+ /// The service tier to use for processing this request.
+ ///
+ ///
+ /// A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.
+ ///
+ ///
+ /// Stop sequences (up to 4)
+ ///
+ ///
+ /// Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`.
+ ///
+ ///
+ /// Enable streaming response
+ /// Default Value: false
+ ///
+ ///
+ /// Streaming configuration options
+ ///
+ ///
+ /// Sampling temperature (0-2)
+ ///
+ ///
+ /// Tool choice configuration
+ ///
+ ///
+ /// Available tools for function calling
+ ///
+ ///
+ /// Number of top log probabilities to return (0-20)
+ ///
+ ///
+ /// Nucleus sampling parameter (0-1)
+ ///
+ ///
+ /// Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.
+ ///
+ ///
+ /// Unique user identifier
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task CreatePresetsChatCompletionsAsync(
+ string slug,
+ global::System.Collections.Generic.IList messages,
+ global::OpenRouter.AnthropicCacheControlDirective? cacheControl = default,
+ global::OpenRouter.ChatDebugOptions? debug = default,
+ double? frequencyPenalty = default,
+ global::OpenRouter.ImageConfig? imageConfig = default,
+ global::System.Collections.Generic.Dictionary? logitBias = default,
+ bool? logprobs = default,
+ int? maxCompletionTokens = default,
+ int? maxTokens = default,
+ global::System.Collections.Generic.Dictionary? metadata = default,
+ global::System.Collections.Generic.IList? modalities = default,
+ string? model = default,
+ global::System.Collections.Generic.IList? models = default,
+ bool? parallelToolCalls = default,
+ global::System.Collections.Generic.IList? plugins = default,
+ double? presencePenalty = default,
+ global::OpenRouter.ProviderPreferences? provider = default,
+ global::OpenRouter.ChatRequestReasoning? reasoning = default,
+ global::OpenRouter.ChatRequestResponseFormat? responseFormat = default,
+ object? route = default,
+ int? seed = default,
+ global::OpenRouter.OneOf? serviceTier = default,
+ string? sessionId = default,
+ global::OpenRouter.ChatRequestStop? stop = default,
+ global::System.Collections.Generic.IList? stopServerToolsWhen = default,
+ bool? stream = default,
+ global::OpenRouter.ChatStreamOptions? streamOptions = default,
+ double? temperature = default,
+ global::OpenRouter.ChatToolChoice? toolChoice = default,
+ global::System.Collections.Generic.IList? tools = default,
+ int? topLogprobs = default,
+ double? topP = default,
+ global::OpenRouter.TraceConfig? trace = default,
+ string? user = default,
+ global::OpenRouter.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ var __request = new global::OpenRouter.ChatRequest
+ {
+ CacheControl = cacheControl,
+ Debug = debug,
+ FrequencyPenalty = frequencyPenalty,
+ ImageConfig = imageConfig,
+ LogitBias = logitBias,
+ Logprobs = logprobs,
+ MaxCompletionTokens = maxCompletionTokens,
+ MaxTokens = maxTokens,
+ Messages = messages,
+ Metadata = metadata,
+ Modalities = modalities,
+ Model = model,
+ Models = models,
+ ParallelToolCalls = parallelToolCalls,
+ Plugins = plugins,
+ PresencePenalty = presencePenalty,
+ Provider = provider,
+ Reasoning = reasoning,
+ ResponseFormat = responseFormat,
+ Route = route,
+ Seed = seed,
+ ServiceTier = serviceTier,
+ SessionId = sessionId,
+ Stop = stop,
+ StopServerToolsWhen = stopServerToolsWhen,
+ Stream = stream,
+ StreamOptions = streamOptions,
+ Temperature = temperature,
+ ToolChoice = toolChoice,
+ Tools = tools,
+ TopLogprobs = topLogprobs,
+ TopP = topP,
+ Trace = trace,
+ User = user,
+ };
+
+ return await CreatePresetsChatCompletionsAsync(
+ slug: slug,
+ request: __request,
+ requestOptions: requestOptions,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.SubpackagePresetsClient.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.SubpackagePresetsClient.g.cs
new file mode 100644
index 0000000..2864361
--- /dev/null
+++ b/src/libs/OpenRouter/Generated/OpenRouter.SubpackagePresetsClient.g.cs
@@ -0,0 +1,136 @@
+
+#nullable enable
+
+namespace OpenRouter
+{
+ ///
+ /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used.
+ ///
+ public sealed partial class SubpackagePresetsClient : global::OpenRouter.ISubpackagePresetsClient, global::System.IDisposable
+ {
+ ///
+ ///
+ ///
+ public const string DefaultBaseUrl = "https://openrouter.ai/api/v1";
+
+ private bool _disposeHttpClient = true;
+
+ ///
+ public global::System.Net.Http.HttpClient HttpClient { get; }
+
+ ///
+ public System.Uri? BaseUri => HttpClient.BaseAddress;
+
+ ///
+ public global::System.Collections.Generic.List Authorizations { get; }
+
+ ///
+ public bool ReadResponseAsString { get; set; }
+#if DEBUG
+ = true;
+#endif
+
+ ///
+ public global::OpenRouter.AutoSDKClientOptions Options { get; }
+ ///
+ ///
+ ///
+ public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::OpenRouter.SourceGenerationContext.Default;
+
+
+ ///
+ /// Creates a new instance of the SubpackagePresetsClient.
+ /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used.
+ ///
+ /// The HttpClient instance. If not provided, a new one will be created.
+ /// The base URL for the API. If not provided, the default baseUri from OpenAPI spec will be used.
+ /// The authorizations to use for the requests.
+ /// Dispose the HttpClient when the instance is disposed. True by default.
+ public SubpackagePresetsClient(
+ global::System.Net.Http.HttpClient? httpClient = null,
+ global::System.Uri? baseUri = null,
+ global::System.Collections.Generic.List? authorizations = null,
+ bool disposeHttpClient = true) : this(
+ httpClient,
+ baseUri,
+ authorizations,
+ options: null,
+ disposeHttpClient: disposeHttpClient)
+ {
+ }
+
+ ///
+ /// Creates a new instance of the SubpackagePresetsClient with explicit options but no base URL override.
+ /// Skips passing baseUri so the default base URL from the OpenAPI spec applies.
+ ///
+ /// The HttpClient instance. If not provided, a new one will be created.
+ /// The authorizations to use for the requests.
+ /// Client-wide request defaults such as headers, query parameters, retries, and timeout.
+ /// Dispose the HttpClient when the instance is disposed. True by default.
+ public SubpackagePresetsClient(
+ global::System.Net.Http.HttpClient? httpClient,
+ global::System.Collections.Generic.List? authorizations,
+ global::OpenRouter.AutoSDKClientOptions? options,
+ bool disposeHttpClient = true) : this(
+ httpClient,
+ baseUri: null,
+ authorizations,
+ options,
+ disposeHttpClient: disposeHttpClient)
+ {
+ }
+
+ ///
+ /// Creates a new instance of the SubpackagePresetsClient.
+ /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used.
+ ///
+ /// The HttpClient instance. If not provided, a new one will be created.
+ /// The base URL for the API. If not provided, the default baseUri from OpenAPI spec will be used.
+ /// The authorizations to use for the requests.
+ /// Client-wide request defaults such as headers, query parameters, retries, and timeout.
+ /// Dispose the HttpClient when the instance is disposed. True by default.
+ public SubpackagePresetsClient(
+ global::System.Net.Http.HttpClient? httpClient,
+ global::System.Uri? baseUri,
+ global::System.Collections.Generic.List? authorizations,
+ global::OpenRouter.AutoSDKClientOptions? options,
+ bool disposeHttpClient = true)
+ {
+
+ HttpClient = httpClient ?? new global::System.Net.Http.HttpClient();
+ HttpClient.BaseAddress ??= baseUri ?? new global::System.Uri(DefaultBaseUrl);
+ Authorizations = authorizations ?? new global::System.Collections.Generic.List();
+ Options = options ?? new global::OpenRouter.AutoSDKClientOptions();
+ _disposeHttpClient = disposeHttpClient;
+
+ Initialized(HttpClient);
+ }
+
+ ///
+ public void Dispose()
+ {
+ if (_disposeHttpClient)
+ {
+ HttpClient.Dispose();
+ }
+ }
+
+ partial void Initialized(
+ global::System.Net.Http.HttpClient client);
+ partial void PrepareArguments(
+ global::System.Net.Http.HttpClient client);
+ partial void PrepareRequest(
+ global::System.Net.Http.HttpClient client,
+ global::System.Net.Http.HttpRequestMessage request);
+ partial void ProcessResponse(
+ global::System.Net.Http.HttpClient client,
+ global::System.Net.Http.HttpResponseMessage response);
+ partial void ProcessResponseContent(
+ global::System.Net.Http.HttpClient client,
+ global::System.Net.Http.HttpResponseMessage response,
+ ref string content);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/OpenRouter/openapi.yaml b/src/libs/OpenRouter/openapi.yaml
index f7a2408..f24a121 100644
--- a/src/libs/OpenRouter/openapi.yaml
+++ b/src/libs/OpenRouter/openapi.yaml
@@ -3964,6 +3964,108 @@
}
}
},
+ "/presets/{slug}/chat/completions": {
+ "post": {
+ "operationId": "create-presets-chat-completions",
+ "summary": "Create a preset from a chat-completions request body",
+ "description": "Creates a preset (or a new version of an existing one) from an inference request body. Only fields that overlap with the preset config are persisted; other fields (e.g. `messages`, `stream`, `prompt`) are silently ignored.",
+ "tags": [
+ "subpackage_presets"
+ ],
+ "parameters": [
+ {
+ "name": "slug",
+ "in": "path",
+ "description": "URL-safe slug identifying the preset. Created if it does not exist.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Preset created or updated successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreatePresetFromInferenceResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request - Invalid request parameters or malformed input",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BadRequestResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized - Authentication required or invalid credentials",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - Authentication successful but insufficient permissions",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ForbiddenResponse"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found - Resource does not exist",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/NotFoundResponse"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Conflict - Resource conflict or concurrent modification",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConflictResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal Server Error - Unexpected server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InternalServerResponse"
+ }
+ }
+ }
+ }
+ },
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatRequest"
+ }
+ }
+ }
+ }
+ }
+ },
"/providers": {
"get": {
"operationId": "list-providers",
@@ -33882,6 +33984,147 @@
],
"title": "Organization_listOrganizationMembers_Response_200"
},
+ "PresetDesignatedVersion": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "additionalProperties": {
+ "description": "Any type"
+ }
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "creator_id": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "preset_id": {
+ "type": "string"
+ },
+ "system_prompt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "version": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "config",
+ "created_at",
+ "creator_id",
+ "id",
+ "preset_id",
+ "system_prompt",
+ "updated_at",
+ "version"
+ ],
+ "description": "A specific version of a preset, containing config and optional system prompt.",
+ "title": "PresetDesignatedVersion"
+ },
+ "PresetWithDesignatedVersionStatus": {
+ "type": "string",
+ "enum": [
+ "active",
+ "disabled",
+ "archived"
+ ],
+ "title": "PresetWithDesignatedVersionStatus"
+ },
+ "PresetWithDesignatedVersion": {
+ "type": "object",
+ "properties": {
+ "created_at": {
+ "type": "string"
+ },
+ "creator_user_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "designated_version": {
+ "$ref": "#/components/schemas/PresetDesignatedVersion"
+ },
+ "designated_version_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "status": {
+ "$ref": "#/components/schemas/PresetWithDesignatedVersionStatus"
+ },
+ "status_updated_at": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "workspace_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "created_at",
+ "creator_user_id",
+ "description",
+ "designated_version",
+ "designated_version_id",
+ "id",
+ "name",
+ "slug",
+ "status",
+ "status_updated_at",
+ "updated_at",
+ "workspace_id"
+ ],
+ "description": "A preset with its currently designated version.",
+ "title": "PresetWithDesignatedVersion"
+ },
+ "CreatePresetFromInferenceResponse": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/PresetWithDesignatedVersion"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "description": "Response containing the created preset with its designated version.",
+ "title": "CreatePresetFromInferenceResponse"
+ },
"ProvidersGetResponsesContentApplicationJsonSchemaDataItemsDatacentersItems": {
"type": "string",
"enum": [