diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.AnthropicTextEditorCodeExecutionStrReplaceResult.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.AnthropicTextEditorCodeExecutionStrReplaceResult.g.cs index 96e08b2a..ea656400 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.AnthropicTextEditorCodeExecutionStrReplaceResult.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.AnthropicTextEditorCodeExecutionStrReplaceResult.g.cs @@ -18,29 +18,25 @@ public sealed partial class AnthropicTextEditorCodeExecutionStrReplaceResult /// /// [global::System.Text.Json.Serialization.JsonPropertyName("new_lines")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NewLines { get; set; } + public int? NewLines { get; set; } /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("new_start")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NewStart { get; set; } + public int? NewStart { get; set; } /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("old_lines")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int OldLines { get; set; } + public int? OldLines { get; set; } /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("old_start")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int OldStart { get; set; } + public int? OldStart { get; set; } /// /// @@ -58,21 +54,21 @@ public sealed partial class AnthropicTextEditorCodeExecutionStrReplaceResult /// /// Initializes a new instance of the class. /// + /// /// /// /// /// - /// /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif public AnthropicTextEditorCodeExecutionStrReplaceResult( - int newLines, - int newStart, - int oldLines, - int oldStart, global::System.Collections.Generic.IList? lines, + int? newLines, + int? newStart, + int? oldLines, + int? oldStart, global::OpenRouter.AnthropicTextEditorCodeExecutionStrReplaceResultType type) { this.Lines = lines; diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.AnthropicTextEditorCodeExecutionViewResult.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.AnthropicTextEditorCodeExecutionViewResult.g.cs index 885cc91d..2e6c8eea 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.AnthropicTextEditorCodeExecutionViewResult.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.AnthropicTextEditorCodeExecutionViewResult.g.cs @@ -27,22 +27,19 @@ public sealed partial class AnthropicTextEditorCodeExecutionViewResult /// /// [global::System.Text.Json.Serialization.JsonPropertyName("num_lines")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NumLines { get; set; } + public int? NumLines { get; set; } /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("start_line")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int StartLine { get; set; } + public int? StartLine { get; set; } /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("total_lines")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int TotalLines { get; set; } + public int? TotalLines { get; set; } /// /// @@ -72,9 +69,9 @@ public sealed partial class AnthropicTextEditorCodeExecutionViewResult public AnthropicTextEditorCodeExecutionViewResult( string content, global::OpenRouter.AnthropicTextEditorCodeExecutionViewResultFileType fileType, - int numLines, - int startLine, - int totalLines, + int? numLines, + int? startLine, + int? totalLines, global::OpenRouter.AnthropicTextEditorCodeExecutionViewResultType type) { this.Content = content ?? throw new global::System.ArgumentNullException(nameof(content)); diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.BaseMessagesResultUsage.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.BaseMessagesResultUsage.g.cs index d09582a7..113443ad 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.BaseMessagesResultUsage.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.BaseMessagesResultUsage.g.cs @@ -19,15 +19,13 @@ public sealed partial class BaseMessagesResultUsage /// /// [global::System.Text.Json.Serialization.JsonPropertyName("cache_creation_input_tokens")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int CacheCreationInputTokens { get; set; } + public int? CacheCreationInputTokens { get; set; } /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("cache_read_input_tokens")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int CacheReadInputTokens { get; set; } + public int? CacheReadInputTokens { get; set; } /// /// @@ -87,12 +85,12 @@ public sealed partial class BaseMessagesResultUsage /// Initializes a new instance of the class. /// /// - /// - /// /// /// /// /// + /// + /// /// /// /// @@ -101,12 +99,12 @@ public sealed partial class BaseMessagesResultUsage #endif public BaseMessagesResultUsage( global::OpenRouter.AnthropicCacheCreation cacheCreation, - int cacheCreationInputTokens, - int cacheReadInputTokens, int inputTokens, int outputTokens, global::OpenRouter.AnthropicServerToolUsage serverToolUse, global::OpenRouter.AnthropicServiceTier serviceTier, + int? cacheCreationInputTokens, + int? cacheReadInputTokens, string? inferenceGeo, global::System.Collections.Generic.IList? iterations, global::OpenRouter.AnthropicSpeed? speed) diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.GenerationGetResponsesContentApplicationJsonSchemaData.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.GenerationGetResponsesContentApplicationJsonSchemaData.g.cs index c6e8b75c..cea499e8 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.GenerationGetResponsesContentApplicationJsonSchemaData.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.GenerationGetResponsesContentApplicationJsonSchemaData.g.cs @@ -20,15 +20,13 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// ID of the app that made the request /// [global::System.Text.Json.Serialization.JsonPropertyName("app_id")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int AppId { get; set; } + public int? AppId { get; set; } /// /// Discount applied due to caching /// [global::System.Text.Json.Serialization.JsonPropertyName("cache_discount")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double CacheDiscount { get; set; } + public double? CacheDiscount { get; set; } /// /// Whether the generation was cancelled @@ -59,8 +57,7 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// Time taken for generation in milliseconds /// [global::System.Text.Json.Serialization.JsonPropertyName("generation_time")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double GenerationTime { get; set; } + public double? GenerationTime { get; set; } /// /// Referer header from the request @@ -86,8 +83,7 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// Total latency in milliseconds /// [global::System.Text.Json.Serialization.JsonPropertyName("latency")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double Latency { get; set; } + public double? Latency { get; set; } /// /// Model used for the generation @@ -100,8 +96,7 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// Moderation latency in milliseconds /// [global::System.Text.Json.Serialization.JsonPropertyName("moderation_latency")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double ModerationLatency { get; set; } + public double? ModerationLatency { get; set; } /// /// Native finish reason as reported by provider @@ -113,64 +108,55 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// Native cached tokens as reported by provider /// [global::System.Text.Json.Serialization.JsonPropertyName("native_tokens_cached")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NativeTokensCached { get; set; } + public int? NativeTokensCached { get; set; } /// /// Native completion tokens as reported by provider /// [global::System.Text.Json.Serialization.JsonPropertyName("native_tokens_completion")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NativeTokensCompletion { get; set; } + public int? NativeTokensCompletion { get; set; } /// /// Native completion image tokens as reported by provider /// [global::System.Text.Json.Serialization.JsonPropertyName("native_tokens_completion_images")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NativeTokensCompletionImages { get; set; } + public int? NativeTokensCompletionImages { get; set; } /// /// Native prompt tokens as reported by provider /// [global::System.Text.Json.Serialization.JsonPropertyName("native_tokens_prompt")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NativeTokensPrompt { get; set; } + public int? NativeTokensPrompt { get; set; } /// /// Native reasoning tokens as reported by provider /// [global::System.Text.Json.Serialization.JsonPropertyName("native_tokens_reasoning")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NativeTokensReasoning { get; set; } + public int? NativeTokensReasoning { get; set; } /// /// Number of audio inputs in the prompt /// [global::System.Text.Json.Serialization.JsonPropertyName("num_input_audio_prompt")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NumInputAudioPrompt { get; set; } + public int? NumInputAudioPrompt { get; set; } /// /// Number of media items in the completion /// [global::System.Text.Json.Serialization.JsonPropertyName("num_media_completion")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NumMediaCompletion { get; set; } + public int? NumMediaCompletion { get; set; } /// /// Number of media items in the prompt /// [global::System.Text.Json.Serialization.JsonPropertyName("num_media_prompt")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NumMediaPrompt { get; set; } + public int? NumMediaPrompt { get; set; } /// /// Number of search results included /// [global::System.Text.Json.Serialization.JsonPropertyName("num_search_results")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int NumSearchResults { get; set; } + public int? NumSearchResults { get; set; } /// /// Origin URL of the request @@ -219,15 +205,13 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// Number of tokens in the completion /// [global::System.Text.Json.Serialization.JsonPropertyName("tokens_completion")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int TokensCompletion { get; set; } + public int? TokensCompletion { get; set; } /// /// Number of tokens in the prompt /// [global::System.Text.Json.Serialization.JsonPropertyName("tokens_prompt")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int TokensPrompt { get; set; } + public int? TokensPrompt { get; set; } /// /// Total cost of the generation in USD @@ -246,8 +230,7 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// Cost charged by the upstream provider /// [global::System.Text.Json.Serialization.JsonPropertyName("upstream_inference_cost")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double UpstreamInferenceCost { get; set; } + public double? UpstreamInferenceCost { get; set; } /// /// Usage amount in USD @@ -274,33 +257,57 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// /// Type of API used for the generation /// + /// + /// ISO 8601 timestamp of when the generation was created + /// + /// + /// Unique identifier for the generation + /// + /// + /// Whether this used bring-your-own-key + /// + /// + /// Model used for the generation + /// + /// + /// Origin URL of the request + /// + /// + /// Total cost of the generation in USD + /// + /// + /// Usage amount in USD + /// /// /// ID of the app that made the request /// /// /// Discount applied due to caching /// - /// - /// ISO 8601 timestamp of when the generation was created + /// + /// Whether the generation was cancelled + /// + /// + /// External user identifier + /// + /// + /// Reason the generation finished /// /// /// Time taken for generation in milliseconds /// - /// - /// Unique identifier for the generation - /// - /// - /// Whether this used bring-your-own-key + /// + /// Referer header from the request /// /// /// Total latency in milliseconds /// - /// - /// Model used for the generation - /// /// /// Moderation latency in milliseconds /// + /// + /// Native finish reason as reported by provider + /// /// /// Native cached tokens as reported by provider /// @@ -328,39 +335,6 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// /// Number of search results included /// - /// - /// Origin URL of the request - /// - /// - /// Number of tokens in the completion - /// - /// - /// Number of tokens in the prompt - /// - /// - /// Total cost of the generation in USD - /// - /// - /// Cost charged by the upstream provider - /// - /// - /// Usage amount in USD - /// - /// - /// Whether the generation was cancelled - /// - /// - /// External user identifier - /// - /// - /// Reason the generation finished - /// - /// - /// Referer header from the request - /// - /// - /// Native finish reason as reported by provider - /// /// /// Name of the provider that served the request /// @@ -379,9 +353,18 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa /// /// Whether the response was streamed /// + /// + /// Number of tokens in the completion + /// + /// + /// Number of tokens in the prompt + /// /// /// Upstream provider's identifier for this generation /// + /// + /// Cost charged by the upstream provider + /// /// /// User-Agent header from the request /// @@ -390,42 +373,42 @@ public sealed partial class GenerationGetResponsesContentApplicationJsonSchemaDa #endif public GenerationGetResponsesContentApplicationJsonSchemaData( global::OpenRouter.OneOf apiType, - int appId, - double cacheDiscount, string createdAt, - double generationTime, string id, bool isByok, - double latency, string model, - double moderationLatency, - int nativeTokensCached, - int nativeTokensCompletion, - int nativeTokensCompletionImages, - int nativeTokensPrompt, - int nativeTokensReasoning, - int numInputAudioPrompt, - int numMediaCompletion, - int numMediaPrompt, - int numSearchResults, string origin, - int tokensCompletion, - int tokensPrompt, double totalCost, - double upstreamInferenceCost, double usage, + int? appId, + double? cacheDiscount, bool? cancelled, string? externalUser, string? finishReason, + double? generationTime, string? httpReferer, + double? latency, + double? moderationLatency, string? nativeFinishReason, + int? nativeTokensCached, + int? nativeTokensCompletion, + int? nativeTokensCompletionImages, + int? nativeTokensPrompt, + int? nativeTokensReasoning, + int? numInputAudioPrompt, + int? numMediaCompletion, + int? numMediaPrompt, + int? numSearchResults, string? providerName, global::System.Collections.Generic.IList? providerResponses, string? requestId, string? router, string? sessionId, bool? streamed, + int? tokensCompletion, + int? tokensPrompt, string? upstreamId, + double? upstreamInferenceCost, string? userAgent) { this.ApiType = apiType; diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeyGetResponsesContentApplicationJsonSchemaData.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeyGetResponsesContentApplicationJsonSchemaData.g.cs index 797deff0..c9be5ddb 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeyGetResponsesContentApplicationJsonSchemaData.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeyGetResponsesContentApplicationJsonSchemaData.g.cs @@ -87,15 +87,13 @@ public sealed partial class KeyGetResponsesContentApplicationJsonSchemaData /// Spending limit for the API key in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double Limit { get; set; } + public double? Limit { get; set; } /// /// Remaining spending limit in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit_remaining")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double LimitRemaining { get; set; } + public double? LimitRemaining { get; set; } /// /// Type of limit reset for the API key @@ -174,12 +172,6 @@ public sealed partial class KeyGetResponsesContentApplicationJsonSchemaData /// /// Human-readable label for the API key /// - /// - /// Spending limit for the API key in USD - /// - /// - /// Remaining spending limit in USD - /// /// /// Legacy rate limit information about a key. Will always return -1. /// @@ -201,6 +193,12 @@ public sealed partial class KeyGetResponsesContentApplicationJsonSchemaData /// /// ISO 8601 UTC timestamp when the API key expires, or null if no expiration /// + /// + /// Spending limit for the API key in USD + /// + /// + /// Remaining spending limit in USD + /// /// /// Type of limit reset for the API key /// @@ -217,8 +215,6 @@ public KeyGetResponsesContentApplicationJsonSchemaData( bool isManagementKey, bool isProvisioningKey, string label, - double limit, - double limitRemaining, global::OpenRouter.KeyGetResponsesContentApplicationJsonSchemaDataRateLimit rateLimit, double usage, double usageDaily, @@ -226,6 +222,8 @@ public KeyGetResponsesContentApplicationJsonSchemaData( double usageWeekly, string? creatorUserId, global::System.DateTime? expiresAt, + double? limit, + double? limitRemaining, string? limitReset) { this.ByokUsage = byokUsage; diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysGetResponsesContentApplicationJsonSchemaDataItems.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysGetResponsesContentApplicationJsonSchemaDataItems.g.cs index c3d7e2e0..8cd04d8c 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysGetResponsesContentApplicationJsonSchemaDataItems.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysGetResponsesContentApplicationJsonSchemaDataItems.g.cs @@ -87,15 +87,13 @@ public sealed partial class KeysGetResponsesContentApplicationJsonSchemaDataItem /// Spending limit for the API key in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double Limit { get; set; } + public double? Limit { get; set; } /// /// Remaining spending limit in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit_remaining")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double LimitRemaining { get; set; } + public double? LimitRemaining { get; set; } /// /// Type of limit reset for the API key @@ -180,12 +178,6 @@ public sealed partial class KeysGetResponsesContentApplicationJsonSchemaDataItem /// /// Human-readable label for the API key /// - /// - /// Spending limit for the API key in USD - /// - /// - /// Remaining spending limit in USD - /// /// /// Name of the API key /// @@ -207,6 +199,12 @@ public sealed partial class KeysGetResponsesContentApplicationJsonSchemaDataItem /// /// ISO 8601 UTC timestamp when the API key expires, or null if no expiration /// + /// + /// Spending limit for the API key in USD + /// + /// + /// Remaining spending limit in USD + /// /// /// Type of limit reset for the API key /// @@ -226,8 +224,6 @@ public KeysGetResponsesContentApplicationJsonSchemaDataItems( string hash, bool includeByokInLimit, string label, - double limit, - double limitRemaining, string name, double usage, double usageDaily, @@ -235,6 +231,8 @@ public KeysGetResponsesContentApplicationJsonSchemaDataItems( double usageWeekly, string? creatorUserId, global::System.DateTime? expiresAt, + double? limit, + double? limitRemaining, string? limitReset, string? updatedAt) { diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysHashGetResponsesContentApplicationJsonSchemaData.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysHashGetResponsesContentApplicationJsonSchemaData.g.cs index 65aa2efe..739ce5ae 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysHashGetResponsesContentApplicationJsonSchemaData.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysHashGetResponsesContentApplicationJsonSchemaData.g.cs @@ -87,15 +87,13 @@ public sealed partial class KeysHashGetResponsesContentApplicationJsonSchemaData /// Spending limit for the API key in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double Limit { get; set; } + public double? Limit { get; set; } /// /// Remaining spending limit in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit_remaining")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double LimitRemaining { get; set; } + public double? LimitRemaining { get; set; } /// /// Type of limit reset for the API key @@ -180,12 +178,6 @@ public sealed partial class KeysHashGetResponsesContentApplicationJsonSchemaData /// /// Human-readable label for the API key /// - /// - /// Spending limit for the API key in USD - /// - /// - /// Remaining spending limit in USD - /// /// /// Name of the API key /// @@ -207,6 +199,12 @@ public sealed partial class KeysHashGetResponsesContentApplicationJsonSchemaData /// /// ISO 8601 UTC timestamp when the API key expires, or null if no expiration /// + /// + /// Spending limit for the API key in USD + /// + /// + /// Remaining spending limit in USD + /// /// /// Type of limit reset for the API key /// @@ -226,8 +224,6 @@ public KeysHashGetResponsesContentApplicationJsonSchemaData( string hash, bool includeByokInLimit, string label, - double limit, - double limitRemaining, string name, double usage, double usageDaily, @@ -235,6 +231,8 @@ public KeysHashGetResponsesContentApplicationJsonSchemaData( double usageWeekly, string? creatorUserId, global::System.DateTime? expiresAt, + double? limit, + double? limitRemaining, string? limitReset, string? updatedAt) { diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysHashPatchResponsesContentApplicationJsonSchemaData.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysHashPatchResponsesContentApplicationJsonSchemaData.g.cs index 9da8a188..1670c566 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysHashPatchResponsesContentApplicationJsonSchemaData.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysHashPatchResponsesContentApplicationJsonSchemaData.g.cs @@ -87,15 +87,13 @@ public sealed partial class KeysHashPatchResponsesContentApplicationJsonSchemaDa /// Spending limit for the API key in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double Limit { get; set; } + public double? Limit { get; set; } /// /// Remaining spending limit in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit_remaining")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double LimitRemaining { get; set; } + public double? LimitRemaining { get; set; } /// /// Type of limit reset for the API key @@ -180,12 +178,6 @@ public sealed partial class KeysHashPatchResponsesContentApplicationJsonSchemaDa /// /// Human-readable label for the API key /// - /// - /// Spending limit for the API key in USD - /// - /// - /// Remaining spending limit in USD - /// /// /// Name of the API key /// @@ -207,6 +199,12 @@ public sealed partial class KeysHashPatchResponsesContentApplicationJsonSchemaDa /// /// ISO 8601 UTC timestamp when the API key expires, or null if no expiration /// + /// + /// Spending limit for the API key in USD + /// + /// + /// Remaining spending limit in USD + /// /// /// Type of limit reset for the API key /// @@ -226,8 +224,6 @@ public KeysHashPatchResponsesContentApplicationJsonSchemaData( string hash, bool includeByokInLimit, string label, - double limit, - double limitRemaining, string name, double usage, double usageDaily, @@ -235,6 +231,8 @@ public KeysHashPatchResponsesContentApplicationJsonSchemaData( double usageWeekly, string? creatorUserId, global::System.DateTime? expiresAt, + double? limit, + double? limitRemaining, string? limitReset, string? updatedAt) { diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysPostResponsesContentApplicationJsonSchemaData.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysPostResponsesContentApplicationJsonSchemaData.g.cs index 727650ec..5fad4340 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysPostResponsesContentApplicationJsonSchemaData.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.KeysPostResponsesContentApplicationJsonSchemaData.g.cs @@ -87,15 +87,13 @@ public sealed partial class KeysPostResponsesContentApplicationJsonSchemaData /// Spending limit for the API key in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double Limit { get; set; } + public double? Limit { get; set; } /// /// Remaining spending limit in USD /// [global::System.Text.Json.Serialization.JsonPropertyName("limit_remaining")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double LimitRemaining { get; set; } + public double? LimitRemaining { get; set; } /// /// Type of limit reset for the API key @@ -180,12 +178,6 @@ public sealed partial class KeysPostResponsesContentApplicationJsonSchemaData /// /// Human-readable label for the API key /// - /// - /// Spending limit for the API key in USD - /// - /// - /// Remaining spending limit in USD - /// /// /// Name of the API key /// @@ -207,6 +199,12 @@ public sealed partial class KeysPostResponsesContentApplicationJsonSchemaData /// /// ISO 8601 UTC timestamp when the API key expires, or null if no expiration /// + /// + /// Spending limit for the API key in USD + /// + /// + /// Remaining spending limit in USD + /// /// /// Type of limit reset for the API key /// @@ -226,8 +224,6 @@ public KeysPostResponsesContentApplicationJsonSchemaData( string hash, bool includeByokInLimit, string label, - double limit, - double limitRemaining, string name, double usage, double usageDaily, @@ -235,6 +231,8 @@ public KeysPostResponsesContentApplicationJsonSchemaData( double usageWeekly, string? creatorUserId, global::System.DateTime? expiresAt, + double? limit, + double? limitRemaining, string? limitReset, string? updatedAt) { diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.MessagesResultUsage.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.MessagesResultUsage.g.cs index 62d2c3c9..77f1848b 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.MessagesResultUsage.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.MessagesResultUsage.g.cs @@ -19,15 +19,13 @@ public sealed partial class MessagesResultUsage /// /// [global::System.Text.Json.Serialization.JsonPropertyName("cache_creation_input_tokens")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int CacheCreationInputTokens { get; set; } + public int? CacheCreationInputTokens { get; set; } /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("cache_read_input_tokens")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int CacheReadInputTokens { get; set; } + public int? CacheReadInputTokens { get; set; } /// /// @@ -104,11 +102,11 @@ public sealed partial class MessagesResultUsage /// Initializes a new instance of the class. /// /// - /// - /// /// /// /// + /// + /// /// /// /// @@ -121,11 +119,11 @@ public sealed partial class MessagesResultUsage #endif public MessagesResultUsage( global::OpenRouter.AnthropicCacheCreation cacheCreation, - int cacheCreationInputTokens, - int cacheReadInputTokens, int inputTokens, int outputTokens, global::OpenRouter.AnthropicServerToolUsage serverToolUse, + int? cacheCreationInputTokens, + int? cacheReadInputTokens, string? inferenceGeo, string? serviceTier, double? cost, diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.Model.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.Model.g.cs index 30b3451b..5ca1c2fc 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.Model.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.Model.g.cs @@ -26,8 +26,7 @@ public sealed partial class Model /// Maximum context length in tokens /// [global::System.Text.Json.Serialization.JsonPropertyName("context_length")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int ContextLength { get; set; } + public int? ContextLength { get; set; } /// /// Unix timestamp of when the model was created @@ -132,9 +131,6 @@ public sealed partial class Model /// /// Canonical slug for the model /// - /// - /// Maximum context length in tokens - /// /// /// Unix timestamp of when the model was created /// @@ -162,6 +158,9 @@ public sealed partial class Model /// /// Information about the top provider for this model /// + /// + /// Maximum context length in tokens + /// /// /// Description of the model /// @@ -180,7 +179,6 @@ public sealed partial class Model public Model( global::OpenRouter.ModelArchitecture architecture, string canonicalSlug, - int contextLength, global::System.DateTimeOffset created, global::OpenRouter.DefaultParameters defaultParameters, string id, @@ -190,6 +188,7 @@ public Model( global::OpenRouter.PublicPricing pricing, global::System.Collections.Generic.IList supportedParameters, global::OpenRouter.TopProviderInfo topProvider, + int? contextLength, string? description, string? expirationDate, string? huggingFaceId, diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.OpenResponsesResult.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.OpenResponsesResult.g.cs index 48c20339..b36c0d4b 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.OpenResponsesResult.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.OpenResponsesResult.g.cs @@ -18,8 +18,7 @@ public sealed partial class OpenResponsesResult /// /// [global::System.Text.Json.Serialization.JsonPropertyName("completed_at")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int CompletedAt { get; set; } + public int? CompletedAt { get; set; } /// /// @@ -39,8 +38,7 @@ public sealed partial class OpenResponsesResult /// /// [global::System.Text.Json.Serialization.JsonPropertyName("frequency_penalty")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double FrequencyPenalty { get; set; } + public double? FrequencyPenalty { get; set; } /// /// @@ -121,8 +119,7 @@ public sealed partial class OpenResponsesResult /// /// [global::System.Text.Json.Serialization.JsonPropertyName("presence_penalty")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double PresencePenalty { get; set; } + public double? PresencePenalty { get; set; } /// /// @@ -178,8 +175,7 @@ public sealed partial class OpenResponsesResult /// /// [global::System.Text.Json.Serialization.JsonPropertyName("temperature")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double Temperature { get; set; } + public double? Temperature { get; set; } /// /// Text output configuration including format and verbosity @@ -212,8 +208,7 @@ public sealed partial class OpenResponsesResult /// /// [global::System.Text.Json.Serialization.JsonPropertyName("top_p")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double TopP { get; set; } + public double? TopP { get; set; } /// /// @@ -243,12 +238,10 @@ public sealed partial class OpenResponsesResult /// /// Initializes a new instance of the class. /// - /// /// /// /// Error information returned from the API /// - /// /// /// /// @@ -258,17 +251,17 @@ public sealed partial class OpenResponsesResult /// /// /// - /// /// - /// /// /// - /// /// + /// + /// /// /// /// /// + /// /// /// /// @@ -276,10 +269,12 @@ public sealed partial class OpenResponsesResult /// /// /// + /// /// /// Text output configuration including format and verbosity /// /// + /// /// /// /// Token usage information for the response @@ -289,10 +284,8 @@ public sealed partial class OpenResponsesResult [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif public OpenResponsesResult( - int completedAt, int createdAt, global::OpenRouter.ResponsesErrorField error, - double frequencyPenalty, string id, global::OpenRouter.IncompleteDetails incompleteDetails, global::OpenRouter.BaseInputs instructions, @@ -300,17 +293,17 @@ public OpenResponsesResult( string model, global::System.Collections.Generic.IList output, bool parallelToolCalls, - double presencePenalty, global::OpenRouter.OpenAIResponsesResponseStatus status, - double temperature, global::OpenRouter.OpenAIResponsesToolChoice toolChoice, global::System.Collections.Generic.IList tools, - double topP, bool? background, + int? completedAt, + double? frequencyPenalty, int? maxOutputTokens, int? maxToolCalls, global::OpenRouter.BaseResponsesResultObject @object, string? outputText, + double? presencePenalty, string? previousResponseId, global::OpenRouter.StoredPromptTemplate? prompt, string? promptCacheKey, @@ -318,8 +311,10 @@ public OpenResponsesResult( string? safetyIdentifier, string? serviceTier, bool? store, + double? temperature, global::OpenRouter.TextConfig? text, int? topLogprobs, + double? topP, global::OpenRouter.Truncation? truncation, global::OpenRouter.Usage? usage, string? user) diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.PublicEndpoint.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.PublicEndpoint.g.cs index 86a06603..36ddce0e 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.PublicEndpoint.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.PublicEndpoint.g.cs @@ -26,15 +26,13 @@ public sealed partial class PublicEndpoint /// /// [global::System.Text.Json.Serialization.JsonPropertyName("max_completion_tokens")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int MaxCompletionTokens { get; set; } + public int? MaxCompletionTokens { get; set; } /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("max_prompt_tokens")] - [global::System.Text.Json.Serialization.JsonRequired] - public required int MaxPromptTokens { get; set; } + public int? MaxPromptTokens { get; set; } /// /// The unique identifier for the model (permaslug) @@ -118,22 +116,19 @@ public sealed partial class PublicEndpoint /// Uptime percentage over the last 1 day, calculated as successful requests / (successful + error requests) * 100. Rate-limited requests are excluded. Returns null if insufficient data. /// [global::System.Text.Json.Serialization.JsonPropertyName("uptime_last_1d")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double UptimeLast1d { get; set; } + public double? UptimeLast1d { get; set; } /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("uptime_last_30m")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double UptimeLast30m { get; set; } + public double? UptimeLast30m { get; set; } /// /// Uptime percentage over the last 5 minutes, calculated as successful requests / (successful + error requests) * 100. Rate-limited requests are excluded. Returns null if insufficient data. /// [global::System.Text.Json.Serialization.JsonPropertyName("uptime_last_5m")] - [global::System.Text.Json.Serialization.JsonRequired] - public required double UptimeLast5m { get; set; } + public double? UptimeLast5m { get; set; } /// /// Additional properties that are not explicitly defined in the schema @@ -148,8 +143,6 @@ public sealed partial class PublicEndpoint /// /// Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests. /// - /// - /// /// /// The unique identifier for the model (permaslug) /// @@ -162,6 +155,9 @@ public sealed partial class PublicEndpoint /// /// /// + /// + /// + /// /// /// Uptime percentage over the last 1 day, calculated as successful requests / (successful + error requests) * 100. Rate-limited requests are excluded. Returns null if insufficient data. /// @@ -169,15 +165,12 @@ public sealed partial class PublicEndpoint /// /// Uptime percentage over the last 5 minutes, calculated as successful requests / (successful + error requests) * 100. Rate-limited requests are excluded. Returns null if insufficient data. /// - /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif public PublicEndpoint( int contextLength, global::OpenRouter.PercentileStats latencyLast30m, - int maxCompletionTokens, - int maxPromptTokens, string modelId, string modelName, string name, @@ -188,10 +181,12 @@ public PublicEndpoint( bool supportsImplicitCaching, string tag, global::OpenRouter.PublicEndpointThroughputLast30M throughputLast30m, - double uptimeLast1d, - double uptimeLast30m, - double uptimeLast5m, - global::OpenRouter.EndpointStatus? status) + int? maxCompletionTokens, + int? maxPromptTokens, + global::OpenRouter.EndpointStatus? status, + double? uptimeLast1d, + double? uptimeLast30m, + double? uptimeLast5m) { this.ContextLength = contextLength; this.LatencyLast30m = latencyLast30m ?? throw new global::System.ArgumentNullException(nameof(latencyLast30m)); diff --git a/src/libs/OpenRouter/openapi.yaml b/src/libs/OpenRouter/openapi.yaml index b0fbcd10..cb4821b8 100644 --- a/src/libs/OpenRouter/openapi.yaml +++ b/src/libs/OpenRouter/openapi.yaml @@ -2158,7 +2158,10 @@ "description": "Whether to include BYOK usage in the limit" }, "limit": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Optional spending limit for the API key in USD" }, @@ -2425,7 +2428,10 @@ "description": "Whether to include BYOK usage in the limit" }, "limit": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "New spending limit for the API key in USD" }, @@ -5438,22 +5444,34 @@ "type": "object", "properties": { "p50": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Maximum p50 latency (seconds)" }, "p75": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Maximum p75 latency (seconds)" }, "p90": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Maximum p90 latency (seconds)" }, "p99": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Maximum p99 latency (seconds)" } @@ -5481,22 +5499,34 @@ "type": "object", "properties": { "p50": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Minimum p50 throughput (tokens/sec)" }, "p75": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Minimum p75 throughput (tokens/sec)" }, "p90": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Minimum p90 throughput (tokens/sec)" }, "p99": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Minimum p99 throughput (tokens/sec)" } @@ -5747,7 +5777,10 @@ ] }, "max_tokens": { - "type": "integer" + "type": [ + "integer", + "null" + ] } }, "description": "Configuration for reasoning mode in the response", @@ -7317,7 +7350,10 @@ ] }, "frequency_penalty": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "image_config": { @@ -7346,10 +7382,16 @@ ] }, "max_output_tokens": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "max_tool_calls": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "metadata": { "$ref": "#/components/schemas/RequestMetadata" @@ -7384,7 +7426,10 @@ "description": "Plugins you want to enable for this request, including their settings." }, "presence_penalty": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "previous_response_id": { @@ -7442,7 +7487,10 @@ "default": false }, "temperature": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "text": { @@ -7461,10 +7509,16 @@ "type": "integer" }, "top_logprobs": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "top_p": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "trace": { @@ -9107,7 +9161,10 @@ "type": "object", "properties": { "upstream_inference_cost": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "upstream_inference_input_cost": { @@ -9144,7 +9201,10 @@ "type": "integer" }, "cost": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Cost of the completion" }, @@ -9176,7 +9236,10 @@ ] }, "completed_at": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "created_at": { "type": "integer" @@ -9185,7 +9248,10 @@ "$ref": "#/components/schemas/ResponsesErrorField" }, "frequency_penalty": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "id": { @@ -9198,10 +9264,16 @@ "$ref": "#/components/schemas/BaseInputs" }, "max_output_tokens": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "max_tool_calls": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "metadata": { "$ref": "#/components/schemas/RequestMetadata" @@ -9225,7 +9297,10 @@ "type": "boolean" }, "presence_penalty": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "previous_response_id": { @@ -9265,7 +9340,10 @@ "type": "boolean" }, "temperature": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "text": { @@ -9284,7 +9362,10 @@ "type": "integer" }, "top_p": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "truncation": { @@ -11532,7 +11613,10 @@ "$ref": "#/components/schemas/ChatDebugOptions" }, "frequency_penalty": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Frequency penalty (-2.0 to 2.0)" }, @@ -11562,11 +11646,17 @@ "description": "Return log probabilities" }, "max_completion_tokens": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Maximum tokens in completion" }, "max_tokens": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16." }, "messages": { @@ -11611,7 +11701,10 @@ "description": "Plugins you want to enable for this request, including their settings." }, "presence_penalty": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Presence penalty (-2.0 to 2.0)" }, @@ -11630,7 +11723,10 @@ "description": "Any type" }, "seed": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Random seed for deterministic outputs" }, "service_tier": { @@ -11661,7 +11757,10 @@ "$ref": "#/components/schemas/ChatStreamOptions" }, "temperature": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Sampling temperature (0-2)" }, @@ -11676,11 +11775,17 @@ "description": "Available tools for function calling" }, "top_logprobs": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Number of top log probabilities to return (0-20)" }, "top_p": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Nucleus sampling parameter (0-1)" }, @@ -11841,19 +11946,31 @@ "type": "object", "properties": { "accepted_prediction_tokens": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Accepted prediction tokens" }, "audio_tokens": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Tokens used for audio output" }, "reasoning_tokens": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Tokens used for reasoning" }, "rejected_prediction_tokens": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Rejected prediction tokens" } }, @@ -12490,19 +12607,31 @@ "type": "object", "properties": { "frequency_penalty": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "presence_penalty": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "repetition_penalty": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "temperature": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "top_k": { @@ -12512,7 +12641,10 @@ ] }, "top_p": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" } }, @@ -12708,7 +12840,10 @@ "type": "object", "properties": { "context_length": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Context length from the top provider" }, "is_moderated": { @@ -12716,7 +12851,10 @@ "description": "Whether the top provider moderates content" }, "max_completion_tokens": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Maximum completion tokens from the top provider" } }, @@ -12737,7 +12875,10 @@ "description": "Canonical slug for the model" }, "context_length": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Maximum context length in tokens" }, "created": { @@ -13048,10 +13189,16 @@ "$ref": "#/components/schemas/PercentileStats" }, "max_completion_tokens": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "max_prompt_tokens": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "model_id": { "type": "string", @@ -13091,16 +13238,25 @@ "$ref": "#/components/schemas/PublicEndpointThroughputLast30M" }, "uptime_last_1d": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Uptime percentage over the last 1 day, calculated as successful requests / (successful + error requests) * 100. Rate-limited requests are excluded. Returns null if insufficient data." }, "uptime_last_30m": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "uptime_last_5m": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Uptime percentage over the last 5 minutes, calculated as successful requests / (successful + error requests) * 100. Rate-limited requests are excluded. Returns null if insufficient data." } @@ -13451,11 +13607,17 @@ "description": "Type of API used for the generation" }, "app_id": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "ID of the app that made the request" }, "cache_discount": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Discount applied due to caching" }, @@ -13485,7 +13647,10 @@ "description": "Reason the generation finished" }, "generation_time": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Time taken for generation in milliseconds" }, @@ -13505,7 +13670,10 @@ "description": "Whether this used bring-your-own-key" }, "latency": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Total latency in milliseconds" }, @@ -13514,7 +13682,10 @@ "description": "Model used for the generation" }, "moderation_latency": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Moderation latency in milliseconds" }, @@ -13526,39 +13697,66 @@ "description": "Native finish reason as reported by provider" }, "native_tokens_cached": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Native cached tokens as reported by provider" }, "native_tokens_completion": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Native completion tokens as reported by provider" }, "native_tokens_completion_images": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Native completion image tokens as reported by provider" }, "native_tokens_prompt": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Native prompt tokens as reported by provider" }, "native_tokens_reasoning": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Native reasoning tokens as reported by provider" }, "num_input_audio_prompt": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Number of audio inputs in the prompt" }, "num_media_completion": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Number of media items in the completion" }, "num_media_prompt": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Number of media items in the prompt" }, "num_search_results": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Number of search results included" }, "origin": { @@ -13611,11 +13809,17 @@ "description": "Whether the response was streamed" }, "tokens_completion": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Number of tokens in the completion" }, "tokens_prompt": { - "type": "integer", + "type": [ + "integer", + "null" + ], "description": "Number of tokens in the prompt" }, "total_cost": { @@ -13631,7 +13835,10 @@ "description": "Upstream provider's identifier for this generation" }, "upstream_inference_cost": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Cost charged by the upstream provider" }, @@ -13780,7 +13987,10 @@ "description": "List of provider IDs to exclude from routing" }, "limit_usd": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit in USD" }, @@ -13885,7 +14095,10 @@ "description": "List of provider IDs to exclude from routing" }, "limit_usd": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit in USD" }, @@ -13969,7 +14182,10 @@ "description": "List of provider IDs to exclude from routing" }, "limit_usd": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit in USD" }, @@ -14074,7 +14290,10 @@ "description": "List of provider IDs to exclude from routing" }, "limit_usd": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit in USD" }, @@ -14186,7 +14405,10 @@ "description": "List of provider IDs to exclude from routing" }, "limit_usd": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "New spending limit in USD" }, @@ -14267,7 +14489,10 @@ "description": "List of provider IDs to exclude from routing" }, "limit_usd": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit in USD" }, @@ -14637,12 +14862,18 @@ "description": "Human-readable label for the API key" }, "limit": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit for the API key in USD" }, "limit_remaining": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Remaining spending limit in USD" }, @@ -14773,12 +15004,18 @@ "description": "Human-readable label for the API key" }, "limit": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit for the API key in USD" }, "limit_remaining": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Remaining spending limit in USD" }, @@ -14929,12 +15166,18 @@ "description": "Human-readable label for the API key" }, "limit": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit for the API key in USD" }, "limit_remaining": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Remaining spending limit in USD" }, @@ -15078,12 +15321,18 @@ "description": "Human-readable label for the API key" }, "limit": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit for the API key in USD" }, "limit_remaining": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Remaining spending limit in USD" }, @@ -15248,12 +15497,18 @@ "description": "Human-readable label for the API key" }, "limit": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Spending limit for the API key in USD" }, "limit_remaining": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "Remaining spending limit in USD" }, @@ -17282,7 +17537,10 @@ "$ref": "#/components/schemas/AnthropicCacheControlDirective" }, "max_uses": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "name": { "$ref": "#/components/schemas/MessagesRequestToolsItemsOneOf3Name" @@ -17354,7 +17612,10 @@ "$ref": "#/components/schemas/AnthropicCacheControlDirective" }, "max_uses": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "name": { "$ref": "#/components/schemas/MessagesRequestToolsItemsOneOf4Name" @@ -18609,13 +18870,22 @@ "$ref": "#/components/schemas/AnthropicTextEditorCodeExecutionViewResultFileType" }, "num_lines": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "start_line": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "total_lines": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "$ref": "#/components/schemas/AnthropicTextEditorCodeExecutionViewResultType" @@ -18674,16 +18944,28 @@ } }, "new_lines": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "new_start": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "old_lines": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "old_start": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "type": { "$ref": "#/components/schemas/AnthropicTextEditorCodeExecutionStrReplaceResultType" @@ -19203,10 +19485,16 @@ "$ref": "#/components/schemas/AnthropicCacheCreation" }, "cache_creation_input_tokens": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "cache_read_input_tokens": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "inference_geo": { "type": [ @@ -19256,7 +19544,10 @@ "format": "double" }, "upstream_inference_cost": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "upstream_inference_prompt_cost": { @@ -19277,10 +19568,16 @@ "$ref": "#/components/schemas/AnthropicCacheCreation" }, "cache_creation_input_tokens": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "cache_read_input_tokens": { - "type": "integer" + "type": [ + "integer", + "null" + ] }, "inference_geo": { "type": [ @@ -19304,7 +19601,10 @@ ] }, "cost": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double" }, "cost_details": { @@ -21154,7 +21454,10 @@ "type": "object", "properties": { "cost": { - "type": "number", + "type": [ + "number", + "null" + ], "format": "double", "description": "The cost of the video generation in USD." },