From 39e2daaaf32150c7ec081d876eb120cc68ff2d1a Mon Sep 17 00:00:00 2001 From: HavenDV Date: Tue, 6 Aug 2024 21:58:03 +0400 Subject: [PATCH] feat: Initial commit. --- .github/dependabot.yml | 17 + .github/workflows/auto-merge.yml | 39 + .github/workflows/auto-update.yml | 63 + .github/workflows/dotnet.yml | 19 + .github/workflows/pull-request.yml | 15 + .gitignore | 399 ++ DeepInfra.sln | 71 + README.md | 40 +- assets/nuget_icon.png | Bin 0 -> 132733 bytes global.json | 6 + src/Directory.Build.props | 9 + .../FixOpenApiSpec/FixOpenApiSpec.csproj | 15 + src/helpers/FixOpenApiSpec/Program.cs | 39 + src/helpers/TrimmingHelper/Program.cs | 1 + .../TrimmingHelper/TrimmingHelper.csproj | 30 + src/key.snk | Bin 0 -> 596 bytes src/libs/DeepInfra/DeepInfra.csproj | 40 + .../DeepInfraApi.AdditionalConstructors.cs | 18 + src/libs/DeepInfra/Generated/AllOf.1.g.cs | 114 + src/libs/DeepInfra/Generated/AnyOf.2.g.cs | 165 + src/libs/DeepInfra/Generated/AnyOf.4.g.cs | 247 ++ src/libs/DeepInfra/Generated/AnyOf.6.g.cs | 329 ++ ...raApi.AccountEmailValuesV1MeEmailsGet.g.cs | 83 + ...aApi.AccountRateLimitV1MeRateLimitGet.g.cs | 83 + ...nfraApi.AccountUpdateDetailsV1MePatch.g.cs | 134 + ....BillingPortalPaymentBillingPortalGet.g.cs | 97 + ....DeepInfraApi.CliVersionCliVersionGet.g.cs | 89 + ...nfraApi.CreateApiTokenV1ApiTokensPost.g.cs | 116 + ...tApplyPaymentDeepstartApplicationPost.g.cs | 154 + ....DeepInfraApi.DeleteAccountV1MeDelete.g.cs | 83 + ...leteApiTokenV1ApiTokensApiTokenDelete.g.cs | 89 + ...epInfraApi.DeployCreateHfDeployHfPost.g.cs | 125 + ...InfraApi.DeployCreateLlmDeployLlmPost.g.cs | 141 + ...DeepInfraApi.DeployCreateV1DeployPost.g.cs | 129 + ...aApi.DeployDeleteDeployDeployIdDelete.g.cs | 89 + ...yDetailedStatsDeployDeployIdStats2Get.g.cs | 106 + ...ailabilityDeployLlmGpuAvailabilityGet.g.cs | 89 + ....DeepInfraApi.DeployListDeployListGet.g.cs | 91 + ...Api.DeployStatsDeployDeployIdStatsGet.g.cs | 106 + ...nfraApi.DeployStatusDeployDeployIdGet.g.cs | 89 + ...nfraApi.DeployUpdateDeployDeployIdPut.g.cs | 125 + ...mentLogsQueryV1DeploymentLogsQueryGet.g.cs | 130 + ...Api.GetApiTokenV1ApiTokensApiTokenGet.g.cs | 89 + ...epInfraApi.GetApiTokensV1ApiTokensGet.g.cs | 83 + ...raApi.GetChecklistPaymentChecklistGet.g.cs | 89 + ...eepInfraApi.GetConfigPaymentConfigGet.g.cs | 89 + ...raApi.GithubCliLoginGithubCliLoginGet.g.cs | 91 + ...eepInfraApi.GithubLoginGithubLoginGet.g.cs | 102 + ...ceDeployV1InferenceDeployDeployIdPost.g.cs | 101 + ...nferenceModelV1InferenceModelNamePost.g.cs | 109 + ....DeepInfraApi.LogsQueryV1LogsQueryGet.g.cs | 122 + .../DeepInfra.DeepInfraApi.MeV1MeGet.g.cs | 83 + ...aApi.ModelDeleteModelsModelNameDelete.g.cs | 97 + ...odelMetaUpdateModelsModelNameMetaPost.g.cs | 157 + ...PublicityModelsModelNamePublicityPost.g.cs | 127 + ...emaModelsModelNameSchemaVariantKeyGet.g.cs | 103 + ...delVersionsModelsModelNameVersionsGet.g.cs | 89 + ...raApi.ModelsFeaturedModelsFeaturedGet.g.cs | 83 + ...InfraApi.ModelsInfoModelsModelNameGet.g.cs | 95 + ....DeepInfraApi.ModelsListModelsListGet.g.cs | 83 + ...naiAudioSpeechV1OpenaiAudioSpeechPost.g.cs | 157 + ...ompletionsV1OpenaiChatCompletionsPost.g.cs | 210 + ...naiCompletionsV1OpenaiCompletionsPost.g.cs | 210 + ...penaiEmbeddingsV1OpenaiEmbeddingsPost.g.cs | 149 + ...nfraApi.OpenaiModelsV1OpenaiModelsGet.g.cs | 83 + ...PrivateModelsListModelsPrivateListGet.g.cs | 83 + ...LimitIncreaseV1MeRateLimitRequestPost.g.cs | 119 + ...epInfraApi.SetConfigPaymentConfigPost.g.cs | 127 + ...InfraApi.SubmitFeedbackV1FeedbackPost.g.cs | 125 + ...fra.DeepInfraApi.UsagePaymentUsageGet.g.cs | 105 + .../Generated/DeepInfra.DeepInfraApi.g.cs | 55 + .../Generated/DeepInfra.Models.ApiToken.g.cs | 38 + .../DeepInfra.Models.ApiTokenIn.g.cs | 24 + .../DeepInfra.Models.BillingPortalOut.g.cs | 24 + ...Models.ChatCompletionAssistantMessage.g.cs | 43 + ...ls.ChatCompletionAssistantMessageRole.g.cs | 46 + ...Models.ChatCompletionContentPartImage.g.cs | 32 + ...ls.ChatCompletionContentPartImageType.g.cs | 45 + ....Models.ChatCompletionContentPartText.g.cs | 32 + ...els.ChatCompletionContentPartTextType.g.cs | 45 + ....Models.ChatCompletionMessageToolCall.g.cs | 41 + ...ra.Models.ChatCompletionSystemMessage.g.cs | 38 + ...odels.ChatCompletionSystemMessageRole.g.cs | 46 + ...nfra.Models.ChatCompletionToolMessage.g.cs | 39 + ....Models.ChatCompletionToolMessageRole.g.cs | 46 + ...nfra.Models.ChatCompletionUserMessage.g.cs | 41 + ....Models.ChatCompletionUserMessageRole.g.cs | 46 + .../Generated/DeepInfra.Models.ChatTools.g.cs | 30 + .../Generated/DeepInfra.Models.Checklist.g.cs | 73 + .../Generated/DeepInfra.Models.ConfigIn.g.cs | 23 + .../Generated/DeepInfra.Models.ConfigOut.g.cs | 24 + .../Generated/DeepInfra.Models.DeepError.g.cs | 25 + ...epInfra.Models.DeepStartApplicationIn.g.cs | 82 + ...pInfra.Models.DeepStartApplicationOut.g.cs | 89 + .../DeepInfra.Models.DeployDelete.g.cs | 25 + ...eepInfra.Models.DeployGPUAvailability.g.cs | 24 + .../DeepInfra.Models.DeployGPUs.g.cs | 51 + .../DeepInfra.Models.DeployInstances.g.cs | 31 + .../DeepInfra.Models.DeployLLMConfig.g.cs | 49 + .../DeepInfra.Models.DeployLLMConfigGpu.g.cs | 51 + .../DeepInfra.Models.DeployLLMIn.g.cs | 60 + .../DeepInfra.Models.DeployLLMInGpu.g.cs | 51 + .../DeepInfra.Models.DeployLLMUpdateIn.g.cs | 24 + .../DeepInfra.Models.DeployModelIn.g.cs | 40 + ...eepInfra.Models.DeployModelInProvider.g.cs | 57 + .../DeepInfra.Models.DeployResult.g.cs | 25 + .../DeepInfra.Models.DeployStatusOut.g.cs | 25 + .../DeepInfra.Models.DeployType.g.cs | 51 + .../DeepInfra.Models.DeploymentLogEntry.g.cs | 31 + ...eepInfra.Models.DeploymentLogQueryOut.g.cs | 23 + .../DeepInfra.Models.DeploymentOut.g.cs | 109 + .../DeepInfra.Models.DeploymentOutType.g.cs | 51 + .../DeepInfra.Models.DeploymentStatsOut.g.cs | 80 + ...fra.Models.DetailedDeploymentStatsOut.g.cs | 40 + .../Generated/DeepInfra.Models.EmailsOut.g.cs | 24 + ...a.Models.EmbeddingsDeploymentStatsOut.g.cs | 59 + .../DeepInfra.Models.FeedbackIn.g.cs | 30 + .../Generated/DeepInfra.Models.Function.g.cs | 31 + .../DeepInfra.Models.FunctionDefinition.g.cs | 37 + .../DeepInfra.Models.GPUAvailabilityInfo.g.cs | 38 + .../Generated/DeepInfra.Models.HFModel.g.cs | 32 + .../Generated/DeepInfra.Models.HFTasksE.g.cs | 129 + .../Generated/DeepInfra.Models.HFWeights.g.cs | 36 + .../DeepInfra.Models.HTTPValidationError.g.cs | 23 + .../Generated/DeepInfra.Models.ImageURL.g.cs | 31 + .../DeepInfra.Models.ImageURLDetail.g.cs | 57 + ...eepInfra.Models.LLMDeploymentStatsOut.g.cs | 80 + .../Generated/DeepInfra.Models.LogEntry.g.cs | 31 + .../DeepInfra.Models.LogQueryOut.g.cs | 23 + .../Generated/DeepInfra.Models.Me.g.cs | 85 + .../Generated/DeepInfra.Models.MeIn.g.cs | 47 + .../DeepInfra.Models.ModelDocBlock.g.cs | 32 + .../DeepInfra.Models.ModelDocBlockKey.g.cs | 129 + .../DeepInfra.Models.ModelFieldInfo.g.cs | 85 + .../DeepInfra.Models.ModelInfoOut.g.cs | 196 + .../Generated/DeepInfra.Models.ModelMeta.g.cs | 44 + .../DeepInfra.Models.ModelMetaIn.g.cs | 62 + ...pInfra.Models.ModelMetaInReportedType.g.cs | 129 + .../Generated/DeepInfra.Models.ModelOut.g.cs | 100 + ...dels.ModelPricingInputCharacterLength.g.cs | 30 + ...pInfra.Models.ModelPricingInputLength.g.cs | 30 + ...pInfra.Models.ModelPricingInputTokens.g.cs | 30 + .../DeepInfra.Models.ModelPricingTime.g.cs | 30 + .../DeepInfra.Models.ModelPricingTokens.g.cs | 37 + .../DeepInfra.Models.ModelPricingUptime.g.cs | 30 + .../DeepInfra.Models.ModelProvider.g.cs | 57 + .../DeepInfra.Models.ModelPublicityIn.g.cs | 24 + ...odelNameSchemaVariantKeyGetVariantKey.g.cs | 63 + .../DeepInfra.Models.ModelVersionOut.g.cs | 40 + ...pInfra.Models.OpenAIChatCompletionsIn.g.cs | 116 + .../DeepInfra.Models.OpenAICompletionsIn.g.cs | 116 + .../DeepInfra.Models.OpenAIEmbeddingsIn.g.cs | 44 + ...dels.OpenAIEmbeddingsInEncodingFormat.g.cs | 46 + .../DeepInfra.Models.OpenAIModelOut.g.cs | 57 + .../DeepInfra.Models.OpenAIModelsOut.g.cs | 29 + ...DeepInfra.Models.OpenAITextToSpeechIn.g.cs | 64 + ...ls.OpenAITextToSpeechInResponseFormat.g.cs | 45 + ...nfra.Models.OpenAITextToSpeechInVoice.g.cs | 57 + .../DeepInfra.Models.RateLimitOut.g.cs | 24 + .../DeepInfra.Models.RateLimitRequestIn.g.cs | 31 + .../DeepInfra.Models.ResponseFormat.g.cs | 26 + .../DeepInfra.Models.ResponseFormatType.g.cs | 53 + .../DeepInfra.Models.ScaleSettings.g.cs | 31 + .../DeepInfra.Models.SchemaFieldOut.g.cs | 85 + .../Generated/DeepInfra.Models.SchemaOut.g.cs | 49 + .../DeepInfra.Models.SchemaVariant.g.cs | 32 + .../DeepInfra.Models.SchemaVariantKey.g.cs | 63 + .../DeepInfra.Models.SuspendReason.g.cs | 63 + ...epInfra.Models.TimeDeploymentStatsOut.g.cs | 59 + .../DeepInfra.Models.TimeInterval.g.cs | 29 + .../DeepInfra.Models.TtsResponseFormat.g.cs | 45 + .../Generated/DeepInfra.Models.TtsVoice.g.cs | 57 + .../Generated/DeepInfra.Models.UsageItem.g.cs | 62 + .../DeepInfra.Models.UsageMonth.g.cs | 55 + .../Generated/DeepInfra.Models.UsageOut.g.cs | 31 + .../DeepInfra.Models.ValidationError.g.cs | 40 + .../Generated/DeepInfra.Polyfills.g.cs | 53 + .../Generated/JsonConverters.AllOf1.g.cs | 68 + .../JsonConverters.AllOfFactory1.g.cs | 25 + .../Generated/JsonConverters.AnyOf2.g.cs | 96 + .../Generated/JsonConverters.AnyOf4.g.cs | 152 + .../Generated/JsonConverters.AnyOf6.g.cs | 208 + .../JsonConverters.AnyOfFactory2.g.cs | 25 + .../JsonConverters.AnyOfFactory4.g.cs | 25 + .../JsonConverters.AnyOfFactory6.g.cs | 25 + ...rs.ChatCompletionAssistantMessageRole.g.cs | 49 + ...ompletionAssistantMessageRoleNullable.g.cs | 56 + ...rs.ChatCompletionContentPartImageType.g.cs | 49 + ...ompletionContentPartImageTypeNullable.g.cs | 56 + ...ers.ChatCompletionContentPartTextType.g.cs | 49 + ...CompletionContentPartTextTypeNullable.g.cs | 56 + ...rters.ChatCompletionSystemMessageRole.g.cs | 49 + ...atCompletionSystemMessageRoleNullable.g.cs | 56 + ...verters.ChatCompletionToolMessageRole.g.cs | 49 + ...ChatCompletionToolMessageRoleNullable.g.cs | 56 + ...verters.ChatCompletionUserMessageRole.g.cs | 49 + ...ChatCompletionUserMessageRoleNullable.g.cs | 56 + .../Generated/JsonConverters.DeployGPUs.g.cs | 49 + .../JsonConverters.DeployGPUsNullable.g.cs | 56 + .../JsonConverters.DeployLLMConfigGpu.g.cs | 49 + ...Converters.DeployLLMConfigGpuNullable.g.cs | 56 + .../JsonConverters.DeployLLMInGpu.g.cs | 49 + ...JsonConverters.DeployLLMInGpuNullable.g.cs | 56 + .../JsonConverters.DeployModelInProvider.g.cs | 49 + ...verters.DeployModelInProviderNullable.g.cs | 56 + .../Generated/JsonConverters.DeployType.g.cs | 49 + .../JsonConverters.DeployTypeNullable.g.cs | 56 + .../JsonConverters.DeploymentOutType.g.cs | 49 + ...nConverters.DeploymentOutTypeNullable.g.cs | 56 + .../Generated/JsonConverters.HFTasksE.g.cs | 49 + .../JsonConverters.HFTasksENullable.g.cs | 56 + .../JsonConverters.ImageURLDetail.g.cs | 49 + ...JsonConverters.ImageURLDetailNullable.g.cs | 56 + .../JsonConverters.ModelDocBlockKey.g.cs | 49 + ...onConverters.ModelDocBlockKeyNullable.g.cs | 56 + ...sonConverters.ModelMetaInReportedType.g.cs | 49 + ...rters.ModelMetaInReportedTypeNullable.g.cs | 56 + .../JsonConverters.ModelProvider.g.cs | 49 + .../JsonConverters.ModelProviderNullable.g.cs | 56 + ...odelNameSchemaVariantKeyGetVariantKey.g.cs | 49 + ...SchemaVariantKeyGetVariantKeyNullable.g.cs | 56 + ...ters.OpenAIEmbeddingsInEncodingFormat.g.cs | 49 + ...nAIEmbeddingsInEncodingFormatNullable.g.cs | 56 + ...rs.OpenAITextToSpeechInResponseFormat.g.cs | 49 + ...ITextToSpeechInResponseFormatNullable.g.cs | 56 + ...nConverters.OpenAITextToSpeechInVoice.g.cs | 49 + ...ers.OpenAITextToSpeechInVoiceNullable.g.cs | 56 + .../JsonConverters.ResponseFormatType.g.cs | 49 + ...Converters.ResponseFormatTypeNullable.g.cs | 56 + .../JsonConverters.SchemaVariantKey.g.cs | 49 + ...onConverters.SchemaVariantKeyNullable.g.cs | 56 + .../JsonConverters.SuspendReason.g.cs | 49 + .../JsonConverters.SuspendReasonNullable.g.cs | 56 + .../JsonConverters.TtsResponseFormat.g.cs | 49 + ...nConverters.TtsResponseFormatNullable.g.cs | 56 + .../Generated/JsonConverters.TtsVoice.g.cs | 49 + .../JsonConverters.TtsVoiceNullable.g.cs | 56 + .../Generated/JsonSerializerContext.g.cs | 75 + .../Generated/JsonSerializerContextTypes.g.cs | 434 ++ ...nSerializerContextTypes.AdditionalTypes.cs | 3 + src/libs/DeepInfra/generate.sh | 13 + src/libs/DeepInfra/openapi.yaml | 3713 +++++++++++++++++ src/libs/Directory.Build.props | 65 + .../DeepInfra.IntegrationTests.csproj | 27 + .../Tests.Helpers.cs | 14 + .../Tests.ListModels.cs | 16 + 246 files changed, 20025 insertions(+), 1 deletion(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/auto-merge.yml create mode 100644 .github/workflows/auto-update.yml create mode 100755 .github/workflows/dotnet.yml create mode 100755 .github/workflows/pull-request.yml create mode 100644 .gitignore create mode 100755 DeepInfra.sln create mode 100644 assets/nuget_icon.png create mode 100644 global.json create mode 100755 src/Directory.Build.props create mode 100644 src/helpers/FixOpenApiSpec/FixOpenApiSpec.csproj create mode 100644 src/helpers/FixOpenApiSpec/Program.cs create mode 100644 src/helpers/TrimmingHelper/Program.cs create mode 100644 src/helpers/TrimmingHelper/TrimmingHelper.csproj create mode 100755 src/key.snk create mode 100644 src/libs/DeepInfra/DeepInfra.csproj create mode 100644 src/libs/DeepInfra/DeepInfraApi.AdditionalConstructors.cs create mode 100644 src/libs/DeepInfra/Generated/AllOf.1.g.cs create mode 100644 src/libs/DeepInfra/Generated/AnyOf.2.g.cs create mode 100644 src/libs/DeepInfra/Generated/AnyOf.4.g.cs create mode 100644 src/libs/DeepInfra/Generated/AnyOf.6.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountEmailValuesV1MeEmailsGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountRateLimitV1MeRateLimitGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountUpdateDetailsV1MePatch.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.BillingPortalPaymentBillingPortalGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.CliVersionCliVersionGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.CreateApiTokenV1ApiTokensPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeepstartApplyPaymentDeepstartApplicationPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeleteAccountV1MeDelete.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeleteApiTokenV1ApiTokensApiTokenDelete.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateHfDeployHfPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateLlmDeployLlmPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateV1DeployPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployDeleteDeployDeployIdDelete.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployDetailedStatsDeployDeployIdStats2Get.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployGpuAvailabilityDeployLlmGpuAvailabilityGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployListDeployListGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployStatsDeployDeployIdStatsGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployStatusDeployDeployIdGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployUpdateDeployDeployIdPut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeploymentLogsQueryV1DeploymentLogsQueryGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetApiTokenV1ApiTokensApiTokenGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetApiTokensV1ApiTokensGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetChecklistPaymentChecklistGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetConfigPaymentConfigGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GithubCliLoginGithubCliLoginGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GithubLoginGithubLoginGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.InferenceDeployV1InferenceDeployDeployIdPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.InferenceModelV1InferenceModelNamePost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.LogsQueryV1LogsQueryGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.MeV1MeGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelDeleteModelsModelNameDelete.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelMetaUpdateModelsModelNameMetaPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelPublicityModelsModelNamePublicityPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelSchemaModelsModelNameSchemaVariantKeyGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelVersionsModelsModelNameVersionsGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsFeaturedModelsFeaturedGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsInfoModelsModelNameGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsListModelsListGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiAudioSpeechV1OpenaiAudioSpeechPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiChatCompletionsV1OpenaiChatCompletionsPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiCompletionsV1OpenaiCompletionsPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiEmbeddingsV1OpenaiEmbeddingsPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiModelsV1OpenaiModelsGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.PrivateModelsListModelsPrivateListGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.RequestRateLimitIncreaseV1MeRateLimitRequestPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.SetConfigPaymentConfigPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.SubmitFeedbackV1FeedbackPost.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.UsagePaymentUsageGet.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ApiToken.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ApiTokenIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.BillingPortalOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionAssistantMessage.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionAssistantMessageRole.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartImage.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartImageType.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartText.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartTextType.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionMessageToolCall.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionSystemMessage.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionSystemMessageRole.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionToolMessage.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionToolMessageRole.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionUserMessage.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionUserMessageRole.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ChatTools.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.Checklist.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ConfigIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ConfigOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeepError.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeepStartApplicationIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeepStartApplicationOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployDelete.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployGPUAvailability.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployGPUs.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployInstances.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMConfig.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMConfigGpu.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMInGpu.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMUpdateIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployModelIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployModelInProvider.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployResult.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployStatusOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeployType.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentLogEntry.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentLogQueryOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentOutType.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentStatsOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.DetailedDeploymentStatsOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.EmailsOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.EmbeddingsDeploymentStatsOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.FeedbackIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.Function.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.FunctionDefinition.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.GPUAvailabilityInfo.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.HFModel.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.HFTasksE.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.HFWeights.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.HTTPValidationError.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ImageURL.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ImageURLDetail.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.LLMDeploymentStatsOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.LogEntry.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.LogQueryOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.Me.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.MeIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelDocBlock.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelDocBlockKey.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelFieldInfo.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelInfoOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMeta.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMetaIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMetaInReportedType.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputCharacterLength.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputLength.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputTokens.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingTime.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingTokens.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingUptime.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelProvider.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPublicityIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ModelVersionOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIChatCompletionsIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAICompletionsIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIEmbeddingsIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIEmbeddingsInEncodingFormat.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIModelOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIModelsOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechInResponseFormat.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechInVoice.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.RateLimitOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.RateLimitRequestIn.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ResponseFormat.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ResponseFormatType.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ScaleSettings.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaFieldOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaVariant.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaVariantKey.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.SuspendReason.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.TimeDeploymentStatsOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.TimeInterval.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.TtsResponseFormat.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.TtsVoice.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.UsageItem.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.UsageMonth.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.UsageOut.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Models.ValidationError.g.cs create mode 100644 src/libs/DeepInfra/Generated/DeepInfra.Polyfills.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.AllOf1.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.AllOfFactory1.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.AnyOf2.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.AnyOf4.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.AnyOf6.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory2.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory4.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory6.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionAssistantMessageRole.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionAssistantMessageRoleNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartImageType.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartImageTypeNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartTextType.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartTextTypeNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionSystemMessageRole.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionSystemMessageRoleNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionToolMessageRole.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionToolMessageRoleNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionUserMessageRole.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionUserMessageRoleNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployGPUs.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployGPUsNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployLLMConfigGpu.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployLLMConfigGpuNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployLLMInGpu.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployLLMInGpuNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployModelInProvider.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployModelInProviderNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployType.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeployTypeNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeploymentOutType.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.DeploymentOutTypeNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.HFTasksE.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.HFTasksENullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ImageURLDetail.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ImageURLDetailNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ModelDocBlockKey.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ModelDocBlockKeyNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ModelMetaInReportedType.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ModelMetaInReportedTypeNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ModelProvider.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ModelProviderNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.OpenAIEmbeddingsInEncodingFormat.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.OpenAIEmbeddingsInEncodingFormatNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInResponseFormat.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInResponseFormatNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInVoice.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInVoiceNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ResponseFormatType.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.ResponseFormatTypeNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.SchemaVariantKey.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.SchemaVariantKeyNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.SuspendReason.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.SuspendReasonNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.TtsResponseFormat.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.TtsResponseFormatNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.TtsVoice.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonConverters.TtsVoiceNullable.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonSerializerContext.g.cs create mode 100644 src/libs/DeepInfra/Generated/JsonSerializerContextTypes.g.cs create mode 100644 src/libs/DeepInfra/JsonSerializerContextTypes.AdditionalTypes.cs create mode 100755 src/libs/DeepInfra/generate.sh create mode 100644 src/libs/DeepInfra/openapi.yaml create mode 100644 src/libs/Directory.Build.props create mode 100644 src/tests/DeepInfra.IntegrationTests/DeepInfra.IntegrationTests.csproj create mode 100644 src/tests/DeepInfra.IntegrationTests/Tests.Helpers.cs create mode 100755 src/tests/DeepInfra.IntegrationTests/Tests.ListModels.cs diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..c3fb3db --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,17 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "nuget" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + groups: + all: + patterns: + - "*" + ignore: + - dependency-name: Microsoft.CodeAnalysis.CSharp diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml new file mode 100644 index 0000000..17a043b --- /dev/null +++ b/.github/workflows/auto-merge.yml @@ -0,0 +1,39 @@ +name: Auto-approve and auto-merge bot pull requests +on: + pull_request: + branches: + - main + +permissions: + contents: write + pull-requests: write + +jobs: + auto-merge: + runs-on: ubuntu-latest + if: ${{ (github.actor == 'dependabot[bot]' || github.actor == 'HavenDV') && github.repository_owner == 'tryAGI' }} + steps: + - name: Dependabot metadata + if: ${{ github.actor == 'dependabot[bot]' }} + id: metadata + uses: dependabot/fetch-metadata@0fb21704c18a42ce5aa8d720ea4b912f5e6babef + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + + - name: Show sender + run: echo ${{ github.event.pull_request.sender }} + + - name: Show triggering_actor + run: echo ${{ github.triggering_actor }} + + - name: Approve a PR + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Enable auto-merge + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/auto-update.yml b/.github/workflows/auto-update.yml new file mode 100644 index 0000000..f1d66b7 --- /dev/null +++ b/.github/workflows/auto-update.yml @@ -0,0 +1,63 @@ +name: Opens a new PR if there are OpenAPI updates +on: + schedule: + - cron: '0 */3 * * *' + +permissions: + contents: write + pull-requests: write + actions: write + +jobs: + check-openapi-updates: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Git user + run: | + git config --local user.email "bot@openai.com" + git config --local user.name "github-actions[bot]" + + - name: Generate branch name + id: branch + run: echo "branch_name=bot/update-openapi_$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + + - name: Create branch + run: | + git checkout -b ${{ steps.branch.outputs.branch_name }} origin/main + git rebase main + + - name: Generate code + run: | + cd src/libs/DeepInfra + chmod +x ./generate.sh + ./generate.sh + + - name: Check for changes + id: changes + run: | + CHANGED=$(git diff --name-only) + if [ -z "$CHANGED" ]; then + echo "has_changes=false" >> $GITHUB_OUTPUT + else + echo "has_changes=true" >> $GITHUB_OUTPUT + fi + + - name: Push changes + if: steps.changes.outputs.has_changes == 'true' + run: | + git add . + git commit -m "feat: Updated OpenAPI spec" + git push --force-with-lease -u origin ${{ steps.branch.outputs.branch_name }} + + - name: Wait for 15 seconds + if: steps.changes.outputs.has_changes == 'true' + run: sleep 15 + + - name: Create pull request + if: steps.changes.outputs.has_changes == 'true' + run: gh pr create -B main -H ${{ steps.branch.outputs.branch_name }} --title 'feat:Updated OpenAPI spec' --body 'Created by Github Actions' + env: + GITHUB_TOKEN: ${{ secrets.PERSONAL_TOKEN }} diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml new file mode 100755 index 0000000..1e14562 --- /dev/null +++ b/.github/workflows/dotnet.yml @@ -0,0 +1,19 @@ +name: Build, test and publish +on: + push: + branches: + - main + tags: + - v** + +jobs: + build-test-publish: + name: Build, test and publish + uses: HavenDV/workflows/.github/workflows/dotnet_build-test-publish.yml@main + with: + generate-build-number: false + conventional-commits-publish-conditions: false + enable-caching: false + additional-test-arguments: '--logger GitHubActions' + secrets: + nuget-key: ${{ secrets.NUGET_KEY }} \ No newline at end of file diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100755 index 0000000..71868d7 --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,15 @@ +name: Build and test +on: + pull_request: + branches: + - main + +jobs: + build-test: + name: Build abd test + uses: HavenDV/workflows/.github/workflows/dotnet_build-test-publish.yml@main + with: + generate-build-number: false + conventional-commits-publish-conditions: false + enable-caching: false + additional-test-arguments: '--logger GitHubActions' \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e74b754 --- /dev/null +++ b/.gitignore @@ -0,0 +1,399 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml +/.idea/** diff --git a/DeepInfra.sln b/DeepInfra.sln new file mode 100755 index 0000000..9e06564 --- /dev/null +++ b/DeepInfra.sln @@ -0,0 +1,71 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30204.135 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E793AF18-4371-4EBD-96FC-195EB1798855}" + ProjectSection(SolutionItems) = preProject + .gitignore = .gitignore + src\Directory.Build.props = src\Directory.Build.props + .github\workflows\dotnet.yml = .github\workflows\dotnet.yml + LICENSE = LICENSE + README.md = README.md + .github\dependabot.yml = .github\dependabot.yml + .github\workflows\auto-merge.yml = .github\workflows\auto-merge.yml + .github\workflows\auto-update.yml = .github\workflows\auto-update.yml + .github\workflows\pull-request.yml = .github\workflows\pull-request.yml + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libs", "libs", "{61E7E11E-4558-434C-ACE8-06316A3097B3}" + ProjectSection(SolutionItems) = preProject + src\libs\Directory.Build.props = src\libs\Directory.Build.props + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{AAA11B78-2764-4520-A97E-46AA7089A588}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DeepInfra", "src\libs\DeepInfra\DeepInfra.csproj", "{0028BC85-0064-4CE8-A21A-C1F5E922BD59}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FixOpenApiSpec", "src\helpers\FixOpenApiSpec\FixOpenApiSpec.csproj", "{594DCFD8-E707-4232-B878-90FA3D880474}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "helpers", "helpers", "{1A008ECD-2300-4BE4-A302-49DDF8BE0D54}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrimmingHelper", "src\helpers\TrimmingHelper\TrimmingHelper.csproj", "{9F7DC3A1-B113-4577-875D-73B2DDD6647A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DeepInfra.IntegrationTests", "src\tests\DeepInfra.IntegrationTests\DeepInfra.IntegrationTests.csproj", "{A3F06E45-DFA8-4236-BFF5-425091762548}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0028BC85-0064-4CE8-A21A-C1F5E922BD59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0028BC85-0064-4CE8-A21A-C1F5E922BD59}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0028BC85-0064-4CE8-A21A-C1F5E922BD59}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0028BC85-0064-4CE8-A21A-C1F5E922BD59}.Release|Any CPU.Build.0 = Release|Any CPU + {594DCFD8-E707-4232-B878-90FA3D880474}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {594DCFD8-E707-4232-B878-90FA3D880474}.Debug|Any CPU.Build.0 = Debug|Any CPU + {594DCFD8-E707-4232-B878-90FA3D880474}.Release|Any CPU.ActiveCfg = Release|Any CPU + {594DCFD8-E707-4232-B878-90FA3D880474}.Release|Any CPU.Build.0 = Release|Any CPU + {9F7DC3A1-B113-4577-875D-73B2DDD6647A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9F7DC3A1-B113-4577-875D-73B2DDD6647A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9F7DC3A1-B113-4577-875D-73B2DDD6647A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9F7DC3A1-B113-4577-875D-73B2DDD6647A}.Release|Any CPU.Build.0 = Release|Any CPU + {A3F06E45-DFA8-4236-BFF5-425091762548}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A3F06E45-DFA8-4236-BFF5-425091762548}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A3F06E45-DFA8-4236-BFF5-425091762548}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A3F06E45-DFA8-4236-BFF5-425091762548}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {0028BC85-0064-4CE8-A21A-C1F5E922BD59} = {61E7E11E-4558-434C-ACE8-06316A3097B3} + {594DCFD8-E707-4232-B878-90FA3D880474} = {1A008ECD-2300-4BE4-A302-49DDF8BE0D54} + {9F7DC3A1-B113-4577-875D-73B2DDD6647A} = {1A008ECD-2300-4BE4-A302-49DDF8BE0D54} + {A3F06E45-DFA8-4236-BFF5-425091762548} = {AAA11B78-2764-4520-A97E-46AA7089A588} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CED9A020-DBA5-4BE6-8096-75E528648EC1} + EndGlobalSection +EndGlobal diff --git a/README.md b/README.md index e18dec5..b06b73e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,40 @@ # DeepInfra -High-quality generated C# SDK based on official DeepInfra OpenAPI specification + +[![Nuget package](https://img.shields.io/nuget/vpre/DeepInfra)](https://www.nuget.org/packages/DeepInfra/) +[![dotnet](https://github.com/tryAGI/DeepInfra/actions/workflows/dotnet.yml/badge.svg?branch=main)](https://github.com/tryAGI/DeepInfra/actions/workflows/dotnet.yml) +[![License: MIT](https://img.shields.io/github/license/tryAGI/DeepInfra)](https://github.com/tryAGI/DeepInfra/blob/main/LICENSE.txt) +[![Discord](https://img.shields.io/discord/1115206893015662663?label=Discord&logo=discord&logoColor=white&color=d82679)](https://discord.gg/Ca2xhfBf3v) + +## Features 🔥 +- Fully generated C# SDK based on [official DeepInfra OpenAPI specification](https://api.deepinfra.com/openapi.json) using [OpenApiGenerator](https://github.com/HavenDV/OpenApiGenerator) +- Same day update to support new features +- Updated and supported automatically if there are no breaking changes +- Contains a supported list of constants such as current prices, models, and other +- Source generator to define functions natively through C# interfaces +- All modern .NET features - nullability, trimming, NativeAOT, etc. +- Support .Net Framework/.Net Standard 2.0 +- Support all DeepInfra API endpoints including Object Detection, Token Classification, Image Classification, Fill Mask and more. + +## Usage +```csharp +using var api = new DeepInfraApi("API_KEY"); +string response = await api.Chat.CreateChatCompletionAsync( + messages: ["Generate five random words."], + model: CreateChatCompletionRequestModel.Gpt4oMini); +Console.WriteLine(response); // "apple, banana, cherry, date, elderberry" + +var enumerable = api.Chat.CreateChatCompletionAsStreamAsync( + messages: ["Generate five random words."], + model: CreateChatCompletionRequestModel.Gpt4oMini); + +await foreach (string response in enumerable) +{ + Console.WriteLine(response); +} +``` + +## Support + +Priority place for bugs: https://github.com/tryAGI/DeepInfra/issues +Priority place for ideas and general questions: https://github.com/tryAGI/DeepInfra/discussions +Discord: https://discord.gg/Ca2xhfBf3v \ No newline at end of file diff --git a/assets/nuget_icon.png b/assets/nuget_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..25574ba0b8e293eda32503fac49201e44eba80ba GIT binary patch literal 132733 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%0DhhV9&|WlCSwq) zVLoL+Y!wP$*XOI~zVp${ugyF%?_J3a08f{r{uY)!hYP?{GY2C{Bv-^jogTI*5h^U@ zX(m}vZYdy^%`=7JNWai5)HfvnP8ONg)CYZ_@JZE?ye!rX;ou7&mfADoN}w2`UEfAS z9=@=ss@6PO0j~dzVXv&gQxXXDa5pSR%|ZzxSRjb*_iqzUI#~9R3m$N@%20Zq?BKS? zYAg6X_kP;Y3(6;8lg-HtayW=8#(@FmZq7@fFz?J1mDzm7Jnb3hn!BATH68So8I6!~LgD8;asA~0fm)ArZ#RAz zz9J)3Qb=y{22Kn00Zu#myg!yW!I|7D)eJ&Z4)ZW6TT zm3baQ$5l3cB1528@B`67m1y5;zi*cCfa*46f>>fW6GWp$4?!{>B!LR(tVWNof?1&H zx=#l#)M<}ubv(iK_!4Xp;U*=yb!(D2Z%4I@TE4B3n=2MsP6Hy&I_+k=&$yH7CYKf| z*qtbYBjuY$eGwlF8X{Xg&upi=*OBDRb1O3+uculrs0M38&C6tUR@r#!g0XG+s>_g2 zsj9KzvjTY#T0Nq0G)kcqdIlwV5}eQT4OxwmPg&r7bW=doDa^Qf8SsC z<d`ppP>_-lHedH$gwv7zP`9&aal&q;{9u#ua1mq zs229{w}7#(J>15e`Z=~T)yclxx&i@+-eRf#YFx5#rO1>~0lio}2=%asDts2UHpltq z9k~bzkoq0adI2O-OLLS$KbVwOA&?((UInleUJxa-fR0xKM`8t{-Yb+Iyt*Tx=DV2D z2x0+kmIgKcU$r4=fgry+TbC<=`kIuo@Y$^0&9UzK8k*;$fwnr8u+INNO{ZGV`}DJq zLWX|P!a*RU1e(8G*=E<-R)+MRa}WDltHAPh5q z3DNcq&{J2#M?eOY)JsspZ*L|tQe&H@g*f+=FY%R4)0!VeKdA|U>FzJ#86YUclG<2e z*>?BuO~;PQ_b+TeXI(Ph@8uam6!mjQp`mjFZ0rYV-zNZf&ih=`$t z1fYb6`Aeb2&lO-ANCe})?I(dV zLBv`&)rNt5!`q(L0ow?ZekRE*tX2%$;XwLUlj z8#rR9ruZb7tp~WAkxGRet5W#QI_z54za9%l_b+Lg7f^)@VCa!YfrATM4;Wqslos5% z?e$dsFXTV*SFnwb&!hGN3TNc8I# zD7(^->{3X*-nCn(FalbND-p9?1PGs`vt{}{!fN(vxr3HJ14Mu6xoR-NywV;Dv=T#9 zwfO4P2~5t3FpWfy!TjMtPsxQ| zT<>}i8^=VySH&uMCg>%jJN&(;p?-)G%JPXRSOp+1ZR==<#dbVUcr>?_oZB{_vIQ7Q zDNc9ZLdOj`0`MhD&^%4%zSjrJ-*|3#g6iYP&xO9GrVaqu>tSE63Lfy0x;NR-&G!1# z;htV%U1qdg>|?C3RnZU87^L8x)E{DDE%!vC2yO_OP(JT50tDyczPbF^+80A*-^_Y; zu2>S@K#bY|nX9klnKttjwH{a70o5!xDCpfl1U`ldRCA#lltxohblegMIzdONEytVF z?0egvB9(Gr(fRDMy^=s8d0}3JW|=~+n}GoT^*&<6^tbOiEG(1-ZPV-1Xlx>oDN1yx&yFhNr$ zntuNy~4f`2r*|1^Eo#+;6k|*SuV!pet*_cEgt8H+6ENxt&*|=(^v0woLULGH zXc192_^f0WJP)??Wk0CaK;MsbT&mpx+_}TtbOygYR}mQf0<$G1h1x&|G^};8FFy~; zG5@v)YCbiMkiTlKg!&{WgurZa79NFGl_XU4R@1bdn-Ravoz>Fn_!GdRb{ik7vCj$s zjEm#94QyWqM9X>emLIh z2HQ+k#mI9LTd(!e8$b`V<1sL6R#sqpKE>CE`CP4M2g58DVs{@ez8vpWsCO7_g2Ubv zz-DQPWXKX?FA^Up8Eg>>;V?oD{wWq%_5MX%Ge{KqJUW^M{PYw#5GTv=!isRt(agGu z7E3cibHzuE7euV#R_B&1r~Rgi#|88@ePcZa0w6vDhAYWKktiWKfUas6OR4Ltnhm`d zH+wgN>^Jj5^M2X%_se)*AYLj_;vm~1TZr*H)&SET8n(wxg0{a?4fstd7V{s*HOAh( z^kB{2ZT^Nt@$XO4NeDqZ*@k;p52)UU;u$bzekF>4G$5}O@S{uVNMsvZhUqVnMSs|2 zS4rzjdmq`Y*uT6?t@5TbT8%>q#&ReL$6R*=4hRMrayfknn5LIKdTO?(;R_8K5o6eF zBDFBwzseQ>zXQqx;9<|`9Ef=FYB|+T0(yJtb2c_kSCHRev;*L^!QtS=Cwo_|TYA*z zm?LF`?&0iN2q+eC-%ftxxSt}0eh0{hYvR%ElGb{j&AVU;0TqsS!(ffmZQqZzk-fH* zq)Hw0>D4&3f$G(V_=BGmqHlo@ZDSZOG-6ICfZ5_(KwZ$3jZ1kg&IwZNs^wY2jrGAI z(@o|cA)qWGAMmwn?S{f*U5;`_19=xTR`skQ>ePbL^sY?1>{Aa%ihw@!ntumk$Kpz1 z{st;^N{hCrS-9rCR0!R`T;_g1Gg;zQ??*o0+eyA zsAcR0TC-!}wBv^z9Z{_4fXClNNz0-14wpi#YugjcSRr@?<(2j?)ysqBKHU=ggIpBP zwFyed^sI-dmYtOG*y3G&2-ElFiOx`JY)_!hT7dJh(l6{&E70th1hRnYUdRWBoG!DK z*bjDk&w4#>pQ11yd3<%iH#2(ZyRBdQT55sv5jsdMLqI`yjFRjl-PG0%UG`cAN0Vm} zf~Xzn6DSr)f_ujL8i5O1?1L37>&fZe3$CtFhVRN^jtjr7u~lHd0*wxUMgUJ24SX<* z*jlo)ciQIhRlx2sG8b{^2hRynV4mvax3s*MaLxqu|^WrjzflM;I(LW(E%mU~l-gH=3Y zL1!}bAcnksCDRV7a35RuUYz6!1(joWhHg7Ybrd3z=S<;OLH@j`#hgxxe&HX6J2XsR z#jg8~CweTbDi9cjIrQtDE*2lm6YFmVaUvxH^t<4DVk}ZMw%nEjRVO=NOSvr2id^~; zu~4>3u7p1Tjrh>_OvvcWeWg%HCd?YAFFYb<9t~pVUBzx?G_48^tV51Fz)}R-FAoah zaDaC|hlI4Zf{$^+^gN|{?l_CBh5N!pl~vdPcenf|=CrfJA~CUd%;e;0e!p)?$J5b{ zD|TXRS6p<{yiRs$n<3O2Rsyvhq^A=IM79m!OL46Oh^kA2bIOgsy$1)j1TWHh?d;3p z!RcdBcXCP*l@gA%>ra(J8TJl>XX=#W01<&D$=F@B3@y1BfC-6TSTo}K8>-C-sF61? ziU6-m)*Ou3@}zJ{aQu5%|GUV+EPMyO70dBkFc~K6*pBk;)Sh4nn2ai?3`)9P9>4*CI&a5vo|bA~amH2OCHtnr0ftg}Q2)WVJ!0}=0Dw+< zjK;2vhGUMV8bc_gpFeoM{$9DYgJ2g!>U5<;h6?jL22?Sp#OQnqg$ zC?>>ap31PVV>=uUXGmy4n~;g$%+lZ&kDT3U#Ezo$rX!9qeai&M`T0QOz4 zIlz=K0Ns|S=?&zv&}0`xaM{Jyi=>A>JskjutOhK9(~%zl)ElP?CSLszHxKF%e=*)i zQm2g%tox!IpdJqM=WbTZyQVjlRy`c9^VF<6I{C_99vAvp(bEeJ^}BU?3xArIGyp2e z+}Ti*&a4n0_yK%Lpo^6X z%2Aut{E^=t5Mlr6q?Tvvc8@+#zg1IX8L~gEZFU&EfBg7>+$}L-R*hlgzA;sCy}heP zKn^T7Q_dk;DrhP;MX*U%T+w5=d5czJn_1RhuHU zfL;;yb3apKaAcvm`;1=jyD6nON!ru6L5auqQ!F;_zH_aWX@W>(_3S0F3!Eqt z=nF#-5emq*o8hho4+=x@C~^s9Eq^0{;@WmPnyTk9fvD`MAWW{z8&*o-TNoMmm4kD)b1*?161=>0y(G%ATg%0%^%18~ ze)|Rztbn7($@3MvDmycfL@*|jIGO6htm(tNELxLA>!?GZ0-hzfPhK&1p;Y0o+DrD< zt0wfe8`@QYZ86cM49o=x4II-_iZ_@dOjPcwgtL4C69#vXQx97@Oo`a`E~aONufWh| zv`cQSXAAU77~CxabD|NbT&A0%yS$;Ifd;b`4)_9 z{G))DG^kjKSZox7qsK4jbkCh6JT*l;F{SC!{oH`1!C*%OPTgtUP|F30y&<{^H?%yf z-~K#s6HKYdwhAn>v?{AN%yjcBL8rr;up>8^^=dVfhV&n9Q4OBlv>njeI-Pg~qzJ-_ zkFQ2k#KJZ9TW8~_HVWGl}zjOkwV@4dhVEK@5S3%*ypp?h-qtc!*^Z7TjUB+yVr0{+U#u`my)=T#x#rF7-t zRK5p=-jOUF&b{dg@^6Zu5Dq{P34m0N_d&Vo1<}(iA+2?mo2$FAWc2+{K zG0BPD!1EniX_i{a1siN@HH9+!roi+LK~Kht*0RM%AU_xk~j`U-@5 z5O*yj!2PH~C~Xgot`q}AsSJnq?>W$0gI;r(oSF1;?}(K5oTX_vk9L832vDBhCjLN9 zd`1O_6GCu70(@^6ejyRMxOM(?6iFU6#rH1pkpZ>mr-j;J9`6pw%uuK|Ty4$3co?g!i!YL2 z^y-?hcdRpbT{+3mP?xd!;Vv)>+@aKL{tO5Z#6JHJRChIeL0)O+G;$pPKk!d{?Oso` z=Xf5d+SPA!@Z=tR_$s?l&4qmqA9i#`kuvqd(dUiMS6r99D)q(%+Ifk7m<3if6v7hd z)<8pUCo=TCf4rs->Ss5I3+b(Wn+nvdM!-&lECuzG=m0w}k|dl-P`B*!p|QVEN_Z~0 zxZNyK*U-)%XoGbO2Jlmus*@2XA-wlQQ#Wc1mGG!T1gOw}6@Nr)vGaS=!n=i&3s26^ zjk_3U_z03Kk^-#rH>mC*v7rtqp4LgtOBz&d9=argJ~60;$!%AI2~kks#JrW(Z1XRR z895I<9;h@xC3uCL2UcMkfs(3f0@M~K!r{WuhshXrAu%VeVg^!?XVVr0lrEC+S>cUc zrRn`f1?R%F3wnWZj6yIAgxbCB9O#f){#KCQvuv{#HEMKxn}omKJ;vzRJq?X@%!Owu zjdt<#U#wu-qY;CbWI%~v9w+Q7QHxeDvlmMPTn~%F`Zx0TRG(y_fR6SVg-GM#tRhV4BLX+@X+zX2HDx=wf z4dyPpw$5g_^maaxxqiI?>M zTp*|}c*c@uQ^q&CW$Gr%rK->Mjz8^Obi0Gq<8`W+3M-*lWM!IF_o)cG6!_8<=uk8H zvkx$ErMQu*&d~O{3G5DuX|nE6LaMPErUjU-TF3g!cRi=cRp#Ct|tXm|vJFhlGK*n%7!y!Zyx z%S*yw2v|`y* z8<8>7xMK=zSxUdz3Kc;6a!FODd&lZhd(AAd=CO*A#l};6`xT*ECBJpyI^AUSgKS@? zF(;&RRDqcpWf(gNpiUMbVEQx~t;f7({uiZ{geVIHvbX{eOM``k&jPz`9ku^`O^!Rw zFnqY`&UgI>mrQP=zhllcy?e(xCK)m^8!>o6FR;I2u;Yrxa^2=RO1@=^(_K(8s{xpT zh^lRS$>5X{a1f2Osp}qs4+T>pS6wOG%dud?Rg0;*gpKCQ{7u7>45Jhi`^l&sy_Si+R zG6D)}tNzMoZ6G{&dnXncA7^Dc%R0*@jf=+KR4R9UJSQ0^Em^$+^s>1Dr$iAA_Z{ua zGdM&IM~wRnmZFe{PoIxnTv_}6!HbZ^#f38V6$anJ%q+2QWJXU^p9cpH4d_9PlUU*j z6lZWRJA4kE(*fN$2V|b$5`G+l>{V<+TU^Nv;&>%Zlq4UZ7Zj3~S3-n?% zNd5#s8(GfHH-&o$Xbee%0_p^+H_z*7y5V$CR;9Kq)1Xbfv!K`5%);#BxQ2ECt*~Nm zMj;;uU4SLi0RE{k%Tc=p&%s$j2Zjr7bi{ROCMi zgIn90)`&%|t~EaWb@?K-voXP8TYRis9t3~*w`*Gr!6y-pQ9r)!L07ncg~6d3z51dT zgJ%40kWUe*mPCGm9=~2AE~&4lZl%)qE{|%5-F7T;7A3g#5-}2kkoio zfnaQh$Vv2Y|6FoGR;OUW-^`y=++dF>q=;8nv9a&fLx9YV303$dChCxP2?cbGsBycT zx>l0dhMN9PZhSFww(bOt3bSYV!&SEnA@`+g%$*h(A|MD^U8 zne`o~<3GAAd|e*d<b1NFV?FG!+c-!UC7*oV^A zFgYHfY2}^OdZ+ru-GfZ^m$RJST}cUxFiK`|kDAca%t-J3IxlRk5NuYPs=OL{uf)rm-te?)>7Ro;tMJj6n!wRm9BF#@-JPeK~D7JUcLLVZmk0Y7H%f6?7JM#+#ScY&$#u>V-SsaH?(E4~-B#teZ}rt5vBR z8vqH@l_qx;mQ+(|`3BXBx90=iC@xEE(!VxzyG7}OLGqKKTgJQ2R<4)n9=Ln|IfJn; z>fVjI4`;k1xNr3Qs-_3i#WbYqRE4K!VQz5ThBYklQ z2rwJ3)R{yj&b%s1)yWs;3On{I6Nbloc8FBjXAdPmR`hA9S)f{hnHVT(fK@Jpfvo_m zE(=Dluq`F(E7xZ;E|(>;@m>SI-qH27qjgC#yNs_ZZhE&cAJALBw~@tIs9=LFA*2aE zw7PT>ftf5F041tmrUHZ!{!$J=TaX>Ri7*qP_zTJ%(cHrG)cCO^SH)cUD)Yo%B$QY6 z;yNG&>UXE3GKBs6ePrgH?p1A4%o>$Hq~z{prF=U}!pK>8UvKti*@^Hf*b%t_IDU{v zd0IDp7dhWt@&d)X3U8tg^wxmLFX%l!SCH&@sS#`GJ0m*T2FB?b$!FX$D><2U^c?p*@2Cf(`ren?hS@!o@3rd!G^=p-v(?JS%PQKXA+BQKlH+K~K4H%E$XVHdG5&MbfqBs;v)@H()a%MyaB$C z6+myDYTL0XO_Rt?jNAz93u=as+-03|Fe6ItzjpoVOFzrYJuL94gfJMi_yS?3TTYj@Uo`@cyxyxFlvKGt*$b>^`wptF7>=g}bjS za$BPf4k^fLZIl!P_7@4iP9;NMlBwV(!>a`*(Uzdw3E#ZU9MvB* z69*1+j{V}wj;MZIOO!a*H6fjOtes~zVz&R+mws4@y>yya;HQ^n*JuBbQi>M_?FYFa z$=g`coWwe3Q?iUpylR>@o3?Z2zD3y?!B#y{LG5LBoofPi>U>(sS)VrZ>jTok@F%d2I+gr6+`ik+e-iSioh5TNR^b0&;AHU|q%>_P2O`_F@_!UiRtt~iVhDo%NA`Dlot z$Se*~*F51tP{m46rKYHA%@pR@4IvpgjiOgT*a0I zYqvf;lnQG^r?tL&?A;n2;^+r3h#zD=OO1=&bh>~o5aqYxk9DwCV3`#pO;DR*MEF$pKJQ@vJF%yZ0DHgmWbt#62b3$BHX+a zyg!zsN_Nv8N5{<18KTYxXs;LkM*r@AZ`v#&b_8rZC>?@*){U~%kas_VVf0%ZZzp)= zy_Fb_4jFAtMk5kGaKo5`RF7BsAZ3?uQQ?ecq>t&O`)i*tiBhnK)$ewi+o4Q%dPFF^CkBo7%B)X2Prs0X+W19PuI1`8^gB=R01=MA~zbxvS{63vO`^!Z7GyVx2& z>-Z2`!>bJI3tsA&41L?PC&>_f05D%SeM$I+0&_b=D=pPoxOD9095FQI=t=bG0YnGeRs<6b;j2=1YG-%@^*RE>p zm0S|wHP^TsJ&GRv?GX8NO=Ktvuut(1S=BbttOS@q-=X+9-NQeUc9W|I0}PEtP~Wi2N8E^IfKF7~8_h%Q@e z*Vdz%HdKPKUd;F%E`n|_aOtE9(>|biDG>*do(mOxfwcI16m4Nak-&*UkFmPRS?`{$U+N(z=cli_}hGhrSoM32WXI@lvRQzFR z6S?Bm*q1yiR#iaSgJ-q{hmzR6=1^js8eytE1Is_gY9>oz=7Gftc+AxR)9db^O;V#6HhF4?(nr zT8exhKfJ{!7X4QG8dv9NaBWEK=lv9Z9(!E9m%^vVwbv_Zm~K4Ice=OXTWD>ts$F#HO(RpUVGyR?Bb+S1lO^|J?<1s^5pr9gZ`ZyAtbB1*LA$aef<4$*gj z>iwW~?(z4`3TDOU^TX~1_8|z`Z?F$xt&E+iO_N&|eE?#7qtI#(sG9;XBsn-W#vPwN z1>lr2C#MP)=Ls!dvD}Aw+vFxG-W&cEiv%ZO@BGMX!>4y{wOZusJTLvH*jexb#C4Cd zT8Ipg)(}EbvxDHl?{X2bP@(}p`k5>vkxQS9P=MG-1U|!o3`A~NKrNDCw}oTQ?Y%;CBYO7qS$4!!_T!jH2kncW zzeRRTA@-WmL~Snint0`|Q+#`=0N_ojp>DQowX&es_qM!}DvE_>kztBv-zYRTy1K(f z+NZ8Km0OG#-r2psbKBwIzL37(K5jbpqEEf_KfNfs{<~dc+u)MAt=0_h=piY*ha3HX z13)b>7zJ)v1(fvVy2#hKKjV>CZHf{z=Su#4omSdn_a66Q7IvN5cGRENP**+eJSh)R zrVq2%S`>`AOd!cn5dkX{JMg~ZI17ivXofsjOHq+~Y!uN7dG!l&M|^*$_Mu=wh~T#o z-o!@O>}8FOkd_~#8Q!ZZB4~jKZ8|>)>Q%Z;V8El>KnCWC8`fz+?S*JIoncF7(91Wo z$MPTld&QMtJKs8QcMYtV;F}U1=SZ0W!@yU}DFZjew{O9f9dPAN1jb4NuSaC8gB}eQ zNv#P-E@)fo9~X9gC%pam>rNfp;DwNd-v)OV8ywr~n@@wg9b?gRd}Y~T8(@iKp>p9F z?V)C4;IKmuZpObcE6nIiMj3K-c1YKENSD3R(wUmy&z=i5dm|6;f117a`d1$GFTwAE z2g}UXhh_Sjx_6%)4t(2!nYtbWAMcH3-XXqwL~MVZJ*uRYF4hwB+b+PamIM>+ci8fP zQ=Ffdk`e#_HJ&;6Bh1)O6+T$%i}5`J-(lR^S;FAeRD&p*L6mvOhOB<41h-#rKKN}D zY`Wa@9)FsyA0;mGMcQJ)u|l(-Xvst$z*AKjAkU%ipw;MrNqBrva&XJJ1HD3v9u|8p zq;<|K@G$N1cif%GhR@629t&j}Z4)T)5AgmWO9f|0e&|`(W8M@g9=%m?%bE<*Oz4+F z8|Etk{&RnUGUK&i;|G~?fV>t389^MVu7$oViC7abY( zyX`shDQKoCe#CbCa%IfAw6R&b|4RZ-?v2qkWhgDKdTLKFwqk*ID07t_=vtS|OvLvW zl1DF)+stOhgg_E>KKS{3+MD`B%94U%Eb-A)Rsm zoM&Ol;HSXNOnVYra;ppj*v#UMz&-8k8KYW(DNjA8J&<9^1VWd76&b6s^Tt3 znXiA#6I!i)`gAhdC7i=Xc2f3T&8v#Ro8Q&xz9WNDeE8@-uXs~v<^n$cP?cw`TdZRH zWY`!u(99gZo!Qw@w_EzF-`1=ZwqzgViPynyFt8HifJ#PI>q2a8xGy21NPO^q=n1z4 zGe(f=!&xfZGk%@>-fU*^a$4=f4>{VuuF_v~TTw?et_ClS%)ba8vs7*=;yV2HK|aF< zaAVzocm(HMNd0x+VfpLlG!~m`ad@Gk`hOU_W+qtJlO}(UIDCG>8Ev@!#CetWn|}9u z|9T4Kmdn^%^_ExOd+A6jF>p=S{r4OG_J9j;@+=AN-2w^j?*NU@KfN6dKV6e{VGoD= z!gC~<{)gfH`p*>Pe0l@Yv%mQD%MxE^;h_i2CTmiO<7nYEu8r`EKaDeq4M$CMq3NmL zcILl^kIlsz_-W0OE9^_Ax-$oQU;M==vr1r=l(I%`um8p9{xyfZ!XrMtFIywLYX3CO zECu-7((I7D1AqEF@OQJ8z)v0ARw@UgyEE^YhX2JVA71-E%;D1Bm)-?cj_JBBsec-$ z!A>|o@RfqA|6a_$n}mN_i9y$-13NVZ)w~@cd+q)_%9xJU|HB++RXG-fIM@K-_2Ykj z>zF-o-T>l6!w{!`EzaL&3V;tl%woPi^N6N&E?2<&i&3&2|1WbG>~OC{;O$jw;QFUo zWH0-_Eaaqe;Z0V%n)zRh($VJsFo)*_-X$H*+AXPEn?Jqg=dJkvU&uEUNG_AtD{pE2 zX&L{DEB@^qvYiV$D(~e?w?_PF7Ogb@FAMp9hr$02gZ~`{*sb=z!{C3B!T%zI|3wDX zLkVMDp1U=lx+a6`ur7?eELdx+Mk$|Q_{c4e=(d*a`*H`BM)!%@mE>O1Kx?d!3;;v@t zZsK6#@R$Ew5*w#B+5dMBVp~Ujqm@6TbpYLu?*CIhQY z5~gyAWxRxtMw7_K;KJa--(tT%A!sxe*XQQi2D}y=RZT){~5rV6ymeX$IOrY?HtL@l>gm>On6Pfe?Lbe|3{LeJH9yj z7jY`~Ifj&@V{6A8{&uo)GcGEB_wlPe3P=%eZ~fgQ)ti3okAm5(Gk)C!tFqv~tV(^^ zwOP01=GV~fC)4z3S~RV{dIQK7)=N&FQ~bL}mB%i)!njP`P3%nU{>%D~#?L7AJs2}g z`WSF7_p7ac-b~oO3_c(x!8^0k*hMSf16KLh=+}R>hGCVDD^K3|yC;#qpLMB%bKu>D zVY6Yg|8@>Y@G>b3`l#XmZ??u4d#b8d{K7Pm9T+26YZZU>kL5caR)SJmvA7S5H47Oj4Bb!D0o`3%DpMCnj`Y^FnsqpG6v#XY< zXrv{ceDuek>&at3HkPe5NRhmMFkqcqG+tuuzyGt=f8en7Sax5{fB)r~@DU(?{?}i2 zwaH*CHL}oK_sgX}JlV}nT|#Hgq)OYwD0c!^x?Ja9uk?9zhJeLaRNY9&wSVr@$|LV2ZOqMIn#QuMNTT50@IEz0k@A&&y#$Nu3N_l=3scoR< z|MSZqYy}f0lhPrUm-sP%`q$5hrLLJANeEM$Id&sS?x4kc_dm|-?VkGk=NFFl%AcSN zZ2#To#NJ)6yZ&2obNcIr|N5(!&-aaX&aW?({L`e}l0E({TR!JXe4LSq!SvJkKTdg; zpO^y-OC_+X#I=3is#H?a&@aHsz`CvI-#F*n3(W=?bD=i_&( zsHY!))A+~53g6sWI{dhGRJlO1*gX1Ai`CDq^SrtPdu(O*IQz{;r9Xbvm`d4qj%?FA zqK^OekHfP+SibfWc#0dF5h|X>{m10liVaE4D2+zw^_)-r)>2jcTH24M)tk6&Fsy8L)@(8)he`P$QNXRV7OvodDvWM@zH z$A15x?-ed{;3!*iar1cilGIzO|1seg*QMRgD#~f`Xo`F#$~y7KN4sUIi>+ES`SHfN z2?LSR1s6MB&{fSpF1PxhBsOXD0xc&OlnUogxr#mh+`igCaWdpRn!H&m57jC^T(&-#QtAh*BRDSwzYx4@ghXLfFMQDv4oKzRgh+a z4x@AssUpM?Y0`Tc2nR-*gF%90Fq8-i*dPK@q{Ts`kD;g_RX_$%ssW@VxyO0#b3G@1 zAHR4w=j^@KyWX|-yVj3Qxg4dMW{=w~#2!4EXAmOOo{n^H%mfvEWI9K)db1t2>oA6TwqRwLU#od zD;Gata7d8AYe3=AX{DL|=hdm4+G}#lD(848Dr)9Wn1u-bi?b28Y_UkpHLUCsk|@=l zgu?iSTrL0F>iyi4yc}S#0QV!)gZAA-cfMXR{C8g$i*`CQ^}H5!D1`68*FtGXvu;*I zR#1Ub*%v+u={)d(WoYQ*s=TRK;BMLetj2W>LVb#gQ+K9Dj&Zwu-td+h^MXL|->e1yMh>#R&SVbGUnpe5VRXJ}y1&k5DPBM_qaiq#FXYHN_l^~z98p_9O(^idH<=Tw%TVh~vliC!*PBgyhE zfJ(#ZxFcejSyUawbJZNMW*6(JW`sv3O9apuCVb}r78R`Yl@^Ws=NxIBgLOREi*`Px zh4)Ntin>30-fHfLgx(RDa$-JAYoRt9@Y^~TfA@9093|S2^l%!LFtAB*JFJ0(4%%7e z>&|(=L#)G;?+9XT#)v5PE<~CIHc(#myw%hN@f7a}NS$R?mE?=X^4U99f46ZP8vBUW z64Q+%sFKBgwktz2x?P=4k9RS!(q75qe}pA`x3wD}<;1Kn*mOGu+FKy^jr{uP;kIB` z)^fU|LuWQ3n7jQ6?}cKNb58iFPHa1HKn7WbF3UJX7>+iia+I0v@$Ms2U5Fz6yB7U! z{7AHA-NhlHCK&^HUdf@@!Z^EqW7U>b8fUjdvs~*60!u;#cyHH#GnA-G>qcdepbMK| zTm;ocv5#r~7mO72`J7~!odem(ICleoI5GXrT1v0+v)j{u7Bl7*TFct>J_xgjI>(_F z!w!YpGE_Ar(cUq7M4~=1IJeE^y|u1PQ24Jgy^M>JKF@V79! z!N=?o7LIwN(v+v4T-qGJKW{1f?)52hiWxG5TcVmZH2YE`V)T$4d)MM}f=8iyJAy>c zezb0Aj~c((n0L&h3b*wqpCg`6deD}H48j74&c;O9hONb{`&mdaP%7tn%CK}kE!I?Y zjs&c2jJfR>L0Gv@1@#yTqs2>G*5+7;NM7V^%r_V{ZaoU(!>>4bgM_=ekl^;*DkfqdflZtPK{@sU8;kJGO~d1H+Kju(wWHTtdYepB#Q zm|-YKsD&ZC=^0D#RY+x5@tQBw3SqlVvdSfT=hU()wI&OGG~uaeH%I0KZS}Mi@g&8|#qztF4Y%1@W!sa27P1 zJm4037Jz5BN6i+dp{#ov-@e>G;Bid^4zOx^Blyeqs8Cu`Pg@hX5lR1? z{EgT<=1pa#QpkR5AEf6YC>aGbA~64JAocM8JZJG#QOOI;hY6&jXSlvXaKK(f6zN70 zI4%+;xR|IoL*j@2n=?<@@w~<_#C|I17kNp4m~D1G(H*C(3TFue9}7sb<^=6}o+McJ zqh?P(5PVQn8*Lu7cUswHsukgjCM{-RKRBm-{qy{M zTiehJ^1z8en78;^^rt(y8{J31St%cIB&O#k3wM6&UHzA=y!CI2L9;9Fje(KCa7Ca^ z-C_1XA-b32KtOV9RhE*UyK(afs5s-F0{OC?vpTM=R}L4q;9(hNrNMA!MdzbKD;nECu|NGdNZ@iQYKgH8w^2 zY%G00JQWdF!N^B@cA1_TJEI$UYAA7T$w+K)!jUJ|Q?d>x4OY?zg+GxpI5cuW4JK)T zf<^$-6IWR`DfqRVt1XTm4VvED@k0}wm!g`l7#Sb$CzXmP7uAi*V_Hbr`?~ZDJ6|AV z2EiK8oJ>4O|9Z5H=+ECULXS*1xWS=|1Knjj&lo(Fla`pi%Q1j@@_LDTj+oR)$~L$? zor8>Km+4X95YxD5|}@{ zR&oJKKE*fq1qdtwL3u17NGc&x8K~@#f*Ia%j5((3{WkFsJ@gfevzBwb!ys@{1<_G{ zojLB9j!v^AOx%t@)ocnhDSQMjMoY;cd?P@56QNGbGBy0Qo&wyJaol<$vsR)ft10uQn0mX_{Hcs{|T*L^@7 zh@mpOZ8oovP{?Qg z3W5(2L0wU^p0zDAQ;B5l8+yBp*gku#e465seCm9QH+@(%oU0E$r;d9qti7bR)_-!l zz0h{hbsc_0F|felg~-^l*TV9~39lo3HwwxLOSMu+fli2pS zu|~2ff)Y$%`jP7p>v;5@L^`WgB@toYhW0H4q|db2#9VZtR8Zb7C)S zM!92?54e*V_s!to6I6i0M`5wbP&w(D>W-*dD}7-y!F zf{+$5unq0qIRE0n0rX_Q${rhY z;gFuGeYvZg-z9ukCCriIFfb7Ceh{QZ4i>oLwFt(s5&|h(&^3H8jzXjDdN4cs-lc~+ zpv7!GE_Z`dA>p?nVS$|LfWxAF&hLFneuK`c2I$s9qsvuB&1(a&z7QIX9AX)_94`{g zFK$$EDd3>1JgD=N<(|kf1vDJ92`wMU5Kn$v+^Au)aUjr^J!Ij0qN*QW$M{fWImP>@ zb>HY<0yJ}6QpgLS;>X4?af?{-b`v`|pjI-J;LGLf;t~$fY@{|fN+B(uBO#J@6`9hM zPJ9ZxTMeqPPb(syQ2|#H38(WTM(@WD2QjcrYuBVR9!%Xau^=4FIWBJBhf`2!tmx0I z>8Bv3DXQ=AZ8_afR1Se@S9I?aPfM<7Kwj8lrl%#&A(~y9Jj(RG=iYMywgO6CpFJ_? z6VjL29#T0$QhShXccL6q@(}Yk!PUn_U4!|>L><4^t9qD^i)33w_xMle>#=Gma7*05 zxMj!B){RQ38`{J61`EwC3eulp{2mKJ-AcV-d5~ElXa~(2k6*+|U1it0l*X>7T-i^C zSJ!nJPbW+{PJH)myteO<WN(5?+0%$~gT-a?BCXA!v%#3)BaqZP-@qMieStYug?yWE5uY%k^Zice3$Y3c}mUy24U~6(2RyVN=yj;!p?bs z|473#P5}1oE63t@wN_a<1K$)+CV}9e)?#T&YZiV~B#{Hn)B>Cxxxf6Ht^8gv{C7_J zw>MRpdr`_I=ff@tltZUWebq~w_Yb2>aPnLZ(`J0IJYfC6B^cdwWGRo|fAJM|%Ve17 zh6Nb-jz}4?ZLIqnrK&}AN-v+8G@5sTSTiL31Ail0VPh}_yP z5in*g3BJb%xz;)p9erW!QSd>veO2T&?fhB|m(f`N%r7cNfy5uS*KL*;eNYMGj8XXi zm-qNyG`6HZ;-Ii(HWYPv2lJxQH^x*;7?No*iuNs`@Dp z=M4*Q=PUg4n{9VYX_1ip9a$N!Shu(C=N`^INjzQ0VJ{RgxTiALHzz(4uak&rrCepH zW^Qr@chatAfvedNd!m6e`lViaV)WMdrb^2iN96=gAuqbCPU#DAH7O*Pc;>Rw`Tu5R caR-BoifXRU?$!bA`Jf+TBa5F(P7>n(13+-|<^TWy literal 0 HcmV?d00001 diff --git a/global.json b/global.json new file mode 100644 index 0000000..eafb435 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "rollForward": "latestMajor", + "allowPrerelease": false + } +} \ No newline at end of file diff --git a/src/Directory.Build.props b/src/Directory.Build.props new file mode 100755 index 0000000..86f2c1f --- /dev/null +++ b/src/Directory.Build.props @@ -0,0 +1,9 @@ + + + + preview + enable + enable + + + diff --git a/src/helpers/FixOpenApiSpec/FixOpenApiSpec.csproj b/src/helpers/FixOpenApiSpec/FixOpenApiSpec.csproj new file mode 100644 index 0000000..842bd99 --- /dev/null +++ b/src/helpers/FixOpenApiSpec/FixOpenApiSpec.csproj @@ -0,0 +1,15 @@ + + + + net8.0 + Exe + preview + enable + enable + + + + + + + diff --git a/src/helpers/FixOpenApiSpec/Program.cs b/src/helpers/FixOpenApiSpec/Program.cs new file mode 100644 index 0000000..d4ff54c --- /dev/null +++ b/src/helpers/FixOpenApiSpec/Program.cs @@ -0,0 +1,39 @@ +using Microsoft.OpenApi; +using Microsoft.OpenApi.Extensions; +using Microsoft.OpenApi.Readers; + +var path = args[0]; +var text = await File.ReadAllTextAsync(path); + +// text = text.Replace("description: *run_temperature_description", "description: empty"); +// text = text.Replace("description: &run_temperature_description ", "description: "); +// +// text = text.Replace("description: *run_top_p_description", "description: empty"); +// text = text.Replace("description: &run_top_p_description ", "description: "); + +text = text.Replace("\"exclusiveMinimum\": 0.0", "\"exclusiveMinimum\": false"); +text = text.Replace("\"exclusiveMinimum\":0.0", "\"exclusiveMinimum\":false"); +text = text.Replace("\"type\":\"String\"", "\"type\":\"string\""); + +var openApiDocument = new OpenApiStringReader().Read(text, out var diagnostics); +// openApiDocument.Components.Schemas["ParallelToolCalls"]!.Default = null; +// openApiDocument.Components.Schemas["ParallelToolCalls"]!.Nullable = true; +// +// openApiDocument.Components.Schemas["CreateEmbeddingRequest"]!.Properties["dimensions"].Nullable = true; +// +// openApiDocument.Components.Schemas["CreateChatCompletionResponse"]!.Properties["choices"].Items.Required.Remove("logprobs"); +// +text = openApiDocument.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_0); +_ = new OpenApiStringReader().Read(text, out diagnostics); + +if (diagnostics.Errors.Count > 0) +{ + foreach (var error in diagnostics.Errors) + { + Console.WriteLine(error.Message); + } + // Return Exit code 1 + Environment.Exit(1); +} + +await File.WriteAllTextAsync(path, text); \ No newline at end of file diff --git a/src/helpers/TrimmingHelper/Program.cs b/src/helpers/TrimmingHelper/Program.cs new file mode 100644 index 0000000..3b94c99 --- /dev/null +++ b/src/helpers/TrimmingHelper/Program.cs @@ -0,0 +1 @@ +Console.WriteLine("Build, rebuild or publish this app to see trimming warnings."); \ No newline at end of file diff --git a/src/helpers/TrimmingHelper/TrimmingHelper.csproj b/src/helpers/TrimmingHelper/TrimmingHelper.csproj new file mode 100644 index 0000000..f4b1b83 --- /dev/null +++ b/src/helpers/TrimmingHelper/TrimmingHelper.csproj @@ -0,0 +1,30 @@ + + + + Exe + net8.0 + enable + + true + + + + + + + + + + + + win-x64 + osx-arm64 + + true + + + + + + + diff --git a/src/key.snk b/src/key.snk new file mode 100755 index 0000000000000000000000000000000000000000..4205bc65b619af46faf1ce8c9e194dc2c30a785d GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097@Tmm`f2s?isF}AiFtX>D=N)fc=1kgf9 z*}k79&uahHkXGdO!esyrm#y!_=ao(Ker(?<0)EICMZK4xq|X_R!@P~p6ujvVRKf&-99a_p zc*Ub`qEtkZ9ejt*x!2k@!vqt$=zFYe=3E$d4GVq-hV$uRGl-Sdenr{I-|A0=Yi$ov zgysIlm|HH)0^P&fO$Ka_Y(iFvOs!p0{GNh&mOo>iVg)y@a(U!j%u75}#;n?P(n!j3 zmz$0jix2n8b+prAYIQknXWbHU)Rxy5To`D6RF@TV9$e*xz$0t818Nqdv{kYIA&-Fm zdxFxJT-cNa%2R%(I@=30w6Sr`e(H)J{0)J-!TUE6)X?)uZZL&WTeE$0R}0?}rL4=0 zGo1_jHceUqL6U789~;ksvtl*hAY+Fg=E>%Xu0Ea9$Ey);$sFKrR+8zT?FHm~-LNy` iXp_BkQUP9!N(yB0g4~glSoUuq0wr88#9^~%;rA(|rz33u literal 0 HcmV?d00001 diff --git a/src/libs/DeepInfra/DeepInfra.csproj b/src/libs/DeepInfra/DeepInfra.csproj new file mode 100644 index 0000000..6ae2b3c --- /dev/null +++ b/src/libs/DeepInfra/DeepInfra.csproj @@ -0,0 +1,40 @@ + + + + netstandard2.0;net4.6.2;net6.0;net8.0 + $(NoWarn);CA1724;CA2227 + + + + + + + + tryAGI.DeepInfra + + Generated C# SDK based on official DeepInfra OpenAPI specification. + Includes C# Source Generator which allows you to define functions natively through a C# interface, and also provides extensions that make it easier to call this interface later + api;client;sdk;dotnet;swagger;openapi;specification;openai;generated;nswag;functions;gpt-3.5;gpt-4;chatgpt;generator;source generator;constants;prices;pricing;vision;audio;embedding;moderation;image;chat + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + + + diff --git a/src/libs/DeepInfra/DeepInfraApi.AdditionalConstructors.cs b/src/libs/DeepInfra/DeepInfraApi.AdditionalConstructors.cs new file mode 100644 index 0000000..64e18b0 --- /dev/null +++ b/src/libs/DeepInfra/DeepInfraApi.AdditionalConstructors.cs @@ -0,0 +1,18 @@ +using System.Net.Http; + +namespace DeepInfra; + +public partial class DeepInfraApi +{ + /// + public DeepInfraApi( + string apiKey, + HttpClient? httpClient = null, + Uri? baseUri = null) : this(httpClient, baseUri ?? new Uri("https://api.deepinfra.com/v1/")) + { + //AuthorizeUsingBearer(apiKey); + _httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: "Bearer", + parameter: apiKey); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/AllOf.1.g.cs b/src/libs/DeepInfra/Generated/AllOf.1.g.cs new file mode 100644 index 0000000..bbd4637 --- /dev/null +++ b/src/libs/DeepInfra/Generated/AllOf.1.g.cs @@ -0,0 +1,114 @@ +using System.Linq; + +#nullable enable + +namespace System +{ + /// + /// + /// + public readonly partial struct AllOf : global::System.IEquatable> + { + /// + /// + /// +#if NET6_0_OR_GREATER + public T1? Value1 { get; init; } +#else + public T1? Value1 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value1))] +#endif + public bool IsValue1 => Value1 != null; + + /// + /// + /// + public static implicit operator AllOf(T1 value) => new AllOf(value); + + /// + /// + /// + public static implicit operator T1?(AllOf @this) => @this.Value1; + + /// + /// + /// + public AllOf(T1? value) + { + Value1 = value; + } + + /// + /// + /// + public object? Object => + Value1 as object + ; + + /// + /// + /// + public bool Validate() + { + return IsValue1; + } + + /// + /// + /// + public override int GetHashCode() + { + var fields = new object?[] + { + Value1, + typeof(T1), + }; + const int offset = unchecked((int)2166136261); + const int prime = 16777619; + static int HashCodeAggregator(int hashCode, object? value) => value == null + ? (hashCode ^ 0) * prime + : (hashCode ^ value.GetHashCode()) * prime; + return fields.Aggregate(offset, HashCodeAggregator); + } + + /// + /// + /// + public bool Equals(AllOf other) + { + return + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value1, other.Value1) + ; + } + + /// + /// + /// + public static bool operator ==(AllOf obj1, AllOf obj2) + { + return global::System.Collections.Generic.EqualityComparer>.Default.Equals(obj1, obj2); + } + + /// + /// + /// + public static bool operator !=(AllOf obj1, AllOf obj2) + { + return !(obj1 == obj2); + } + + /// + /// + /// + public override bool Equals(object? obj) + { + return obj is AllOf o && Equals(o); + } + } +} diff --git a/src/libs/DeepInfra/Generated/AnyOf.2.g.cs b/src/libs/DeepInfra/Generated/AnyOf.2.g.cs new file mode 100644 index 0000000..3a951e3 --- /dev/null +++ b/src/libs/DeepInfra/Generated/AnyOf.2.g.cs @@ -0,0 +1,165 @@ +using System.Linq; + +#nullable enable + +namespace System +{ + /// + /// + /// + public readonly partial struct AnyOf : global::System.IEquatable> + { + /// + /// + /// +#if NET6_0_OR_GREATER + public T1? Value1 { get; init; } +#else + public T1? Value1 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value1))] +#endif + public bool IsValue1 => Value1 != null; + + /// + /// + /// + public static implicit operator AnyOf(T1 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T1?(AnyOf @this) => @this.Value1; + + /// + /// + /// + public AnyOf(T1? value) + { + Value1 = value; + } + + /// + /// + /// +#if NET6_0_OR_GREATER + public T2? Value2 { get; init; } +#else + public T2? Value2 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value2))] +#endif + public bool IsValue2 => Value2 != null; + + /// + /// + /// + public static implicit operator AnyOf(T2 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T2?(AnyOf @this) => @this.Value2; + + /// + /// + /// + public AnyOf(T2? value) + { + Value2 = value; + } + + /// + /// + /// + public AnyOf( + T1? value1, + T2? value2 + ) + { + Value1 = value1; + Value2 = value2; + } + + /// + /// + /// + public object? Object => + Value2 as object ?? + Value1 as object + ; + + /// + /// + /// + public bool Validate() + { + return IsValue1 || IsValue2; + } + + /// + /// + /// + public override int GetHashCode() + { + var fields = new object?[] + { + Value1, + typeof(T1), + Value2, + typeof(T2), + }; + const int offset = unchecked((int)2166136261); + const int prime = 16777619; + static int HashCodeAggregator(int hashCode, object? value) => value == null + ? (hashCode ^ 0) * prime + : (hashCode ^ value.GetHashCode()) * prime; + return fields.Aggregate(offset, HashCodeAggregator); + } + + /// + /// + /// + public bool Equals(AnyOf other) + { + return + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value1, other.Value1) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value2, other.Value2) + ; + } + + /// + /// + /// + public static bool operator ==(AnyOf obj1, AnyOf obj2) + { + return global::System.Collections.Generic.EqualityComparer>.Default.Equals(obj1, obj2); + } + + /// + /// + /// + public static bool operator !=(AnyOf obj1, AnyOf obj2) + { + return !(obj1 == obj2); + } + + /// + /// + /// + public override bool Equals(object? obj) + { + return obj is AnyOf o && Equals(o); + } + } +} diff --git a/src/libs/DeepInfra/Generated/AnyOf.4.g.cs b/src/libs/DeepInfra/Generated/AnyOf.4.g.cs new file mode 100644 index 0000000..481881c --- /dev/null +++ b/src/libs/DeepInfra/Generated/AnyOf.4.g.cs @@ -0,0 +1,247 @@ +using System.Linq; + +#nullable enable + +namespace System +{ + /// + /// + /// + public readonly partial struct AnyOf : global::System.IEquatable> + { + /// + /// + /// +#if NET6_0_OR_GREATER + public T1? Value1 { get; init; } +#else + public T1? Value1 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value1))] +#endif + public bool IsValue1 => Value1 != null; + + /// + /// + /// + public static implicit operator AnyOf(T1 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T1?(AnyOf @this) => @this.Value1; + + /// + /// + /// + public AnyOf(T1? value) + { + Value1 = value; + } + + /// + /// + /// +#if NET6_0_OR_GREATER + public T2? Value2 { get; init; } +#else + public T2? Value2 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value2))] +#endif + public bool IsValue2 => Value2 != null; + + /// + /// + /// + public static implicit operator AnyOf(T2 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T2?(AnyOf @this) => @this.Value2; + + /// + /// + /// + public AnyOf(T2? value) + { + Value2 = value; + } + + /// + /// + /// +#if NET6_0_OR_GREATER + public T3? Value3 { get; init; } +#else + public T3? Value3 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value3))] +#endif + public bool IsValue3 => Value3 != null; + + /// + /// + /// + public static implicit operator AnyOf(T3 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T3?(AnyOf @this) => @this.Value3; + + /// + /// + /// + public AnyOf(T3? value) + { + Value3 = value; + } + + /// + /// + /// +#if NET6_0_OR_GREATER + public T4? Value4 { get; init; } +#else + public T4? Value4 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value4))] +#endif + public bool IsValue4 => Value4 != null; + + /// + /// + /// + public static implicit operator AnyOf(T4 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T4?(AnyOf @this) => @this.Value4; + + /// + /// + /// + public AnyOf(T4? value) + { + Value4 = value; + } + + /// + /// + /// + public AnyOf( + T1? value1, + T2? value2, + T3? value3, + T4? value4 + ) + { + Value1 = value1; + Value2 = value2; + Value3 = value3; + Value4 = value4; + } + + /// + /// + /// + public object? Object => + Value4 as object ?? + Value3 as object ?? + Value2 as object ?? + Value1 as object + ; + + /// + /// + /// + public bool Validate() + { + return IsValue1 || IsValue2 || IsValue3 || IsValue4; + } + + /// + /// + /// + public override int GetHashCode() + { + var fields = new object?[] + { + Value1, + typeof(T1), + Value2, + typeof(T2), + Value3, + typeof(T3), + Value4, + typeof(T4), + }; + const int offset = unchecked((int)2166136261); + const int prime = 16777619; + static int HashCodeAggregator(int hashCode, object? value) => value == null + ? (hashCode ^ 0) * prime + : (hashCode ^ value.GetHashCode()) * prime; + return fields.Aggregate(offset, HashCodeAggregator); + } + + /// + /// + /// + public bool Equals(AnyOf other) + { + return + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value1, other.Value1) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value2, other.Value2) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value3, other.Value3) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value4, other.Value4) + ; + } + + /// + /// + /// + public static bool operator ==(AnyOf obj1, AnyOf obj2) + { + return global::System.Collections.Generic.EqualityComparer>.Default.Equals(obj1, obj2); + } + + /// + /// + /// + public static bool operator !=(AnyOf obj1, AnyOf obj2) + { + return !(obj1 == obj2); + } + + /// + /// + /// + public override bool Equals(object? obj) + { + return obj is AnyOf o && Equals(o); + } + } +} diff --git a/src/libs/DeepInfra/Generated/AnyOf.6.g.cs b/src/libs/DeepInfra/Generated/AnyOf.6.g.cs new file mode 100644 index 0000000..5666f32 --- /dev/null +++ b/src/libs/DeepInfra/Generated/AnyOf.6.g.cs @@ -0,0 +1,329 @@ +using System.Linq; + +#nullable enable + +namespace System +{ + /// + /// + /// + public readonly partial struct AnyOf : global::System.IEquatable> + { + /// + /// + /// +#if NET6_0_OR_GREATER + public T1? Value1 { get; init; } +#else + public T1? Value1 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value1))] +#endif + public bool IsValue1 => Value1 != null; + + /// + /// + /// + public static implicit operator AnyOf(T1 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T1?(AnyOf @this) => @this.Value1; + + /// + /// + /// + public AnyOf(T1? value) + { + Value1 = value; + } + + /// + /// + /// +#if NET6_0_OR_GREATER + public T2? Value2 { get; init; } +#else + public T2? Value2 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value2))] +#endif + public bool IsValue2 => Value2 != null; + + /// + /// + /// + public static implicit operator AnyOf(T2 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T2?(AnyOf @this) => @this.Value2; + + /// + /// + /// + public AnyOf(T2? value) + { + Value2 = value; + } + + /// + /// + /// +#if NET6_0_OR_GREATER + public T3? Value3 { get; init; } +#else + public T3? Value3 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value3))] +#endif + public bool IsValue3 => Value3 != null; + + /// + /// + /// + public static implicit operator AnyOf(T3 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T3?(AnyOf @this) => @this.Value3; + + /// + /// + /// + public AnyOf(T3? value) + { + Value3 = value; + } + + /// + /// + /// +#if NET6_0_OR_GREATER + public T4? Value4 { get; init; } +#else + public T4? Value4 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value4))] +#endif + public bool IsValue4 => Value4 != null; + + /// + /// + /// + public static implicit operator AnyOf(T4 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T4?(AnyOf @this) => @this.Value4; + + /// + /// + /// + public AnyOf(T4? value) + { + Value4 = value; + } + + /// + /// + /// +#if NET6_0_OR_GREATER + public T5? Value5 { get; init; } +#else + public T5? Value5 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value5))] +#endif + public bool IsValue5 => Value5 != null; + + /// + /// + /// + public static implicit operator AnyOf(T5 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T5?(AnyOf @this) => @this.Value5; + + /// + /// + /// + public AnyOf(T5? value) + { + Value5 = value; + } + + /// + /// + /// +#if NET6_0_OR_GREATER + public T6? Value6 { get; init; } +#else + public T6? Value6 { get; } +#endif + + /// + /// + /// +#if NET6_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value6))] +#endif + public bool IsValue6 => Value6 != null; + + /// + /// + /// + public static implicit operator AnyOf(T6 value) => new AnyOf(value); + + /// + /// + /// + public static implicit operator T6?(AnyOf @this) => @this.Value6; + + /// + /// + /// + public AnyOf(T6? value) + { + Value6 = value; + } + + /// + /// + /// + public AnyOf( + T1? value1, + T2? value2, + T3? value3, + T4? value4, + T5? value5, + T6? value6 + ) + { + Value1 = value1; + Value2 = value2; + Value3 = value3; + Value4 = value4; + Value5 = value5; + Value6 = value6; + } + + /// + /// + /// + public object? Object => + Value6 as object ?? + Value5 as object ?? + Value4 as object ?? + Value3 as object ?? + Value2 as object ?? + Value1 as object + ; + + /// + /// + /// + public bool Validate() + { + return IsValue1 || IsValue2 || IsValue3 || IsValue4 || IsValue5 || IsValue6; + } + + /// + /// + /// + public override int GetHashCode() + { + var fields = new object?[] + { + Value1, + typeof(T1), + Value2, + typeof(T2), + Value3, + typeof(T3), + Value4, + typeof(T4), + Value5, + typeof(T5), + Value6, + typeof(T6), + }; + const int offset = unchecked((int)2166136261); + const int prime = 16777619; + static int HashCodeAggregator(int hashCode, object? value) => value == null + ? (hashCode ^ 0) * prime + : (hashCode ^ value.GetHashCode()) * prime; + return fields.Aggregate(offset, HashCodeAggregator); + } + + /// + /// + /// + public bool Equals(AnyOf other) + { + return + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value1, other.Value1) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value2, other.Value2) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value3, other.Value3) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value4, other.Value4) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value5, other.Value5) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(Value6, other.Value6) + ; + } + + /// + /// + /// + public static bool operator ==(AnyOf obj1, AnyOf obj2) + { + return global::System.Collections.Generic.EqualityComparer>.Default.Equals(obj1, obj2); + } + + /// + /// + /// + public static bool operator !=(AnyOf obj1, AnyOf obj2) + { + return !(obj1 == obj2); + } + + /// + /// + /// + public override bool Equals(object? obj) + { + return obj is AnyOf o && Equals(o); + } + } +} diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountEmailValuesV1MeEmailsGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountEmailValuesV1MeEmailsGet.g.cs new file mode 100644 index 0000000..0215570 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountEmailValuesV1MeEmailsGet.g.cs @@ -0,0 +1,83 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareAccountEmailValuesV1MeEmailsGetArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PrepareAccountEmailValuesV1MeEmailsGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessAccountEmailValuesV1MeEmailsGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessAccountEmailValuesV1MeEmailsGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Account Email Values + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task AccountEmailValuesV1MeEmailsGetAsync( + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareAccountEmailValuesV1MeEmailsGetArguments( + httpClient: _httpClient); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/me/emails", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareAccountEmailValuesV1MeEmailsGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessAccountEmailValuesV1MeEmailsGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessAccountEmailValuesV1MeEmailsGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.EmailsOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountRateLimitV1MeRateLimitGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountRateLimitV1MeRateLimitGet.g.cs new file mode 100644 index 0000000..a5ae1da --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountRateLimitV1MeRateLimitGet.g.cs @@ -0,0 +1,83 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareAccountRateLimitV1MeRateLimitGetArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PrepareAccountRateLimitV1MeRateLimitGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessAccountRateLimitV1MeRateLimitGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessAccountRateLimitV1MeRateLimitGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Account Rate Limit + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task AccountRateLimitV1MeRateLimitGetAsync( + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareAccountRateLimitV1MeRateLimitGetArguments( + httpClient: _httpClient); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/me/rate_limit", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareAccountRateLimitV1MeRateLimitGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessAccountRateLimitV1MeRateLimitGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessAccountRateLimitV1MeRateLimitGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.RateLimitOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountUpdateDetailsV1MePatch.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountUpdateDetailsV1MePatch.g.cs new file mode 100644 index 0000000..4963c96 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.AccountUpdateDetailsV1MePatch.g.cs @@ -0,0 +1,134 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareAccountUpdateDetailsV1MePatchArguments( + global::System.Net.Http.HttpClient httpClient, + global::DeepInfra.MeIn request); + partial void PrepareAccountUpdateDetailsV1MePatchRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::DeepInfra.MeIn request); + partial void ProcessAccountUpdateDetailsV1MePatchResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessAccountUpdateDetailsV1MePatchResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Account Update Details + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task AccountUpdateDetailsV1MePatchAsync( + global::DeepInfra.MeIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareAccountUpdateDetailsV1MePatchArguments( + httpClient: _httpClient, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: new global::System.Net.Http.HttpMethod("PATCH"), + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/me", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.MeIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareAccountUpdateDetailsV1MePatchRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessAccountUpdateDetailsV1MePatchResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessAccountUpdateDetailsV1MePatchResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Account Update Details + /// + /// + /// Personal name + /// + /// + /// + /// + /// Company name + /// + /// + /// Company website address + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task AccountUpdateDetailsV1MePatchAsync( + string? name = default, + string? email = default, + bool isBusinessAccount = default, + string? company = default, + string? website = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.MeIn + { + Name = name, + Email = email, + IsBusinessAccount = isBusinessAccount, + Company = company, + Website = website, + }; + + return await AccountUpdateDetailsV1MePatchAsync( + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.BillingPortalPaymentBillingPortalGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.BillingPortalPaymentBillingPortalGet.g.cs new file mode 100644 index 0000000..a4cb341 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.BillingPortalPaymentBillingPortalGet.g.cs @@ -0,0 +1,97 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareBillingPortalPaymentBillingPortalGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string returnUrl, + ref string session); + partial void PrepareBillingPortalPaymentBillingPortalGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string returnUrl, + string session); + partial void ProcessBillingPortalPaymentBillingPortalGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessBillingPortalPaymentBillingPortalGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Billing Portal
+ /// Redirect to the stripe billing portal page, where the user can manage
+ /// their email and payment methods + ///
+ /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task BillingPortalPaymentBillingPortalGetAsync( + string returnUrl, + string session, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareBillingPortalPaymentBillingPortalGetArguments( + httpClient: _httpClient, + returnUrl: ref returnUrl, + session: ref session); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/payment/billing-portal?return_url={returnUrl}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareBillingPortalPaymentBillingPortalGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + returnUrl: returnUrl, + session: session); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessBillingPortalPaymentBillingPortalGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessBillingPortalPaymentBillingPortalGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.BillingPortalOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.CliVersionCliVersionGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.CliVersionCliVersionGet.g.cs new file mode 100644 index 0000000..0fad7b8 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.CliVersionCliVersionGet.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareCliVersionCliVersionGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string version); + partial void PrepareCliVersionCliVersionGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string version); + partial void ProcessCliVersionCliVersionGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessCliVersionCliVersionGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Cli Version + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task CliVersionCliVersionGetAsync( + string version, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareCliVersionCliVersionGetArguments( + httpClient: _httpClient, + version: ref version); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/cli/version?version={version}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareCliVersionCliVersionGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + version: version); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessCliVersionCliVersionGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessCliVersionCliVersionGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.CreateApiTokenV1ApiTokensPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.CreateApiTokenV1ApiTokensPost.g.cs new file mode 100644 index 0000000..86198e9 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.CreateApiTokenV1ApiTokensPost.g.cs @@ -0,0 +1,116 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareCreateApiTokenV1ApiTokensPostArguments( + global::System.Net.Http.HttpClient httpClient, + global::DeepInfra.ApiTokenIn request); + partial void PrepareCreateApiTokenV1ApiTokensPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::DeepInfra.ApiTokenIn request); + partial void ProcessCreateApiTokenV1ApiTokensPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessCreateApiTokenV1ApiTokensPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Create Api Token + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task CreateApiTokenV1ApiTokensPostAsync( + global::DeepInfra.ApiTokenIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareCreateApiTokenV1ApiTokensPostArguments( + httpClient: _httpClient, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/api-tokens", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.ApiTokenIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareCreateApiTokenV1ApiTokensPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessCreateApiTokenV1ApiTokensPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessCreateApiTokenV1ApiTokensPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.ApiToken) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Create Api Token + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task CreateApiTokenV1ApiTokensPostAsync( + string name, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.ApiTokenIn + { + Name = name, + }; + + return await CreateApiTokenV1ApiTokensPostAsync( + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeepstartApplyPaymentDeepstartApplicationPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeepstartApplyPaymentDeepstartApplicationPost.g.cs new file mode 100644 index 0000000..0647566 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeepstartApplyPaymentDeepstartApplicationPost.g.cs @@ -0,0 +1,154 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeepstartApplyPaymentDeepstartApplicationPostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string session, + global::DeepInfra.DeepStartApplicationIn request); + partial void PrepareDeepstartApplyPaymentDeepstartApplicationPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string session, + global::DeepInfra.DeepStartApplicationIn request); + partial void ProcessDeepstartApplyPaymentDeepstartApplicationPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeepstartApplyPaymentDeepstartApplicationPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deepstart Apply + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeepstartApplyPaymentDeepstartApplicationPostAsync( + string session, + global::DeepInfra.DeepStartApplicationIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareDeepstartApplyPaymentDeepstartApplicationPostArguments( + httpClient: _httpClient, + session: ref session, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/payment/deepstart/application", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.DeepStartApplicationIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeepstartApplyPaymentDeepstartApplicationPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + session: session, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeepstartApplyPaymentDeepstartApplicationPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeepstartApplyPaymentDeepstartApplicationPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeepStartApplicationOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Deepstart Apply + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// Default Value: pending + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeepstartApplyPaymentDeepstartApplicationPostAsync( + string company, + string ceo, + string funding, + string foundedOn, + string website, + string session = default, + string? id = default, + string? uid = default, + int createdAt = default, + string? status = "pending", + string? deal = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.DeepStartApplicationIn + { + Id = id, + Uid = uid, + Company = company, + Ceo = ceo, + Funding = funding, + FoundedOn = foundedOn, + Website = website, + CreatedAt = createdAt, + Status = status, + Deal = deal, + }; + + return await DeepstartApplyPaymentDeepstartApplicationPostAsync( + session: session, + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeleteAccountV1MeDelete.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeleteAccountV1MeDelete.g.cs new file mode 100644 index 0000000..4967c01 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeleteAccountV1MeDelete.g.cs @@ -0,0 +1,83 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeleteAccountV1MeDeleteArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PrepareDeleteAccountV1MeDeleteRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessDeleteAccountV1MeDeleteResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeleteAccountV1MeDeleteResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Delete Account + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeleteAccountV1MeDeleteAsync( + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareDeleteAccountV1MeDeleteArguments( + httpClient: _httpClient); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Delete, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/me", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeleteAccountV1MeDeleteRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeleteAccountV1MeDeleteResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeleteAccountV1MeDeleteResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Me) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeleteApiTokenV1ApiTokensApiTokenDelete.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeleteApiTokenV1ApiTokensApiTokenDelete.g.cs new file mode 100644 index 0000000..3f14dd5 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeleteApiTokenV1ApiTokensApiTokenDelete.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeleteApiTokenV1ApiTokensApiTokenDeleteArguments( + global::System.Net.Http.HttpClient httpClient, + ref string apiToken); + partial void PrepareDeleteApiTokenV1ApiTokensApiTokenDeleteRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string apiToken); + partial void ProcessDeleteApiTokenV1ApiTokensApiTokenDeleteResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeleteApiTokenV1ApiTokensApiTokenDeleteResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Delete Api Token + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeleteApiTokenV1ApiTokensApiTokenDeleteAsync( + string apiToken, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareDeleteApiTokenV1ApiTokensApiTokenDeleteArguments( + httpClient: _httpClient, + apiToken: ref apiToken); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Delete, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/v1/api-tokens/{apiToken}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeleteApiTokenV1ApiTokensApiTokenDeleteRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + apiToken: apiToken); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeleteApiTokenV1ApiTokensApiTokenDeleteResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeleteApiTokenV1ApiTokensApiTokenDeleteResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateHfDeployHfPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateHfDeployHfPost.g.cs new file mode 100644 index 0000000..addd63f --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateHfDeployHfPost.g.cs @@ -0,0 +1,125 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployCreateHfDeployHfPostArguments( + global::System.Net.Http.HttpClient httpClient, + global::DeepInfra.HFModel request); + partial void PrepareDeployCreateHfDeployHfPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::DeepInfra.HFModel request); + partial void ProcessDeployCreateHfDeployHfPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployCreateHfDeployHfPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy Create Hf + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployCreateHfDeployHfPostAsync( + global::DeepInfra.HFModel request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareDeployCreateHfDeployHfPostArguments( + httpClient: _httpClient, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/deploy/hf/", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.HFModel), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployCreateHfDeployHfPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployCreateHfDeployHfPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployCreateHfDeployHfPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeployResult) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Deploy Create Hf + /// + /// + /// Model Id from huggingface
+ /// Example: google/vit-base-patch16-224 + /// + /// + /// Task
+ /// Example: image-classification + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployCreateHfDeployHfPostAsync( + string modelName, + string? task = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.HFModel + { + ModelName = modelName, + Task = task, + }; + + return await DeployCreateHfDeployHfPostAsync( + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateLlmDeployLlmPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateLlmDeployLlmPost.g.cs new file mode 100644 index 0000000..bff0755 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateLlmDeployLlmPost.g.cs @@ -0,0 +1,141 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployCreateLlmDeployLlmPostArguments( + global::System.Net.Http.HttpClient httpClient, + global::DeepInfra.DeployLLMIn request); + partial void PrepareDeployCreateLlmDeployLlmPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::DeepInfra.DeployLLMIn request); + partial void ProcessDeployCreateLlmDeployLlmPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployCreateLlmDeployLlmPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy Create Llm + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployCreateLlmDeployLlmPostAsync( + global::DeepInfra.DeployLLMIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareDeployCreateLlmDeployLlmPostArguments( + httpClient: _httpClient, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/deploy/llm", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.DeployLLMIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployCreateLlmDeployLlmPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployCreateLlmDeployLlmPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployCreateLlmDeployLlmPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeploymentOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Deploy Create Llm + /// + /// + /// model name for deepinfra (username/mode-name format) + /// + /// + /// The GPU you want to run on + /// + /// + /// Number of GPUs you want for this model
+ /// Default Value: 1 + /// + /// + /// Maximum number of concurrent requests
+ /// Default Value: 96 + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployCreateLlmDeployLlmPostAsync( + string modelName, + global::System.AllOf gpu, + int numGpus = 1, + int maxBatchSize = 96, + global::DeepInfra.HFWeights? hf = default, + global::DeepInfra.ScaleSettings? settings = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.DeployLLMIn + { + ModelName = modelName, + Gpu = gpu, + NumGpus = numGpus, + MaxBatchSize = maxBatchSize, + Hf = hf, + Settings = settings, + }; + + return await DeployCreateLlmDeployLlmPostAsync( + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateV1DeployPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateV1DeployPost.g.cs new file mode 100644 index 0000000..99255fd --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployCreateV1DeployPost.g.cs @@ -0,0 +1,129 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployCreateV1DeployPostArguments( + global::System.Net.Http.HttpClient httpClient, + global::DeepInfra.DeployModelIn request); + partial void PrepareDeployCreateV1DeployPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::DeepInfra.DeployModelIn request); + partial void ProcessDeployCreateV1DeployPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployCreateV1DeployPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy Create + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployCreateV1DeployPostAsync( + global::DeepInfra.DeployModelIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareDeployCreateV1DeployPostArguments( + httpClient: _httpClient, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/deploy", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.DeployModelIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployCreateV1DeployPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployCreateV1DeployPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployCreateV1DeployPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeployResult) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Deploy Create + /// + /// + /// namespace for the model name
+ /// Default Value: cnt + /// + /// + /// model name in specified provider + /// + /// + /// A specific revision, if left empty uses the last one + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployCreateV1DeployPostAsync( + string modelName, + global::System.AllOf? provider = default, + string? version = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.DeployModelIn + { + Provider = provider, + ModelName = modelName, + Version = version, + }; + + return await DeployCreateV1DeployPostAsync( + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployDeleteDeployDeployIdDelete.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployDeleteDeployDeployIdDelete.g.cs new file mode 100644 index 0000000..0774992 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployDeleteDeployDeployIdDelete.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployDeleteDeployDeployIdDeleteArguments( + global::System.Net.Http.HttpClient httpClient, + ref string deployId); + partial void PrepareDeployDeleteDeployDeployIdDeleteRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string deployId); + partial void ProcessDeployDeleteDeployDeployIdDeleteResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployDeleteDeployDeployIdDeleteResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy Delete + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployDeleteDeployDeployIdDeleteAsync( + string deployId, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareDeployDeleteDeployDeployIdDeleteArguments( + httpClient: _httpClient, + deployId: ref deployId); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Delete, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/deploy/{deployId}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployDeleteDeployDeployIdDeleteRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + deployId: deployId); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployDeleteDeployDeployIdDeleteResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployDeleteDeployDeployIdDeleteResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeployDelete) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployDetailedStatsDeployDeployIdStats2Get.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployDetailedStatsDeployDeployIdStats2Get.g.cs new file mode 100644 index 0000000..a1e6fb0 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployDetailedStatsDeployDeployIdStats2Get.g.cs @@ -0,0 +1,106 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployDetailedStatsDeployDeployIdStats2GetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string deployId, + ref string from, + ref string to); + partial void PrepareDeployDetailedStatsDeployDeployIdStats2GetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string deployId, + string from, + string to); + partial void ProcessDeployDetailedStatsDeployDeployIdStats2GetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployDetailedStatsDeployDeployIdStats2GetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy Detailed Stats + /// + /// + /// + /// start of period, unix ts or 'now-5h', supported units s, m, h, d, w + /// + /// + /// end of period, unix ts or now-relative, check from, defaults to now
+ /// Default Value: now + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployDetailedStatsDeployDeployIdStats2GetAsync( + string deployId, + string from, + string to, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareDeployDetailedStatsDeployDeployIdStats2GetArguments( + httpClient: _httpClient, + deployId: ref deployId, + from: ref from, + to: ref to); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/deploy/{deployId}/stats2?from={from}&to={to}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployDetailedStatsDeployDeployIdStats2GetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + deployId: deployId, + from: from, + to: to); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployDetailedStatsDeployDeployIdStats2GetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployDetailedStatsDeployDeployIdStats2GetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DetailedDeploymentStatsOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployGpuAvailabilityDeployLlmGpuAvailabilityGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployGpuAvailabilityDeployLlmGpuAvailabilityGet.g.cs new file mode 100644 index 0000000..4d7eaa7 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployGpuAvailabilityDeployLlmGpuAvailabilityGet.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployGpuAvailabilityDeployLlmGpuAvailabilityGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string source); + partial void PrepareDeployGpuAvailabilityDeployLlmGpuAvailabilityGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string source); + partial void ProcessDeployGpuAvailabilityDeployLlmGpuAvailabilityGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployGpuAvailabilityDeployLlmGpuAvailabilityGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy Gpu Availability + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployGpuAvailabilityDeployLlmGpuAvailabilityGetAsync( + string source, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareDeployGpuAvailabilityDeployLlmGpuAvailabilityGetArguments( + httpClient: _httpClient, + source: ref source); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/deploy/llm/gpu_availability?source={source}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployGpuAvailabilityDeployLlmGpuAvailabilityGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + source: source); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployGpuAvailabilityDeployLlmGpuAvailabilityGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployGpuAvailabilityDeployLlmGpuAvailabilityGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeployGPUAvailability) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployListDeployListGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployListDeployListGet.g.cs new file mode 100644 index 0000000..43c9ab3 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployListDeployListGet.g.cs @@ -0,0 +1,91 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployListDeployListGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string status); + partial void PrepareDeployListDeployListGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string status); + partial void ProcessDeployListDeployListGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployListDeployListGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy List + /// + /// + /// A list of statuses that should be returned, separated by comma. Allowed values in the list are: initializing,deploying,running,failed,deleted + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> DeployListDeployListGetAsync( + string status, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareDeployListDeployListGetArguments( + httpClient: _httpClient, + status: ref status); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/deploy/list?status={status}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployListDeployListGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + status: status); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployListDeployListGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployListDeployListGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.IListDeploymentOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployStatsDeployDeployIdStatsGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployStatsDeployDeployIdStatsGet.g.cs new file mode 100644 index 0000000..b9a88cc --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployStatsDeployDeployIdStatsGet.g.cs @@ -0,0 +1,106 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployStatsDeployDeployIdStatsGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string deployId, + ref string from, + ref string to); + partial void PrepareDeployStatsDeployDeployIdStatsGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string deployId, + string from, + string to); + partial void ProcessDeployStatsDeployDeployIdStatsGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployStatsDeployDeployIdStatsGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy Stats + /// + /// + /// + /// start of period, unix ts or 'now-5h', supported units s(ec), m(min), h(our), d(ay), w(eek), M(onth) + /// + /// + /// end of period, unix ts or now-relative, check from, defaults to now
+ /// Default Value: now + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployStatsDeployDeployIdStatsGetAsync( + string deployId, + string from, + string to, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareDeployStatsDeployDeployIdStatsGetArguments( + httpClient: _httpClient, + deployId: ref deployId, + from: ref from, + to: ref to); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/deploy/{deployId}/stats?from={from}&to={to}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployStatsDeployDeployIdStatsGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + deployId: deployId, + from: from, + to: to); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployStatsDeployDeployIdStatsGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployStatsDeployDeployIdStatsGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeploymentStatsOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployStatusDeployDeployIdGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployStatusDeployDeployIdGet.g.cs new file mode 100644 index 0000000..058bef2 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployStatusDeployDeployIdGet.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployStatusDeployDeployIdGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string deployId); + partial void PrepareDeployStatusDeployDeployIdGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string deployId); + partial void ProcessDeployStatusDeployDeployIdGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployStatusDeployDeployIdGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy Status + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployStatusDeployDeployIdGetAsync( + string deployId, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareDeployStatusDeployDeployIdGetArguments( + httpClient: _httpClient, + deployId: ref deployId); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/deploy/{deployId}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployStatusDeployDeployIdGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + deployId: deployId); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployStatusDeployDeployIdGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployStatusDeployDeployIdGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeploymentOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployUpdateDeployDeployIdPut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployUpdateDeployDeployIdPut.g.cs new file mode 100644 index 0000000..2eee5c3 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeployUpdateDeployDeployIdPut.g.cs @@ -0,0 +1,125 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeployUpdateDeployDeployIdPutArguments( + global::System.Net.Http.HttpClient httpClient, + ref string deployId, + global::DeepInfra.DeployLLMUpdateIn request); + partial void PrepareDeployUpdateDeployDeployIdPutRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string deployId, + global::DeepInfra.DeployLLMUpdateIn request); + partial void ProcessDeployUpdateDeployDeployIdPutResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeployUpdateDeployDeployIdPutResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deploy Update + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployUpdateDeployDeployIdPutAsync( + string deployId, + global::DeepInfra.DeployLLMUpdateIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareDeployUpdateDeployDeployIdPutArguments( + httpClient: _httpClient, + deployId: ref deployId, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Put, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/deploy/{deployId}", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.DeployLLMUpdateIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeployUpdateDeployDeployIdPutRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + deployId: deployId, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeployUpdateDeployDeployIdPutResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeployUpdateDeployDeployIdPutResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeployStatusOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Deploy Update + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeployUpdateDeployDeployIdPutAsync( + string deployId, + global::DeepInfra.ScaleSettings settings, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.DeployLLMUpdateIn + { + Settings = settings, + }; + + return await DeployUpdateDeployDeployIdPutAsync( + deployId: deployId, + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeploymentLogsQueryV1DeploymentLogsQueryGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeploymentLogsQueryV1DeploymentLogsQueryGet.g.cs new file mode 100644 index 0000000..24d1a83 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.DeploymentLogsQueryV1DeploymentLogsQueryGet.g.cs @@ -0,0 +1,130 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareDeploymentLogsQueryV1DeploymentLogsQueryGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string deployId, + ref string podName, + ref string from, + ref string to, + ref int limit); + partial void PrepareDeploymentLogsQueryV1DeploymentLogsQueryGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string deployId, + string podName, + string from, + string to, + int limit); + partial void ProcessDeploymentLogsQueryV1DeploymentLogsQueryGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessDeploymentLogsQueryV1DeploymentLogsQueryGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Deployment Logs Query
+ /// Query deployment logs.
+ /// * Without timestamps (from/to) returns last `limit` messages (in last month).
+ /// * With `from` only, returns first `limit` messages after `from` (inclusive).
+ /// * With `to` only, returns last `limit` messages before `to` (inclusive).
+ /// * With both `from` and `to`, return the first `limit` messages after `from`, but not later than `to`.
+ /// * `from` and `to` should be no more than a month apart. + ///
+ /// + /// the deploy id to get the logs from + /// + /// + /// the pod name to get the logs from + /// + /// + /// start of period, in fractional seconds since unix epoch (inclusive) + /// + /// + /// end of period, in fractional seconds since unix epoch (exclusive) + /// + /// + /// how many items to return at most (default 100, in [1, 1000])
+ /// Default Value: 100 + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task DeploymentLogsQueryV1DeploymentLogsQueryGetAsync( + string deployId, + string podName, + string from, + string to, + int limit, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareDeploymentLogsQueryV1DeploymentLogsQueryGetArguments( + httpClient: _httpClient, + deployId: ref deployId, + podName: ref podName, + from: ref from, + to: ref to, + limit: ref limit); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/v1/deployment_logs/query?deploy_id={deployId}&pod_name={podName}&from={from}&to={to}&limit={limit}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareDeploymentLogsQueryV1DeploymentLogsQueryGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + deployId: deployId, + podName: podName, + from: from, + to: to, + limit: limit); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessDeploymentLogsQueryV1DeploymentLogsQueryGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessDeploymentLogsQueryV1DeploymentLogsQueryGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.DeploymentLogQueryOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetApiTokenV1ApiTokensApiTokenGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetApiTokenV1ApiTokensApiTokenGet.g.cs new file mode 100644 index 0000000..91581c3 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetApiTokenV1ApiTokensApiTokenGet.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareGetApiTokenV1ApiTokensApiTokenGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string apiToken); + partial void PrepareGetApiTokenV1ApiTokensApiTokenGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string apiToken); + partial void ProcessGetApiTokenV1ApiTokensApiTokenGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetApiTokenV1ApiTokensApiTokenGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get Api Token + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetApiTokenV1ApiTokensApiTokenGetAsync( + string apiToken, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareGetApiTokenV1ApiTokensApiTokenGetArguments( + httpClient: _httpClient, + apiToken: ref apiToken); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/v1/api-tokens/{apiToken}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareGetApiTokenV1ApiTokensApiTokenGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + apiToken: apiToken); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessGetApiTokenV1ApiTokensApiTokenGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessGetApiTokenV1ApiTokensApiTokenGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.ApiToken) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetApiTokensV1ApiTokensGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetApiTokensV1ApiTokensGet.g.cs new file mode 100644 index 0000000..afbff47 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetApiTokensV1ApiTokensGet.g.cs @@ -0,0 +1,83 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareGetApiTokensV1ApiTokensGetArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PrepareGetApiTokensV1ApiTokensGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessGetApiTokensV1ApiTokensGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetApiTokensV1ApiTokensGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get Api Tokens + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetApiTokensV1ApiTokensGetAsync( + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareGetApiTokensV1ApiTokensGetArguments( + httpClient: _httpClient); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/api-tokens", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareGetApiTokensV1ApiTokensGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessGetApiTokensV1ApiTokensGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessGetApiTokensV1ApiTokensGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.IListApiToken) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetChecklistPaymentChecklistGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetChecklistPaymentChecklistGet.g.cs new file mode 100644 index 0000000..d8714d1 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetChecklistPaymentChecklistGet.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareGetChecklistPaymentChecklistGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string session); + partial void PrepareGetChecklistPaymentChecklistGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string session); + partial void ProcessGetChecklistPaymentChecklistGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetChecklistPaymentChecklistGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get Checklist + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetChecklistPaymentChecklistGetAsync( + string session, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareGetChecklistPaymentChecklistGetArguments( + httpClient: _httpClient, + session: ref session); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/payment/checklist", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareGetChecklistPaymentChecklistGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + session: session); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessGetChecklistPaymentChecklistGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessGetChecklistPaymentChecklistGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Checklist) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetConfigPaymentConfigGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetConfigPaymentConfigGet.g.cs new file mode 100644 index 0000000..6f8efa9 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GetConfigPaymentConfigGet.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareGetConfigPaymentConfigGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string session); + partial void PrepareGetConfigPaymentConfigGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string session); + partial void ProcessGetConfigPaymentConfigGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetConfigPaymentConfigGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get Config + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetConfigPaymentConfigGetAsync( + string session, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareGetConfigPaymentConfigGetArguments( + httpClient: _httpClient, + session: ref session); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/payment/config", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareGetConfigPaymentConfigGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + session: session); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessGetConfigPaymentConfigGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessGetConfigPaymentConfigGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.ConfigOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GithubCliLoginGithubCliLoginGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GithubCliLoginGithubCliLoginGet.g.cs new file mode 100644 index 0000000..dc6ae46 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GithubCliLoginGithubCliLoginGet.g.cs @@ -0,0 +1,91 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareGithubCliLoginGithubCliLoginGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string loginId); + partial void PrepareGithubCliLoginGithubCliLoginGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string loginId); + partial void ProcessGithubCliLoginGithubCliLoginGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGithubCliLoginGithubCliLoginGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Github Cli Login
+ /// deepctl is calling this request waiting for auth token during login.
+ /// The token is stored in /github/callback + ///
+ /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GithubCliLoginGithubCliLoginGetAsync( + string loginId, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareGithubCliLoginGithubCliLoginGetArguments( + httpClient: _httpClient, + loginId: ref loginId); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/github/cli/login?login_id={loginId}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareGithubCliLoginGithubCliLoginGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + loginId: loginId); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessGithubCliLoginGithubCliLoginGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessGithubCliLoginGithubCliLoginGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GithubLoginGithubLoginGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GithubLoginGithubLoginGet.g.cs new file mode 100644 index 0000000..b3256de --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.GithubLoginGithubLoginGet.g.cs @@ -0,0 +1,102 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareGithubLoginGithubLoginGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string loginId, + ref string origin, + ref string deal); + partial void PrepareGithubLoginGithubLoginGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string loginId, + string origin, + string deal); + partial void ProcessGithubLoginGithubLoginGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGithubLoginGithubLoginGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Github Login
+ /// Initiate github SSO login flow. Callback is /github/callback + ///
+ /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GithubLoginGithubLoginGetAsync( + string loginId, + string origin, + string deal, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareGithubLoginGithubLoginGetArguments( + httpClient: _httpClient, + loginId: ref loginId, + origin: ref origin, + deal: ref deal); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/github/login?login_id={loginId}&origin={origin}&deal={deal}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareGithubLoginGithubLoginGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + loginId: loginId, + origin: origin, + deal: deal); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessGithubLoginGithubLoginGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessGithubLoginGithubLoginGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.InferenceDeployV1InferenceDeployDeployIdPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.InferenceDeployV1InferenceDeployDeployIdPost.g.cs new file mode 100644 index 0000000..db39139 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.InferenceDeployV1InferenceDeployDeployIdPost.g.cs @@ -0,0 +1,101 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareInferenceDeployV1InferenceDeployDeployIdPostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string deployId, + ref string xDeepinfraSource, + ref string userAgent); + partial void PrepareInferenceDeployV1InferenceDeployDeployIdPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string deployId, + string xDeepinfraSource, + string userAgent); + partial void ProcessInferenceDeployV1InferenceDeployDeployIdPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessInferenceDeployV1InferenceDeployDeployIdPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Inference Deploy + /// + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task InferenceDeployV1InferenceDeployDeployIdPostAsync( + string deployId, + string xDeepinfraSource, + string userAgent, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareInferenceDeployV1InferenceDeployDeployIdPostArguments( + httpClient: _httpClient, + deployId: ref deployId, + xDeepinfraSource: ref xDeepinfraSource, + userAgent: ref userAgent); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/v1/inference/deploy/{deployId}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareInferenceDeployV1InferenceDeployDeployIdPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + deployId: deployId, + xDeepinfraSource: xDeepinfraSource, + userAgent: userAgent); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessInferenceDeployV1InferenceDeployDeployIdPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessInferenceDeployV1InferenceDeployDeployIdPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.InferenceModelV1InferenceModelNamePost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.InferenceModelV1InferenceModelNamePost.g.cs new file mode 100644 index 0000000..1239c63 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.InferenceModelV1InferenceModelNamePost.g.cs @@ -0,0 +1,109 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareInferenceModelV1InferenceModelNamePostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string modelName, + ref string version, + ref string xDeepinfraSource, + ref string userAgent); + partial void PrepareInferenceModelV1InferenceModelNamePostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string modelName, + string version, + string xDeepinfraSource, + string userAgent); + partial void ProcessInferenceModelV1InferenceModelNamePostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessInferenceModelV1InferenceModelNamePostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Inference Model + /// + /// + /// + /// model version to run inference against + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task InferenceModelV1InferenceModelNamePostAsync( + string modelName, + string version, + string xDeepinfraSource, + string userAgent, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareInferenceModelV1InferenceModelNamePostArguments( + httpClient: _httpClient, + modelName: ref modelName, + version: ref version, + xDeepinfraSource: ref xDeepinfraSource, + userAgent: ref userAgent); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/v1/inference/{modelName}?version={version}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareInferenceModelV1InferenceModelNamePostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + modelName: modelName, + version: version, + xDeepinfraSource: xDeepinfraSource, + userAgent: userAgent); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessInferenceModelV1InferenceModelNamePostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessInferenceModelV1InferenceModelNamePostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.LogsQueryV1LogsQueryGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.LogsQueryV1LogsQueryGet.g.cs new file mode 100644 index 0000000..6b1328c --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.LogsQueryV1LogsQueryGet.g.cs @@ -0,0 +1,122 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareLogsQueryV1LogsQueryGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string deployId, + ref string from, + ref string to, + ref int limit); + partial void PrepareLogsQueryV1LogsQueryGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string deployId, + string from, + string to, + int limit); + partial void ProcessLogsQueryV1LogsQueryGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessLogsQueryV1LogsQueryGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Logs Query
+ /// Query inference logs.
+ /// * Without timestamps (from/to) returns last `limit` messages (in last month).
+ /// * With `from` only, returns first `limit` messages after `from` (inclusive).
+ /// * With `to` only, returns last `limit` messages before `to` (inclusive).
+ /// * With both `from` and `to`, return the first `limit` messages after `from`, but not later than `to`.
+ /// * `from` and `to` should be no more than a month apart. + ///
+ /// + /// the deploy id to get the logs from + /// + /// + /// start of period, in fractional seconds since unix epoch (inclusive) + /// + /// + /// end of period, in fractional seconds since unix epoch (exclusive) + /// + /// + /// how many items to return at most (default 100, in [1, 1000])
+ /// Default Value: 100 + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task LogsQueryV1LogsQueryGetAsync( + string deployId, + string from, + string to, + int limit, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareLogsQueryV1LogsQueryGetArguments( + httpClient: _httpClient, + deployId: ref deployId, + from: ref from, + to: ref to, + limit: ref limit); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/v1/logs/query?deploy_id={deployId}&from={from}&to={to}&limit={limit}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareLogsQueryV1LogsQueryGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + deployId: deployId, + from: from, + to: to, + limit: limit); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessLogsQueryV1LogsQueryGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessLogsQueryV1LogsQueryGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.LogQueryOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.MeV1MeGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.MeV1MeGet.g.cs new file mode 100644 index 0000000..603961d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.MeV1MeGet.g.cs @@ -0,0 +1,83 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareMeV1MeGetArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PrepareMeV1MeGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessMeV1MeGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessMeV1MeGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Me + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task MeV1MeGetAsync( + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareMeV1MeGetArguments( + httpClient: _httpClient); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/me", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareMeV1MeGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessMeV1MeGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessMeV1MeGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Me) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelDeleteModelsModelNameDelete.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelDeleteModelsModelNameDelete.g.cs new file mode 100644 index 0000000..7d219ca --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelDeleteModelsModelNameDelete.g.cs @@ -0,0 +1,97 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareModelDeleteModelsModelNameDeleteArguments( + global::System.Net.Http.HttpClient httpClient, + ref string modelName, + ref string version); + partial void PrepareModelDeleteModelsModelNameDeleteRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string modelName, + string version); + partial void ProcessModelDeleteModelsModelNameDeleteResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessModelDeleteModelsModelNameDeleteResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Model Delete + /// + /// + /// + /// delete a particular version, pass 'ALL' to wipe everything + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ModelDeleteModelsModelNameDeleteAsync( + string modelName, + string version, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareModelDeleteModelsModelNameDeleteArguments( + httpClient: _httpClient, + modelName: ref modelName, + version: ref version); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Delete, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/models/{modelName}?version={version}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareModelDeleteModelsModelNameDeleteRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + modelName: modelName, + version: version); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessModelDeleteModelsModelNameDeleteResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessModelDeleteModelsModelNameDeleteResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelMetaUpdateModelsModelNameMetaPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelMetaUpdateModelsModelNameMetaPost.g.cs new file mode 100644 index 0000000..594e462 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelMetaUpdateModelsModelNameMetaPost.g.cs @@ -0,0 +1,157 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareModelMetaUpdateModelsModelNameMetaPostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string modelName, + global::DeepInfra.ModelMetaIn request); + partial void PrepareModelMetaUpdateModelsModelNameMetaPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string modelName, + global::DeepInfra.ModelMetaIn request); + partial void ProcessModelMetaUpdateModelsModelNameMetaPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessModelMetaUpdateModelsModelNameMetaPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Model Meta Update + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ModelMetaUpdateModelsModelNameMetaPostAsync( + string modelName, + global::DeepInfra.ModelMetaIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareModelMetaUpdateModelsModelNameMetaPostArguments( + httpClient: _httpClient, + modelName: ref modelName, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/models/{modelName}/meta", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.ModelMetaIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareModelMetaUpdateModelsModelNameMetaPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + modelName: modelName, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessModelMetaUpdateModelsModelNameMetaPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessModelMetaUpdateModelsModelNameMetaPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Model Meta Update + /// + /// + /// + /// short model description in plain text + /// + /// + /// source code project link (empty to delete) + /// + /// + /// paper/research link (empty to delete) + /// + /// + /// usage license link (empty to delete) + /// + /// + /// markdown flavored model readme + /// + /// + /// dataurl or regular url to cover image (empty to delete) + /// + /// + /// model type + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ModelMetaUpdateModelsModelNameMetaPostAsync( + string modelName, + string? description = default, + string? githubUrl = default, + string? paperUrl = default, + string? licenseUrl = default, + string? readme = default, + string? coverImgUrl = default, + global::System.AllOf? reportedType = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.ModelMetaIn + { + Description = description, + GithubUrl = githubUrl, + PaperUrl = paperUrl, + LicenseUrl = licenseUrl, + Readme = readme, + CoverImgUrl = coverImgUrl, + ReportedType = reportedType, + }; + + return await ModelMetaUpdateModelsModelNameMetaPostAsync( + modelName: modelName, + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelPublicityModelsModelNamePublicityPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelPublicityModelsModelNamePublicityPost.g.cs new file mode 100644 index 0000000..461cc68 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelPublicityModelsModelNamePublicityPost.g.cs @@ -0,0 +1,127 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareModelPublicityModelsModelNamePublicityPostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string modelName, + global::DeepInfra.ModelPublicityIn request); + partial void PrepareModelPublicityModelsModelNamePublicityPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string modelName, + global::DeepInfra.ModelPublicityIn request); + partial void ProcessModelPublicityModelsModelNamePublicityPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessModelPublicityModelsModelNamePublicityPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Model Publicity + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ModelPublicityModelsModelNamePublicityPostAsync( + string modelName, + global::DeepInfra.ModelPublicityIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareModelPublicityModelsModelNamePublicityPostArguments( + httpClient: _httpClient, + modelName: ref modelName, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/models/{modelName}/publicity", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.ModelPublicityIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareModelPublicityModelsModelNamePublicityPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + modelName: modelName, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessModelPublicityModelsModelNamePublicityPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessModelPublicityModelsModelNamePublicityPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Model Publicity + /// + /// + /// + /// whether to make the model public of private + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ModelPublicityModelsModelNamePublicityPostAsync( + string modelName, + bool @public, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.ModelPublicityIn + { + Public = @public, + }; + + return await ModelPublicityModelsModelNamePublicityPostAsync( + modelName: modelName, + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelSchemaModelsModelNameSchemaVariantKeyGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelSchemaModelsModelNameSchemaVariantKeyGet.g.cs new file mode 100644 index 0000000..217355e --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelSchemaModelsModelNameSchemaVariantKeyGet.g.cs @@ -0,0 +1,103 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareModelSchemaModelsModelNameSchemaVariantKeyGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string modelName, + ref global::DeepInfra.SchemaVariantKey variantKey, + ref string version); + partial void PrepareModelSchemaModelsModelNameSchemaVariantKeyGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string modelName, + global::DeepInfra.SchemaVariantKey variantKey, + string version); + partial void ProcessModelSchemaModelsModelNameSchemaVariantKeyGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessModelSchemaModelsModelNameSchemaVariantKeyGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Model Schema + /// + /// + /// + /// An enumeration. + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ModelSchemaModelsModelNameSchemaVariantKeyGetAsync( + string modelName, + global::DeepInfra.SchemaVariantKey variantKey, + string version, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareModelSchemaModelsModelNameSchemaVariantKeyGetArguments( + httpClient: _httpClient, + modelName: ref modelName, + variantKey: ref variantKey, + version: ref version); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/models/{modelName}/schema/{variantKey}?version={version}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareModelSchemaModelsModelNameSchemaVariantKeyGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + modelName: modelName, + variantKey: variantKey, + version: version); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessModelSchemaModelsModelNameSchemaVariantKeyGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessModelSchemaModelsModelNameSchemaVariantKeyGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.SchemaOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelVersionsModelsModelNameVersionsGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelVersionsModelsModelNameVersionsGet.g.cs new file mode 100644 index 0000000..58ccfcd --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelVersionsModelsModelNameVersionsGet.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareModelVersionsModelsModelNameVersionsGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string modelName); + partial void PrepareModelVersionsModelsModelNameVersionsGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string modelName); + partial void ProcessModelVersionsModelsModelNameVersionsGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessModelVersionsModelsModelNameVersionsGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Model Versions + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> ModelVersionsModelsModelNameVersionsGetAsync( + string modelName, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareModelVersionsModelsModelNameVersionsGetArguments( + httpClient: _httpClient, + modelName: ref modelName); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/models/{modelName}/versions", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareModelVersionsModelsModelNameVersionsGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + modelName: modelName); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessModelVersionsModelsModelNameVersionsGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessModelVersionsModelsModelNameVersionsGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.IListModelVersionOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsFeaturedModelsFeaturedGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsFeaturedModelsFeaturedGet.g.cs new file mode 100644 index 0000000..1a6ae76 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsFeaturedModelsFeaturedGet.g.cs @@ -0,0 +1,83 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareModelsFeaturedModelsFeaturedGetArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PrepareModelsFeaturedModelsFeaturedGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessModelsFeaturedModelsFeaturedGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessModelsFeaturedModelsFeaturedGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Models Featured + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> ModelsFeaturedModelsFeaturedGetAsync( + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareModelsFeaturedModelsFeaturedGetArguments( + httpClient: _httpClient); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/models/featured", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareModelsFeaturedModelsFeaturedGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessModelsFeaturedModelsFeaturedGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessModelsFeaturedModelsFeaturedGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.IListModelOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsInfoModelsModelNameGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsInfoModelsModelNameGet.g.cs new file mode 100644 index 0000000..01bc25e --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsInfoModelsModelNameGet.g.cs @@ -0,0 +1,95 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareModelsInfoModelsModelNameGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string modelName, + ref string version); + partial void PrepareModelsInfoModelsModelNameGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string modelName, + string version); + partial void ProcessModelsInfoModelsModelNameGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessModelsInfoModelsModelNameGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Models Info + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ModelsInfoModelsModelNameGetAsync( + string modelName, + string version, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareModelsInfoModelsModelNameGetArguments( + httpClient: _httpClient, + modelName: ref modelName, + version: ref version); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/models/{modelName}?version={version}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareModelsInfoModelsModelNameGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + modelName: modelName, + version: version); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessModelsInfoModelsModelNameGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessModelsInfoModelsModelNameGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.ModelInfoOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsListModelsListGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsListModelsListGet.g.cs new file mode 100644 index 0000000..55acf8d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.ModelsListModelsListGet.g.cs @@ -0,0 +1,83 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareModelsListModelsListGetArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PrepareModelsListModelsListGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessModelsListModelsListGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessModelsListModelsListGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Models List + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> ModelsListModelsListGetAsync( + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareModelsListModelsListGetArguments( + httpClient: _httpClient); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/models/list", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareModelsListModelsListGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessModelsListModelsListGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessModelsListModelsListGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.IListModelOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiAudioSpeechV1OpenaiAudioSpeechPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiAudioSpeechV1OpenaiAudioSpeechPost.g.cs new file mode 100644 index 0000000..10b6773 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiAudioSpeechV1OpenaiAudioSpeechPost.g.cs @@ -0,0 +1,157 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareOpenaiAudioSpeechV1OpenaiAudioSpeechPostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string xDeepinfraSource, + global::DeepInfra.OpenAITextToSpeechIn request); + partial void PrepareOpenaiAudioSpeechV1OpenaiAudioSpeechPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string xDeepinfraSource, + global::DeepInfra.OpenAITextToSpeechIn request); + partial void ProcessOpenaiAudioSpeechV1OpenaiAudioSpeechPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessOpenaiAudioSpeechV1OpenaiAudioSpeechPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Openai Audio Speech + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task OpenaiAudioSpeechV1OpenaiAudioSpeechPostAsync( + string xDeepinfraSource, + global::DeepInfra.OpenAITextToSpeechIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareOpenaiAudioSpeechV1OpenaiAudioSpeechPostArguments( + httpClient: _httpClient, + xDeepinfraSource: ref xDeepinfraSource, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/openai/audio/speech", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.OpenAITextToSpeechIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareOpenaiAudioSpeechV1OpenaiAudioSpeechPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + xDeepinfraSource: xDeepinfraSource, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessOpenaiAudioSpeechV1OpenaiAudioSpeechPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessOpenaiAudioSpeechV1OpenaiAudioSpeechPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Openai Audio Speech + /// + /// + /// + /// The webhook to call when inference is done, by default you will get the output in the response of your inference request + /// + /// + /// model name
+ /// Example: deepinfra/tts + /// + /// + /// text to convert to speech
+ /// Example: Hello, how are you? + /// + /// + /// Preset voices to use for the speech.
+ /// Default Value: luna + /// + /// + /// response format for the speech
+ /// Default Value: wav + /// + /// + /// speed of the speech
+ /// Default Value: 1 + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task OpenaiAudioSpeechV1OpenaiAudioSpeechPostAsync( + string model, + string input, + string xDeepinfraSource = default, + string? webhook = default, + global::System.AllOf? voice = default, + global::System.AllOf? responseFormat = default, + double speed = 1, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.OpenAITextToSpeechIn + { + Webhook = webhook, + Model = model, + Input = input, + Voice = voice, + ResponseFormat = responseFormat, + Speed = speed, + }; + + return await OpenaiAudioSpeechV1OpenaiAudioSpeechPostAsync( + xDeepinfraSource: xDeepinfraSource, + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiChatCompletionsV1OpenaiChatCompletionsPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiChatCompletionsV1OpenaiChatCompletionsPost.g.cs new file mode 100644 index 0000000..46a4b9a --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiChatCompletionsV1OpenaiChatCompletionsPost.g.cs @@ -0,0 +1,210 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareOpenaiChatCompletionsV1OpenaiChatCompletionsPostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string xDeepinfraSource, + ref string userAgent, + global::DeepInfra.OpenAIChatCompletionsIn request); + partial void PrepareOpenaiChatCompletionsV1OpenaiChatCompletionsPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string xDeepinfraSource, + string userAgent, + global::DeepInfra.OpenAIChatCompletionsIn request); + partial void ProcessOpenaiChatCompletionsV1OpenaiChatCompletionsPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessOpenaiChatCompletionsV1OpenaiChatCompletionsPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Openai Chat Completions + /// + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task OpenaiChatCompletionsV1OpenaiChatCompletionsPostAsync( + string xDeepinfraSource, + string userAgent, + global::DeepInfra.OpenAIChatCompletionsIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareOpenaiChatCompletionsV1OpenaiChatCompletionsPostArguments( + httpClient: _httpClient, + xDeepinfraSource: ref xDeepinfraSource, + userAgent: ref userAgent, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/openai/chat/completions", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.OpenAIChatCompletionsIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareOpenaiChatCompletionsV1OpenaiChatCompletionsPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + xDeepinfraSource: xDeepinfraSource, + userAgent: userAgent, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessOpenaiChatCompletionsV1OpenaiChatCompletionsPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessOpenaiChatCompletionsV1OpenaiChatCompletionsPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Openai Chat Completions + /// + /// + /// + /// + /// model name
+ /// Example: meta-llama/Llama-2-70b-chat-hf + /// + /// + /// conversation messages: (user,assistant,tool)*,user including one system message anywhere + /// + /// + /// whether to stream the output via SSE or return the full response
+ /// Default Value: false + /// + /// + /// What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic
+ /// Default Value: 1 + /// + /// + /// Default Value: 1 + /// + /// + /// The maximum number of tokens to generate in the chat completion.
+ /// The total length of input tokens and generated tokens is limited by the model's context length.If explicitly set to None it will be the model's max context length minus input length.
+ /// Default Value: 512 + /// + /// + /// up to 16 sequences where the API will stop generating further tokens + /// + /// + /// number of sequences to return. n != 1 incompatible with streaming
+ /// Default Value: 1 + /// + /// + /// Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
+ /// Default Value: 0 + /// + /// + /// Positive values penalize new tokens based on how many times they appear in the text so far, increasing the model's likelihood to talk about new topics.
+ /// Default Value: 0 + /// + /// + /// A list of tools the model may call. Currently, only functions are supported as a tool. + /// + /// + /// Controls which (if any) function is called by the model. none means the model will not call a function and instead generates a message. auto means the model can pick between generating a message or calling a function. specifying a particular function choice is not supported currently.none is the default when no functions are present. auto is the default if functions are present. + /// + /// + /// The format of the response. Currently, only json is supported. + /// + /// + /// Alternative penalty for repetition, but multiplicative instead of additive (> 1 penalize, < 1 encourage)
+ /// Default Value: 1 + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task OpenaiChatCompletionsV1OpenaiChatCompletionsPostAsync( + string model, + global::System.Collections.Generic.IList> messages, + string xDeepinfraSource = default, + string userAgent = default, + bool stream = false, + double temperature = 1, + double topP = 1, + int maxTokens = 512, + global::System.AnyOf?>? stop = default, + int n = 1, + double presencePenalty = 0, + double frequencyPenalty = 0, + global::System.Collections.Generic.IList? tools = default, + string? toolChoice = default, + global::System.AllOf? responseFormat = default, + double repetitionPenalty = 1, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.OpenAIChatCompletionsIn + { + Model = model, + Messages = messages, + Stream = stream, + Temperature = temperature, + TopP = topP, + MaxTokens = maxTokens, + Stop = stop, + N = n, + PresencePenalty = presencePenalty, + FrequencyPenalty = frequencyPenalty, + Tools = tools, + ToolChoice = toolChoice, + ResponseFormat = responseFormat, + RepetitionPenalty = repetitionPenalty, + }; + + return await OpenaiChatCompletionsV1OpenaiChatCompletionsPostAsync( + xDeepinfraSource: xDeepinfraSource, + userAgent: userAgent, + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiCompletionsV1OpenaiCompletionsPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiCompletionsV1OpenaiCompletionsPost.g.cs new file mode 100644 index 0000000..3b7317d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiCompletionsV1OpenaiCompletionsPost.g.cs @@ -0,0 +1,210 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareOpenaiCompletionsV1OpenaiCompletionsPostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string xDeepinfraSource, + ref string userAgent, + global::DeepInfra.OpenAICompletionsIn request); + partial void PrepareOpenaiCompletionsV1OpenaiCompletionsPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string xDeepinfraSource, + string userAgent, + global::DeepInfra.OpenAICompletionsIn request); + partial void ProcessOpenaiCompletionsV1OpenaiCompletionsPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessOpenaiCompletionsV1OpenaiCompletionsPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Openai Completions + /// + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task OpenaiCompletionsV1OpenaiCompletionsPostAsync( + string xDeepinfraSource, + string userAgent, + global::DeepInfra.OpenAICompletionsIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareOpenaiCompletionsV1OpenaiCompletionsPostArguments( + httpClient: _httpClient, + xDeepinfraSource: ref xDeepinfraSource, + userAgent: ref userAgent, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/openai/completions", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.OpenAICompletionsIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareOpenaiCompletionsV1OpenaiCompletionsPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + xDeepinfraSource: xDeepinfraSource, + userAgent: userAgent, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessOpenaiCompletionsV1OpenaiCompletionsPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessOpenaiCompletionsV1OpenaiCompletionsPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Openai Completions + /// + /// + /// + /// + /// model name
+ /// Example: meta-llama/Llama-2-70b-chat-hf + /// + /// + /// input prompt - a single string is currently supported + /// + /// + /// The maximum number of tokens to generate in the completion.
+ /// The total length of input tokens and generated tokens is limited by the model's context length.If explicitly set to None it will be the model's max context length minus input length.
+ /// Default Value: 512 + /// + /// + /// What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic
+ /// Default Value: 1 + /// + /// + /// Default Value: 1 + /// + /// + /// number of sequences to return. n != 1 incompatible with streaming
+ /// Default Value: 1 + /// + /// + /// whether to stream the output via SSE or return the full response
+ /// Default Value: false + /// + /// + /// return top tokens and their log-probabilities + /// + /// + /// return prompt as part of the respons + /// + /// + /// up to 16 sequences where the API will stop generating further tokens + /// + /// + /// Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
+ /// Default Value: 0 + /// + /// + /// Positive values penalize new tokens based on how many times they appear in the text so far, increasing the model's likelihood to talk about new topics.
+ /// Default Value: 0 + /// + /// + /// The format of the response. Currently, only json is supported. + /// + /// + /// Alternative penalty for repetition, but multiplicative instead of additive (> 1 penalize, < 1 encourage)
+ /// Default Value: 1 + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task OpenaiCompletionsV1OpenaiCompletionsPostAsync( + string model, + string prompt, + string xDeepinfraSource = default, + string userAgent = default, + int maxTokens = 512, + double temperature = 1, + double topP = 1, + int n = 1, + bool stream = false, + int logprobs = default, + bool echo = default, + global::System.AnyOf?>? stop = default, + double presencePenalty = 0, + double frequencyPenalty = 0, + global::System.AllOf? responseFormat = default, + double repetitionPenalty = 1, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.OpenAICompletionsIn + { + Model = model, + Prompt = prompt, + MaxTokens = maxTokens, + Temperature = temperature, + TopP = topP, + N = n, + Stream = stream, + Logprobs = logprobs, + Echo = echo, + Stop = stop, + PresencePenalty = presencePenalty, + FrequencyPenalty = frequencyPenalty, + ResponseFormat = responseFormat, + RepetitionPenalty = repetitionPenalty, + }; + + return await OpenaiCompletionsV1OpenaiCompletionsPostAsync( + xDeepinfraSource: xDeepinfraSource, + userAgent: userAgent, + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiEmbeddingsV1OpenaiEmbeddingsPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiEmbeddingsV1OpenaiEmbeddingsPost.g.cs new file mode 100644 index 0000000..03682a7 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiEmbeddingsV1OpenaiEmbeddingsPost.g.cs @@ -0,0 +1,149 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareOpenaiEmbeddingsV1OpenaiEmbeddingsPostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string xDeepinfraSource, + ref string userAgent, + global::DeepInfra.OpenAIEmbeddingsIn request); + partial void PrepareOpenaiEmbeddingsV1OpenaiEmbeddingsPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string xDeepinfraSource, + string userAgent, + global::DeepInfra.OpenAIEmbeddingsIn request); + partial void ProcessOpenaiEmbeddingsV1OpenaiEmbeddingsPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessOpenaiEmbeddingsV1OpenaiEmbeddingsPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Openai Embeddings + /// + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task OpenaiEmbeddingsV1OpenaiEmbeddingsPostAsync( + string xDeepinfraSource, + string userAgent, + global::DeepInfra.OpenAIEmbeddingsIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareOpenaiEmbeddingsV1OpenaiEmbeddingsPostArguments( + httpClient: _httpClient, + xDeepinfraSource: ref xDeepinfraSource, + userAgent: ref userAgent, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/openai/embeddings", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.OpenAIEmbeddingsIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareOpenaiEmbeddingsV1OpenaiEmbeddingsPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + xDeepinfraSource: xDeepinfraSource, + userAgent: userAgent, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessOpenaiEmbeddingsV1OpenaiEmbeddingsPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessOpenaiEmbeddingsV1OpenaiEmbeddingsPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Openai Embeddings + /// + /// + /// + /// + /// model name
+ /// Example: thenlper/gte-large + /// + /// + /// sequences to embed
+ /// Example: [I like chocolate] + /// + /// + /// format used when encoding
+ /// Default Value: float + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task OpenaiEmbeddingsV1OpenaiEmbeddingsPostAsync( + string model, + global::System.AnyOf, string> input, + string xDeepinfraSource = default, + string userAgent = default, + global::DeepInfra.OpenAIEmbeddingsInEncodingFormat? encodingFormat = global::DeepInfra.OpenAIEmbeddingsInEncodingFormat.Float, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.OpenAIEmbeddingsIn + { + Model = model, + Input = input, + EncodingFormat = encodingFormat, + }; + + return await OpenaiEmbeddingsV1OpenaiEmbeddingsPostAsync( + xDeepinfraSource: xDeepinfraSource, + userAgent: userAgent, + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiModelsV1OpenaiModelsGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiModelsV1OpenaiModelsGet.g.cs new file mode 100644 index 0000000..e0fb5af --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.OpenaiModelsV1OpenaiModelsGet.g.cs @@ -0,0 +1,83 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareOpenaiModelsV1OpenaiModelsGetArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PrepareOpenaiModelsV1OpenaiModelsGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessOpenaiModelsV1OpenaiModelsGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessOpenaiModelsV1OpenaiModelsGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Openai Models + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task OpenaiModelsV1OpenaiModelsGetAsync( + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareOpenaiModelsV1OpenaiModelsGetArguments( + httpClient: _httpClient); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/openai/models", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareOpenaiModelsV1OpenaiModelsGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessOpenaiModelsV1OpenaiModelsGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessOpenaiModelsV1OpenaiModelsGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.OpenAIModelsOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.PrivateModelsListModelsPrivateListGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.PrivateModelsListModelsPrivateListGet.g.cs new file mode 100644 index 0000000..6ab4b36 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.PrivateModelsListModelsPrivateListGet.g.cs @@ -0,0 +1,83 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PreparePrivateModelsListModelsPrivateListGetArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PreparePrivateModelsListModelsPrivateListGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessPrivateModelsListModelsPrivateListGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessPrivateModelsListModelsPrivateListGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Private Models List + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> PrivateModelsListModelsPrivateListGetAsync( + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PreparePrivateModelsListModelsPrivateListGetArguments( + httpClient: _httpClient); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/models/private/list", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PreparePrivateModelsListModelsPrivateListGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessPrivateModelsListModelsPrivateListGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessPrivateModelsListModelsPrivateListGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.IListModelOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.RequestRateLimitIncreaseV1MeRateLimitRequestPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.RequestRateLimitIncreaseV1MeRateLimitRequestPost.g.cs new file mode 100644 index 0000000..10905c3 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.RequestRateLimitIncreaseV1MeRateLimitRequestPost.g.cs @@ -0,0 +1,119 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareRequestRateLimitIncreaseV1MeRateLimitRequestPostArguments( + global::System.Net.Http.HttpClient httpClient, + global::DeepInfra.RateLimitRequestIn request); + partial void PrepareRequestRateLimitIncreaseV1MeRateLimitRequestPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::DeepInfra.RateLimitRequestIn request); + partial void ProcessRequestRateLimitIncreaseV1MeRateLimitRequestPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessRequestRateLimitIncreaseV1MeRateLimitRequestPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Request Rate Limit Increase + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task RequestRateLimitIncreaseV1MeRateLimitRequestPostAsync( + global::DeepInfra.RateLimitRequestIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareRequestRateLimitIncreaseV1MeRateLimitRequestPostArguments( + httpClient: _httpClient, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/me/rate_limit/request", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.RateLimitRequestIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareRequestRateLimitIncreaseV1MeRateLimitRequestPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessRequestRateLimitIncreaseV1MeRateLimitRequestPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessRequestRateLimitIncreaseV1MeRateLimitRequestPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Request Rate Limit Increase + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task RequestRateLimitIncreaseV1MeRateLimitRequestPostAsync( + int rateLimit, + string reason, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.RateLimitRequestIn + { + RateLimit = rateLimit, + Reason = reason, + }; + + return await RequestRateLimitIncreaseV1MeRateLimitRequestPostAsync( + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.SetConfigPaymentConfigPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.SetConfigPaymentConfigPost.g.cs new file mode 100644 index 0000000..b0cfdfb --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.SetConfigPaymentConfigPost.g.cs @@ -0,0 +1,127 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareSetConfigPaymentConfigPostArguments( + global::System.Net.Http.HttpClient httpClient, + ref string session, + global::DeepInfra.ConfigIn request); + partial void PrepareSetConfigPaymentConfigPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string session, + global::DeepInfra.ConfigIn request); + partial void ProcessSetConfigPaymentConfigPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessSetConfigPaymentConfigPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Set Config + /// + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SetConfigPaymentConfigPostAsync( + string session, + global::DeepInfra.ConfigIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareSetConfigPaymentConfigPostArguments( + httpClient: _httpClient, + session: ref session, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/payment/config", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.ConfigIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareSetConfigPaymentConfigPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + session: session, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessSetConfigPaymentConfigPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessSetConfigPaymentConfigPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.ConfigOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Set Config + /// + /// + /// + /// Set usage limit (in USD). Negative means no limit.null/not-set means don't change it + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SetConfigPaymentConfigPostAsync( + string session = default, + double limit = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.ConfigIn + { + Limit = limit, + }; + + return await SetConfigPaymentConfigPostAsync( + session: session, + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.SubmitFeedbackV1FeedbackPost.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.SubmitFeedbackV1FeedbackPost.g.cs new file mode 100644 index 0000000..550408a --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.SubmitFeedbackV1FeedbackPost.g.cs @@ -0,0 +1,125 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareSubmitFeedbackV1FeedbackPostArguments( + global::System.Net.Http.HttpClient httpClient, + global::DeepInfra.FeedbackIn request); + partial void PrepareSubmitFeedbackV1FeedbackPostRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::DeepInfra.FeedbackIn request); + partial void ProcessSubmitFeedbackV1FeedbackPostResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessSubmitFeedbackV1FeedbackPostResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Submit Feedback
+ /// Submit feedback + ///
+ /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SubmitFeedbackV1FeedbackPostAsync( + global::DeepInfra.FeedbackIn request, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: _httpClient); + PrepareSubmitFeedbackV1FeedbackPostArguments( + httpClient: _httpClient, + request: request); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + "/v1/feedback", global::System.UriKind.RelativeOrAbsolute)); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: global::System.Text.Json.JsonSerializer.Serialize(request, global::DeepInfra.SourceGenerationContext.Default.FeedbackIn), + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + httpRequest.Content = __httpRequestContent; + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareSubmitFeedbackV1FeedbackPostRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + request: request); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessSubmitFeedbackV1FeedbackPostResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessSubmitFeedbackV1FeedbackPostResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.Object) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + + /// + /// Submit Feedback
+ /// Submit feedback + ///
+ /// + /// The message you'd like to send to deepinfra team + /// + /// + /// Optional contact email to reach you back + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SubmitFeedbackV1FeedbackPostAsync( + string message, + string? contactEmail = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var request = new global::DeepInfra.FeedbackIn + { + Message = message, + ContactEmail = contactEmail, + }; + + return await SubmitFeedbackV1FeedbackPostAsync( + request: request, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.UsagePaymentUsageGet.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.UsagePaymentUsageGet.g.cs new file mode 100644 index 0000000..5a31f83 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.UsagePaymentUsageGet.g.cs @@ -0,0 +1,105 @@ + +#nullable enable + +namespace DeepInfra +{ + public partial class DeepInfraApi + { + partial void PrepareUsagePaymentUsageGetArguments( + global::System.Net.Http.HttpClient httpClient, + ref string from, + ref string to, + ref string session); + partial void PrepareUsagePaymentUsageGetRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string from, + string to, + string session); + partial void ProcessUsagePaymentUsageGetResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessUsagePaymentUsageGetResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Usage + /// + /// + /// start of period, YYYY.MM or current(-N) format + /// + /// + /// end of period (if missing a single month marked by from is return), same format as from + /// + /// + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task UsagePaymentUsageGetAsync( + string from, + string to, + string session, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: _httpClient); + PrepareUsagePaymentUsageGetArguments( + httpClient: _httpClient, + from: ref from, + to: ref to, + session: ref session); + + using var httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(_httpClient.BaseAddress?.AbsoluteUri.TrimEnd('/') + $"/payment/usage?from={from}&to={to}", global::System.UriKind.RelativeOrAbsolute)); + + PrepareRequest( + client: _httpClient, + request: httpRequest); + PrepareUsagePaymentUsageGetRequest( + httpClient: _httpClient, + httpRequestMessage: httpRequest, + from: from, + to: to, + session: session); + + using var response = await _httpClient.SendAsync( + request: httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: cancellationToken).ConfigureAwait(false); + + ProcessResponse( + client: _httpClient, + response: response); + ProcessUsagePaymentUsageGetResponse( + httpClient: _httpClient, + httpResponseMessage: response); + + var __content = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + + ProcessResponseContent( + client: _httpClient, + response: response, + content: ref __content); + ProcessUsagePaymentUsageGetResponseContent( + httpClient: _httpClient, + httpResponseMessage: response, + content: ref __content); + + try + { + response.EnsureSuccessStatusCode(); + } + catch (global::System.Net.Http.HttpRequestException ex) + { + throw new global::System.InvalidOperationException(__content, ex); + } + + return + global::System.Text.Json.JsonSerializer.Deserialize(__content, global::DeepInfra.SourceGenerationContext.Default.UsageOut) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.g.cs new file mode 100644 index 0000000..88aae71 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.DeepInfraApi.g.cs @@ -0,0 +1,55 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// 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 DeepInfraApi : global::System.IDisposable + { + /// + /// + /// + public const string BaseUrl = ""; + + private readonly global::System.Net.Http.HttpClient _httpClient; + + + /// + /// Creates a new instance of the DeepInfraApi. + /// 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 DeepInfraApi( + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null + ) + { + _httpClient = httpClient ?? new global::System.Net.Http.HttpClient(); + _httpClient.BaseAddress ??= baseUri ?? new global::System.Uri(BaseUrl); + } + + /// + public void Dispose() + { + _httpClient.Dispose(); + } + + 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/DeepInfra/Generated/DeepInfra.Models.ApiToken.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ApiToken.g.cs new file mode 100644 index 0000000..f1239a5 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ApiToken.g.cs @@ -0,0 +1,38 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ApiToken + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("token")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Token { get; set; } + + /// + /// creation unix timestamp + /// + [global::System.Text.Json.Serialization.JsonPropertyName("created_at")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int CreatedAt { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Name { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ApiTokenIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ApiTokenIn.g.cs new file mode 100644 index 0000000..f4929f2 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ApiTokenIn.g.cs @@ -0,0 +1,24 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ApiTokenIn + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Name { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.BillingPortalOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.BillingPortalOut.g.cs new file mode 100644 index 0000000..e5cc078 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.BillingPortalOut.g.cs @@ -0,0 +1,24 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class BillingPortalOut + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("url")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Url { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionAssistantMessage.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionAssistantMessage.g.cs new file mode 100644 index 0000000..9f308dc --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionAssistantMessage.g.cs @@ -0,0 +1,43 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ChatCompletionAssistantMessage + { + /// + /// the role of the author of this message
+ /// Default Value: assistant + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("role")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionAssistantMessageRoleJsonConverter))] + public global::DeepInfra.ChatCompletionAssistantMessageRole? Role { get; set; } = global::DeepInfra.ChatCompletionAssistantMessageRole.Assistant; + + /// + /// the message content + /// + [global::System.Text.Json.Serialization.JsonPropertyName("content")] + public string? Content { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// the tool calls generated by the mode + /// + [global::System.Text.Json.Serialization.JsonPropertyName("tool_calls")] + public global::System.Collections.Generic.IList? ToolCalls { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionAssistantMessageRole.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionAssistantMessageRole.g.cs new file mode 100644 index 0000000..1ef8304 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionAssistantMessageRole.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// the role of the author of this message
+ /// Default Value: assistant + ///
+ public enum ChatCompletionAssistantMessageRole + { + /// + /// + /// + Assistant, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ChatCompletionAssistantMessageRoleExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ChatCompletionAssistantMessageRole value) + { + return value switch + { + ChatCompletionAssistantMessageRole.Assistant => "assistant", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ChatCompletionAssistantMessageRole? ToEnum(string value) + { + return value switch + { + "assistant" => ChatCompletionAssistantMessageRole.Assistant, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartImage.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartImage.g.cs new file mode 100644 index 0000000..75b9752 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartImage.g.cs @@ -0,0 +1,32 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ChatCompletionContentPartImage + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionContentPartImageTypeJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::DeepInfra.ChatCompletionContentPartImageType Type { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("image_url")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::DeepInfra.ImageURL ImageUrl { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartImageType.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartImageType.g.cs new file mode 100644 index 0000000..438a6b9 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartImageType.g.cs @@ -0,0 +1,45 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public enum ChatCompletionContentPartImageType + { + /// + /// + /// + ImageUrl, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ChatCompletionContentPartImageTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ChatCompletionContentPartImageType value) + { + return value switch + { + ChatCompletionContentPartImageType.ImageUrl => "image_url", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ChatCompletionContentPartImageType? ToEnum(string value) + { + return value switch + { + "image_url" => ChatCompletionContentPartImageType.ImageUrl, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartText.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartText.g.cs new file mode 100644 index 0000000..a35d153 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartText.g.cs @@ -0,0 +1,32 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ChatCompletionContentPartText + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionContentPartTextTypeJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::DeepInfra.ChatCompletionContentPartTextType Type { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("text")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Text { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartTextType.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartTextType.g.cs new file mode 100644 index 0000000..35c0f18 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionContentPartTextType.g.cs @@ -0,0 +1,45 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public enum ChatCompletionContentPartTextType + { + /// + /// + /// + Text, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ChatCompletionContentPartTextTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ChatCompletionContentPartTextType value) + { + return value switch + { + ChatCompletionContentPartTextType.Text => "text", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ChatCompletionContentPartTextType? ToEnum(string value) + { + return value switch + { + "text" => ChatCompletionContentPartTextType.Text, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionMessageToolCall.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionMessageToolCall.g.cs new file mode 100644 index 0000000..09f4aaa --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionMessageToolCall.g.cs @@ -0,0 +1,41 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ChatCompletionMessageToolCall + { + /// + /// the id of the tool call + /// + [global::System.Text.Json.Serialization.JsonPropertyName("id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Id { get; set; } + + /// + /// the type of the tool call. only function is supported currently + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Type { get; set; } + + /// + /// the function that the model called + /// + [global::System.Text.Json.Serialization.JsonPropertyName("function")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AllOf Function { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionSystemMessage.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionSystemMessage.g.cs new file mode 100644 index 0000000..73afba4 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionSystemMessage.g.cs @@ -0,0 +1,38 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ChatCompletionSystemMessage + { + /// + /// the role of the author of this message
+ /// Default Value: system + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("role")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionSystemMessageRoleJsonConverter))] + public global::DeepInfra.ChatCompletionSystemMessageRole? Role { get; set; } = global::DeepInfra.ChatCompletionSystemMessageRole.System; + + /// + /// the message content + /// + [global::System.Text.Json.Serialization.JsonPropertyName("content")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Content { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionSystemMessageRole.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionSystemMessageRole.g.cs new file mode 100644 index 0000000..6d430c9 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionSystemMessageRole.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// the role of the author of this message
+ /// Default Value: system + ///
+ public enum ChatCompletionSystemMessageRole + { + /// + /// + /// + System, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ChatCompletionSystemMessageRoleExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ChatCompletionSystemMessageRole value) + { + return value switch + { + ChatCompletionSystemMessageRole.System => "system", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ChatCompletionSystemMessageRole? ToEnum(string value) + { + return value switch + { + "system" => ChatCompletionSystemMessageRole.System, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionToolMessage.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionToolMessage.g.cs new file mode 100644 index 0000000..ad1d27b --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionToolMessage.g.cs @@ -0,0 +1,39 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ChatCompletionToolMessage + { + /// + /// the role of the author of this message
+ /// Default Value: tool + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("role")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionToolMessageRoleJsonConverter))] + public global::DeepInfra.ChatCompletionToolMessageRole? Role { get; set; } = global::DeepInfra.ChatCompletionToolMessageRole.Tool; + + /// + /// the message content + /// + [global::System.Text.Json.Serialization.JsonPropertyName("content")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Content { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("tool_call_id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ToolCallId { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionToolMessageRole.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionToolMessageRole.g.cs new file mode 100644 index 0000000..a6de2dc --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionToolMessageRole.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// the role of the author of this message
+ /// Default Value: tool + ///
+ public enum ChatCompletionToolMessageRole + { + /// + /// + /// + Tool, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ChatCompletionToolMessageRoleExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ChatCompletionToolMessageRole value) + { + return value switch + { + ChatCompletionToolMessageRole.Tool => "tool", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ChatCompletionToolMessageRole? ToEnum(string value) + { + return value switch + { + "tool" => ChatCompletionToolMessageRole.Tool, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionUserMessage.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionUserMessage.g.cs new file mode 100644 index 0000000..44f176c --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionUserMessage.g.cs @@ -0,0 +1,41 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ChatCompletionUserMessage + { + /// + /// the role of the author of this message
+ /// Default Value: user + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("role")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionUserMessageRoleJsonConverter))] + public global::DeepInfra.ChatCompletionUserMessageRole? Role { get; set; } = global::DeepInfra.ChatCompletionUserMessageRole.User; + + /// + /// the message content + /// + [global::System.Text.Json.Serialization.JsonPropertyName("content")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AnyOfJsonConverterFactory2))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AnyOf>> Content { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionUserMessageRole.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionUserMessageRole.g.cs new file mode 100644 index 0000000..870207b --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatCompletionUserMessageRole.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// the role of the author of this message
+ /// Default Value: user + ///
+ public enum ChatCompletionUserMessageRole + { + /// + /// + /// + User, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ChatCompletionUserMessageRoleExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ChatCompletionUserMessageRole value) + { + return value switch + { + ChatCompletionUserMessageRole.User => "user", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ChatCompletionUserMessageRole? ToEnum(string value) + { + return value switch + { + "user" => ChatCompletionUserMessageRole.User, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatTools.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatTools.g.cs new file mode 100644 index 0000000..c56e8cf --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ChatTools.g.cs @@ -0,0 +1,30 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ChatTools + { + /// + /// Default Value: function + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + public string? Type { get; set; } = "function"; + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("function")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::DeepInfra.FunctionDefinition Function { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.Checklist.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.Checklist.g.cs new file mode 100644 index 0000000..3d36700 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.Checklist.g.cs @@ -0,0 +1,73 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class Checklist + { + /// + /// Default Value: false + /// + [global::System.Text.Json.Serialization.JsonPropertyName("email")] + public bool Email { get; set; } = false; + + /// + /// Default Value: false + /// + [global::System.Text.Json.Serialization.JsonPropertyName("billing_address")] + public bool BillingAddress { get; set; } = false; + + /// + /// Default Value: false + /// + [global::System.Text.Json.Serialization.JsonPropertyName("payment_method")] + public bool PaymentMethod { get; set; } = false; + + /// + /// Default Value: false + /// + [global::System.Text.Json.Serialization.JsonPropertyName("suspended")] + public bool Suspended { get; set; } = false; + + /// + /// Default Value: 0 + /// + [global::System.Text.Json.Serialization.JsonPropertyName("overdue_invoices")] + public double OverdueInvoices { get; set; } = 0; + + /// + /// Default Value: 0 + /// + [global::System.Text.Json.Serialization.JsonPropertyName("last_checked")] + public int LastChecked { get; set; } = 0; + + /// + /// Negative value indicates funds ready-to-spend. Positive value indicates money owed + /// + [global::System.Text.Json.Serialization.JsonPropertyName("stripe_balance")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double StripeBalance { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("limit")] + public double Limit { get; set; } + + /// + /// An enumeration. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("suspend_reason")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.SuspendReasonJsonConverter))] + public global::DeepInfra.SuspendReason? SuspendReason { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ConfigIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ConfigIn.g.cs new file mode 100644 index 0000000..38a0d15 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ConfigIn.g.cs @@ -0,0 +1,23 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ConfigIn + { + /// + /// Set usage limit (in USD). Negative means no limit.null/not-set means don't change it + /// + [global::System.Text.Json.Serialization.JsonPropertyName("limit")] + public double Limit { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ConfigOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ConfigOut.g.cs new file mode 100644 index 0000000..072fbda --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ConfigOut.g.cs @@ -0,0 +1,24 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ConfigOut + { + /// + /// Spending limit (in USD). Negative means no limit + /// + [global::System.Text.Json.Serialization.JsonPropertyName("limit")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double Limit { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeepError.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeepError.g.cs new file mode 100644 index 0000000..c8ca596 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeepError.g.cs @@ -0,0 +1,25 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeepError + { + /// + /// Error
+ /// Example: Model not found + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Error { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeepStartApplicationIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeepStartApplicationIn.g.cs new file mode 100644 index 0000000..c70d508 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeepStartApplicationIn.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeepStartApplicationIn + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("id")] + public string? Id { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("uid")] + public string? Uid { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("company")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Company { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("ceo")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Ceo { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("funding")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Funding { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("founded_on")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string FoundedOn { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("website")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Website { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("created_at")] + public int CreatedAt { get; set; } + + /// + /// Default Value: pending + /// + [global::System.Text.Json.Serialization.JsonPropertyName("status")] + public string? Status { get; set; } = "pending"; + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("deal")] + public string? Deal { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeepStartApplicationOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeepStartApplicationOut.g.cs new file mode 100644 index 0000000..9d62e40 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeepStartApplicationOut.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeepStartApplicationOut + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("id")] + public string? Id { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("uid")] + public string? Uid { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("company")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Company { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("ceo")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Ceo { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("funding")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Funding { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("founded_on")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string FoundedOn { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("website")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Website { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("created_at")] + public int CreatedAt { get; set; } + + /// + /// Default Value: pending + /// + [global::System.Text.Json.Serialization.JsonPropertyName("status")] + public string? Status { get; set; } = "pending"; + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("deal")] + public string? Deal { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("email")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Email { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployDelete.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployDelete.g.cs new file mode 100644 index 0000000..7cd8a38 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployDelete.g.cs @@ -0,0 +1,25 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeployDelete + { + /// + /// Deploy Id
+ /// Example: fkj843kjh8 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("deploy_id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string DeployId { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployGPUAvailability.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployGPUAvailability.g.cs new file mode 100644 index 0000000..10fba00 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployGPUAvailability.g.cs @@ -0,0 +1,24 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeployGPUAvailability + { + /// + /// A list of all provided GPUs configurations, including their price and wether they are available + /// + [global::System.Text.Json.Serialization.JsonPropertyName("gpus")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Gpus { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployGPUs.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployGPUs.g.cs new file mode 100644 index 0000000..31f1c44 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployGPUs.g.cs @@ -0,0 +1,51 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum DeployGPUs + { + /// + /// + /// + A10080GB, + /// + /// + /// + H10080GB, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class DeployGPUsExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this DeployGPUs value) + { + return value switch + { + DeployGPUs.A10080GB => "A100-80GB", + DeployGPUs.H10080GB => "H100-80GB", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static DeployGPUs? ToEnum(string value) + { + return value switch + { + "A100-80GB" => DeployGPUs.A10080GB, + "H100-80GB" => DeployGPUs.H10080GB, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployInstances.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployInstances.g.cs new file mode 100644 index 0000000..8c39145 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployInstances.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeployInstances + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("running")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Running { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("pending")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Pending { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMConfig.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMConfig.g.cs new file mode 100644 index 0000000..bc404b3 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMConfig.g.cs @@ -0,0 +1,49 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeployLLMConfig + { + /// + /// The type of GPU the deployment is running on + /// + [global::System.Text.Json.Serialization.JsonPropertyName("gpu")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AllOf Gpu { get; set; } + + /// + /// Number of GPUs used by one instance + /// + [global::System.Text.Json.Serialization.JsonPropertyName("num_gpus")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int NumGpus { get; set; } + + /// + /// Maximum number of concurrent requests + /// + [global::System.Text.Json.Serialization.JsonPropertyName("max_batch_size")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int MaxBatchSize { get; set; } + + /// + /// Model weights information + /// + [global::System.Text.Json.Serialization.JsonPropertyName("weights")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AllOf Weights { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMConfigGpu.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMConfigGpu.g.cs new file mode 100644 index 0000000..4ba4db6 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMConfigGpu.g.cs @@ -0,0 +1,51 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum DeployLLMConfigGpu + { + /// + /// + /// + A10080GB, + /// + /// + /// + H10080GB, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class DeployLLMConfigGpuExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this DeployLLMConfigGpu value) + { + return value switch + { + DeployLLMConfigGpu.A10080GB => "A100-80GB", + DeployLLMConfigGpu.H10080GB => "H100-80GB", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static DeployLLMConfigGpu? ToEnum(string value) + { + return value switch + { + "A100-80GB" => DeployLLMConfigGpu.A10080GB, + "H100-80GB" => DeployLLMConfigGpu.H10080GB, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMIn.g.cs new file mode 100644 index 0000000..aa96707 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMIn.g.cs @@ -0,0 +1,60 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeployLLMIn + { + /// + /// model name for deepinfra (username/mode-name format) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("model_name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ModelName { get; set; } + + /// + /// The GPU you want to run on + /// + [global::System.Text.Json.Serialization.JsonPropertyName("gpu")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AllOf Gpu { get; set; } + + /// + /// Number of GPUs you want for this model
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("num_gpus")] + public int NumGpus { get; set; } = 1; + + /// + /// Maximum number of concurrent requests
+ /// Default Value: 96 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("max_batch_size")] + public int MaxBatchSize { get; set; } = 96; + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("hf")] + public global::DeepInfra.HFWeights? Hf { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("settings")] + public global::DeepInfra.ScaleSettings? Settings { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMInGpu.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMInGpu.g.cs new file mode 100644 index 0000000..fb3b3da --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMInGpu.g.cs @@ -0,0 +1,51 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum DeployLLMInGpu + { + /// + /// + /// + A10080GB, + /// + /// + /// + H10080GB, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class DeployLLMInGpuExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this DeployLLMInGpu value) + { + return value switch + { + DeployLLMInGpu.A10080GB => "A100-80GB", + DeployLLMInGpu.H10080GB => "H100-80GB", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static DeployLLMInGpu? ToEnum(string value) + { + return value switch + { + "A100-80GB" => DeployLLMInGpu.A10080GB, + "H100-80GB" => DeployLLMInGpu.H10080GB, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMUpdateIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMUpdateIn.g.cs new file mode 100644 index 0000000..79e64e2 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployLLMUpdateIn.g.cs @@ -0,0 +1,24 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeployLLMUpdateIn + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("settings")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::DeepInfra.ScaleSettings Settings { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployModelIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployModelIn.g.cs new file mode 100644 index 0000000..45b115a --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployModelIn.g.cs @@ -0,0 +1,40 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeployModelIn + { + /// + /// namespace for the model name
+ /// Default Value: cnt + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("provider")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? Provider { get; set; } = ModelProvider.Cnt; + + /// + /// model name in specified provider + /// + [global::System.Text.Json.Serialization.JsonPropertyName("model_name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ModelName { get; set; } + + /// + /// A specific revision, if left empty uses the last one + /// + [global::System.Text.Json.Serialization.JsonPropertyName("version")] + public string? 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployModelInProvider.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployModelInProvider.g.cs new file mode 100644 index 0000000..aa4fe96 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployModelInProvider.g.cs @@ -0,0 +1,57 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum DeployModelInProvider + { + /// + /// + /// + Huggingface, + /// + /// + /// + Deepinfra, + /// + /// + /// + Cnt, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class DeployModelInProviderExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this DeployModelInProvider value) + { + return value switch + { + DeployModelInProvider.Huggingface => "huggingface", + DeployModelInProvider.Deepinfra => "deepinfra", + DeployModelInProvider.Cnt => "cnt", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static DeployModelInProvider? ToEnum(string value) + { + return value switch + { + "huggingface" => DeployModelInProvider.Huggingface, + "deepinfra" => DeployModelInProvider.Deepinfra, + "cnt" => DeployModelInProvider.Cnt, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployResult.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployResult.g.cs new file mode 100644 index 0000000..9f7c1a8 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployResult.g.cs @@ -0,0 +1,25 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeployResult + { + /// + /// Deploy Id
+ /// Example: fkj843kjh8 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("deploy_id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string DeployId { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployStatusOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployStatusOut.g.cs new file mode 100644 index 0000000..92b553c --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployStatusOut.g.cs @@ -0,0 +1,25 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeployStatusOut + { + /// + /// Deploy Id
+ /// Example: fkj843kjh8 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("deploy_id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string DeployId { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployType.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployType.g.cs new file mode 100644 index 0000000..7222ee8 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeployType.g.cs @@ -0,0 +1,51 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum DeployType + { + /// + /// + /// + Legacy, + /// + /// + /// + Llm, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class DeployTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this DeployType value) + { + return value switch + { + DeployType.Legacy => "legacy", + DeployType.Llm => "llm", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static DeployType? ToEnum(string value) + { + return value switch + { + "legacy" => DeployType.Legacy, + "llm" => DeployType.Llm, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentLogEntry.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentLogEntry.g.cs new file mode 100644 index 0000000..a51c4d5 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentLogEntry.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeploymentLogEntry + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("ts")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Ts { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("line")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Line { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentLogQueryOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentLogQueryOut.g.cs new file mode 100644 index 0000000..6803890 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentLogQueryOut.g.cs @@ -0,0 +1,23 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeploymentLogQueryOut + { + /// + /// mapping of pod names to log lines ordered by increasing timestamp + /// + [global::System.Text.Json.Serialization.JsonPropertyName("entries")] + public object? Entries { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentOut.g.cs new file mode 100644 index 0000000..808a9d5 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentOut.g.cs @@ -0,0 +1,109 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeploymentOut + { + /// + /// Default Value: legacy + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? Type { get; set; } = DeployType.Legacy; + + /// + /// Deploy Id
+ /// Example: fkj843kjh8 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("deploy_id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string DeployId { get; set; } + + /// + /// Model Id from huggingface
+ /// Example: google/vit-base-patch16-224 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("model_name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ModelName { get; set; } + + /// + /// Model version
+ /// Example: d8b79b422843bd59d628bf25b01aded94a9ec1a9b917e69fe460df9ff39ec42b + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("version")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Version { get; set; } + + /// + /// Task
+ /// Example: image-classification + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("task")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Task { get; set; } + + /// + /// Status
+ /// Example: deployed + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("status")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Status { get; set; } + + /// + /// Failure reason
+ /// Example: Initialization failed + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("fail_reason")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string FailReason { get; set; } + + /// + /// Created at + /// + [global::System.Text.Json.Serialization.JsonPropertyName("created_at")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.DateTime CreatedAt { get; set; } + + /// + /// Updated at + /// + [global::System.Text.Json.Serialization.JsonPropertyName("updated_at")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.DateTime UpdatedAt { get; set; } + + /// + /// Details about number of instances running right now + /// + [global::System.Text.Json.Serialization.JsonPropertyName("instances")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? Instances { get; set; } + + /// + /// Immutable deploy configuration + /// + [global::System.Text.Json.Serialization.JsonPropertyName("config")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? Config { get; set; } + + /// + /// Scale Settings + /// + [global::System.Text.Json.Serialization.JsonPropertyName("settings")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? Settings { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentOutType.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentOutType.g.cs new file mode 100644 index 0000000..eeb6e0e --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentOutType.g.cs @@ -0,0 +1,51 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum DeploymentOutType + { + /// + /// + /// + Legacy, + /// + /// + /// + Llm, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class DeploymentOutTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this DeploymentOutType value) + { + return value switch + { + DeploymentOutType.Legacy => "legacy", + DeploymentOutType.Llm => "llm", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static DeploymentOutType? ToEnum(string value) + { + return value switch + { + "legacy" => DeploymentOutType.Legacy, + "llm" => DeploymentOutType.Llm, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentStatsOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentStatsOut.g.cs new file mode 100644 index 0000000..5f0d2dd --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DeploymentStatsOut.g.cs @@ -0,0 +1,80 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DeploymentStatsOut + { + /// + /// number of inference requests in the provided interval + /// + [global::System.Text.Json.Serialization.JsonPropertyName("requests")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Requests { get; set; } + + /// + /// total number of seconds spend in inference + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_time")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int TotalTime { get; set; } + + /// + /// total number of tokens generated + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_tokens")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int TotalTokens { get; set; } + + /// + /// number of input tokens generated + /// + [global::System.Text.Json.Serialization.JsonPropertyName("input_tokens")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int InputTokens { get; set; } + + /// + /// number of output tokens generated + /// + [global::System.Text.Json.Serialization.JsonPropertyName("output_tokens")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int OutputTokens { get; set; } + + /// + /// total number of cents spent + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_amount")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int TotalAmount { get; set; } + + /// + /// average millisecond inference time + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg_time")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double AvgTime { get; set; } + + /// + /// 95th percentile inference time (estimated) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg95_time")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double Avg95Time { get; set; } + + /// + /// number of errors + /// + [global::System.Text.Json.Serialization.JsonPropertyName("errors")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Errors { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.DetailedDeploymentStatsOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.DetailedDeploymentStatsOut.g.cs new file mode 100644 index 0000000..41e493a --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.DetailedDeploymentStatsOut.g.cs @@ -0,0 +1,40 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class DetailedDeploymentStatsOut + { + /// + /// LLM Deployment Stats + /// + [global::System.Text.Json.Serialization.JsonPropertyName("llm")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? Llm { get; set; } + + /// + /// Embeddings Deployment Stats + /// + [global::System.Text.Json.Serialization.JsonPropertyName("embeddings")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? Embeddings { get; set; } + + /// + /// Time based Deployment Stats + /// + [global::System.Text.Json.Serialization.JsonPropertyName("time")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? Time { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.EmailsOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.EmailsOut.g.cs new file mode 100644 index 0000000..650d23b --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.EmailsOut.g.cs @@ -0,0 +1,24 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class EmailsOut + { + /// + /// List of emails verified by theauthenticaiton provider + /// + [global::System.Text.Json.Serialization.JsonPropertyName("emails")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Emails { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.EmbeddingsDeploymentStatsOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.EmbeddingsDeploymentStatsOut.g.cs new file mode 100644 index 0000000..e60fcee --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.EmbeddingsDeploymentStatsOut.g.cs @@ -0,0 +1,59 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class EmbeddingsDeploymentStatsOut + { + /// + /// number of inference requests in the provided interval + /// + [global::System.Text.Json.Serialization.JsonPropertyName("requests")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Requests { get; set; } + + /// + /// number of input tokens generated + /// + [global::System.Text.Json.Serialization.JsonPropertyName("input_tokens")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int InputTokens { get; set; } + + /// + /// average millisecond time per token + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg_tpt_ms")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double AvgTptMs { get; set; } + + /// + /// 95th percentile time per token (estimated) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg95_tpt_ms")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double Avg95TptMs { get; set; } + + /// + /// total number of cents spent + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_amount_cents")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int TotalAmountCents { get; set; } + + /// + /// number of errors + /// + [global::System.Text.Json.Serialization.JsonPropertyName("errors")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Errors { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.FeedbackIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.FeedbackIn.g.cs new file mode 100644 index 0000000..1fc752d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.FeedbackIn.g.cs @@ -0,0 +1,30 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class FeedbackIn + { + /// + /// The message you'd like to send to deepinfra team + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Optional contact email to reach you back + /// + [global::System.Text.Json.Serialization.JsonPropertyName("contact_email")] + public string? ContactEmail { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.Function.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.Function.g.cs new file mode 100644 index 0000000..a5eb1d0 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.Function.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class Function + { + /// + /// the name of the function to call + /// + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Name { get; set; } + + /// + /// the function arguments, generated by the model in JSON format. the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema + /// + [global::System.Text.Json.Serialization.JsonPropertyName("arguments")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Arguments { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.FunctionDefinition.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.FunctionDefinition.g.cs new file mode 100644 index 0000000..b5aac82 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.FunctionDefinition.g.cs @@ -0,0 +1,37 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class FunctionDefinition + { + /// + /// + /// + [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("description")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Description { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("parameters")] + public object? Parameters { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.GPUAvailabilityInfo.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.GPUAvailabilityInfo.g.cs new file mode 100644 index 0000000..7a745f8 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.GPUAvailabilityInfo.g.cs @@ -0,0 +1,38 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class GPUAvailabilityInfo + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("gpu_config")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string GpuConfig { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("usd_per_hour")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double UsdPerHour { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("available")] + [global::System.Text.Json.Serialization.JsonRequired] + public required bool Available { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.HFModel.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.HFModel.g.cs new file mode 100644 index 0000000..985438d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.HFModel.g.cs @@ -0,0 +1,32 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class HFModel + { + /// + /// Model Id from huggingface
+ /// Example: google/vit-base-patch16-224 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("model_name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ModelName { get; set; } + + /// + /// Task
+ /// Example: image-classification + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("task")] + public string? Task { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.HFTasksE.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.HFTasksE.g.cs new file mode 100644 index 0000000..8d75a39 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.HFTasksE.g.cs @@ -0,0 +1,129 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum HFTasksE + { + /// + /// + /// + AutomaticSpeechRecognition, + /// + /// + /// + ImageClassification, + /// + /// + /// + QuestionAnswering, + /// + /// + /// + TokenClassification, + /// + /// + /// + TextToImage, + /// + /// + /// + FillMask, + /// + /// + /// + ZeroShotImageClassification, + /// + /// + /// + Text2textGeneration, + /// + /// + /// + TextGeneration, + /// + /// + /// + TextClassification, + /// + /// + /// + ObjectDetection, + /// + /// + /// + Embeddings, + /// + /// + /// + Dreambooth, + /// + /// + /// + Custom, + /// + /// + /// + TextToSpeech, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class HFTasksEExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this HFTasksE value) + { + return value switch + { + HFTasksE.AutomaticSpeechRecognition => "automatic-speech-recognition", + HFTasksE.ImageClassification => "image-classification", + HFTasksE.QuestionAnswering => "question-answering", + HFTasksE.TokenClassification => "token-classification", + HFTasksE.TextToImage => "text-to-image", + HFTasksE.FillMask => "fill-mask", + HFTasksE.ZeroShotImageClassification => "zero-shot-image-classification", + HFTasksE.Text2textGeneration => "text2text-generation", + HFTasksE.TextGeneration => "text-generation", + HFTasksE.TextClassification => "text-classification", + HFTasksE.ObjectDetection => "object-detection", + HFTasksE.Embeddings => "embeddings", + HFTasksE.Dreambooth => "dreambooth", + HFTasksE.Custom => "custom", + HFTasksE.TextToSpeech => "text-to-speech", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static HFTasksE? ToEnum(string value) + { + return value switch + { + "automatic-speech-recognition" => HFTasksE.AutomaticSpeechRecognition, + "image-classification" => HFTasksE.ImageClassification, + "question-answering" => HFTasksE.QuestionAnswering, + "token-classification" => HFTasksE.TokenClassification, + "text-to-image" => HFTasksE.TextToImage, + "fill-mask" => HFTasksE.FillMask, + "zero-shot-image-classification" => HFTasksE.ZeroShotImageClassification, + "text2text-generation" => HFTasksE.Text2textGeneration, + "text-generation" => HFTasksE.TextGeneration, + "text-classification" => HFTasksE.TextClassification, + "object-detection" => HFTasksE.ObjectDetection, + "embeddings" => HFTasksE.Embeddings, + "dreambooth" => HFTasksE.Dreambooth, + "custom" => HFTasksE.Custom, + "text-to-speech" => HFTasksE.TextToSpeech, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.HFWeights.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.HFWeights.g.cs new file mode 100644 index 0000000..a671aa2 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.HFWeights.g.cs @@ -0,0 +1,36 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class HFWeights + { + /// + /// huggingface repository i.e username/reponame + /// + [global::System.Text.Json.Serialization.JsonPropertyName("repo")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Repo { get; set; } + + /// + /// commit sha or branch name + /// + [global::System.Text.Json.Serialization.JsonPropertyName("revision")] + public string? Revision { get; set; } + + /// + /// huggingface access token with read access to the repo + /// + [global::System.Text.Json.Serialization.JsonPropertyName("token")] + public string? Token { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.HTTPValidationError.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.HTTPValidationError.g.cs new file mode 100644 index 0000000..8994536 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.HTTPValidationError.g.cs @@ -0,0 +1,23 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class HTTPValidationError + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("detail")] + public global::System.Collections.Generic.IList? Detail { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ImageURL.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ImageURL.g.cs new file mode 100644 index 0000000..98adf1d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ImageURL.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ImageURL + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("url")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Url { get; set; } + + /// + /// Default Value: auto + /// + [global::System.Text.Json.Serialization.JsonPropertyName("detail")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.ImageURLDetailJsonConverter))] + public global::DeepInfra.ImageURLDetail? Detail { get; set; } = global::DeepInfra.ImageURLDetail.Auto; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.ImageURLDetail.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ImageURLDetail.g.cs new file mode 100644 index 0000000..516e862 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ImageURLDetail.g.cs @@ -0,0 +1,57 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// Default Value: auto + /// + public enum ImageURLDetail + { + /// + /// + /// + Auto, + /// + /// + /// + Low, + /// + /// + /// + High, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ImageURLDetailExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ImageURLDetail value) + { + return value switch + { + ImageURLDetail.Auto => "auto", + ImageURLDetail.Low => "low", + ImageURLDetail.High => "high", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ImageURLDetail? ToEnum(string value) + { + return value switch + { + "auto" => ImageURLDetail.Auto, + "low" => ImageURLDetail.Low, + "high" => ImageURLDetail.High, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.LLMDeploymentStatsOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.LLMDeploymentStatsOut.g.cs new file mode 100644 index 0000000..e09daa6 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.LLMDeploymentStatsOut.g.cs @@ -0,0 +1,80 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class LLMDeploymentStatsOut + { + /// + /// number of inference requests in the provided interval + /// + [global::System.Text.Json.Serialization.JsonPropertyName("requests")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Requests { get; set; } + + /// + /// number of input tokens generated + /// + [global::System.Text.Json.Serialization.JsonPropertyName("input_tokens")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int InputTokens { get; set; } + + /// + /// number of output tokens generated + /// + [global::System.Text.Json.Serialization.JsonPropertyName("output_tokens")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int OutputTokens { get; set; } + + /// + /// average millisecond time to first token + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg_ttft_ms")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double AvgTtftMs { get; set; } + + /// + /// 95th percentile time to first token (estimated) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg95_ttft_ms")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double Avg95TtftMs { get; set; } + + /// + /// average millisecond time per token + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg_tpt_ms")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double AvgTptMs { get; set; } + + /// + /// 95th percentile time per token (estimated) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg95_tpt_ms")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double Avg95TptMs { get; set; } + + /// + /// total number of cents spent + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_amount_cents")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int TotalAmountCents { get; set; } + + /// + /// number of errors + /// + [global::System.Text.Json.Serialization.JsonPropertyName("errors")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Errors { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.LogEntry.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.LogEntry.g.cs new file mode 100644 index 0000000..3f27205 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.LogEntry.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class LogEntry + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("ts")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Ts { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("line")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Line { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.LogQueryOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.LogQueryOut.g.cs new file mode 100644 index 0000000..3417bd8 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.LogQueryOut.g.cs @@ -0,0 +1,23 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class LogQueryOut + { + /// + /// list of log lines ordered by increasing timestamp + /// + [global::System.Text.Json.Serialization.JsonPropertyName("entries")] + public global::System.Collections.Generic.IList?>? Entries { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.Me.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.Me.g.cs new file mode 100644 index 0000000..8b5cfab --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.Me.g.cs @@ -0,0 +1,85 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class Me + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("uid")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Uid { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("email")] + public string? Email { get; set; } + + /// + /// Name that is used to identifythe account on the website + /// + [global::System.Text.Json.Serialization.JsonPropertyName("display_name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string DisplayName { get; set; } + + /// + /// Authentication provider, e.g. 'github' + /// + [global::System.Text.Json.Serialization.JsonPropertyName("provider")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Provider { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("picture")] + public string? Picture { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("is_admin")] + [global::System.Text.Json.Serialization.JsonRequired] + public required bool IsAdmin { get; set; } + + /// + /// Personal name + /// + [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("is_business_account")] + [global::System.Text.Json.Serialization.JsonRequired] + public required bool IsBusinessAccount { get; set; } + + /// + /// Company name + /// + [global::System.Text.Json.Serialization.JsonPropertyName("company")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Company { get; set; } + + /// + /// Company website address + /// + [global::System.Text.Json.Serialization.JsonPropertyName("website")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Website { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.MeIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.MeIn.g.cs new file mode 100644 index 0000000..cbd449d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.MeIn.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class MeIn + { + /// + /// Personal name + /// + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("email")] + public string? Email { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("is_business_account")] + public bool IsBusinessAccount { get; set; } + + /// + /// Company name + /// + [global::System.Text.Json.Serialization.JsonPropertyName("company")] + public string? Company { get; set; } + + /// + /// Company website address + /// + [global::System.Text.Json.Serialization.JsonPropertyName("website")] + public string? Website { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelDocBlock.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelDocBlock.g.cs new file mode 100644 index 0000000..5bf1814 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelDocBlock.g.cs @@ -0,0 +1,32 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelDocBlock + { + /// + /// An enumeration. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("key")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.ModelDocBlockKeyJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::DeepInfra.ModelDocBlockKey Key { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("url")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Url { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelDocBlockKey.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelDocBlockKey.g.cs new file mode 100644 index 0000000..35e37a5 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelDocBlockKey.g.cs @@ -0,0 +1,129 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum ModelDocBlockKey + { + /// + /// + /// + Http, + /// + /// + /// + Deepctl, + /// + /// + /// + JsTextGen, + /// + /// + /// + JsEmb, + /// + /// + /// + JsTextToImg, + /// + /// + /// + JsSpeechToText, + /// + /// + /// + OpenaiPython, + /// + /// + /// + OpenaiHttp, + /// + /// + /// + OpenaiJs, + /// + /// + /// + OpenaiCompPython, + /// + /// + /// + OpenaiCompHttp, + /// + /// + /// + OpenaiCompJs, + /// + /// + /// + OpenaiEmbPy, + /// + /// + /// + OpenaiEmbHttp, + /// + /// + /// + OpenaiEmbJs, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ModelDocBlockKeyExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ModelDocBlockKey value) + { + return value switch + { + ModelDocBlockKey.Http => "http", + ModelDocBlockKey.Deepctl => "deepctl", + ModelDocBlockKey.JsTextGen => "js-text-gen", + ModelDocBlockKey.JsEmb => "js-emb", + ModelDocBlockKey.JsTextToImg => "js-text-to-img", + ModelDocBlockKey.JsSpeechToText => "js-speech-to-text", + ModelDocBlockKey.OpenaiPython => "openai-python", + ModelDocBlockKey.OpenaiHttp => "openai-http", + ModelDocBlockKey.OpenaiJs => "openai-js", + ModelDocBlockKey.OpenaiCompPython => "openai-comp-python", + ModelDocBlockKey.OpenaiCompHttp => "openai-comp-http", + ModelDocBlockKey.OpenaiCompJs => "openai-comp-js", + ModelDocBlockKey.OpenaiEmbPy => "openai-emb-py", + ModelDocBlockKey.OpenaiEmbHttp => "openai-emb-http", + ModelDocBlockKey.OpenaiEmbJs => "openai-emb-js", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ModelDocBlockKey? ToEnum(string value) + { + return value switch + { + "http" => ModelDocBlockKey.Http, + "deepctl" => ModelDocBlockKey.Deepctl, + "js-text-gen" => ModelDocBlockKey.JsTextGen, + "js-emb" => ModelDocBlockKey.JsEmb, + "js-text-to-img" => ModelDocBlockKey.JsTextToImg, + "js-speech-to-text" => ModelDocBlockKey.JsSpeechToText, + "openai-python" => ModelDocBlockKey.OpenaiPython, + "openai-http" => ModelDocBlockKey.OpenaiHttp, + "openai-js" => ModelDocBlockKey.OpenaiJs, + "openai-comp-python" => ModelDocBlockKey.OpenaiCompPython, + "openai-comp-http" => ModelDocBlockKey.OpenaiCompHttp, + "openai-comp-js" => ModelDocBlockKey.OpenaiCompJs, + "openai-emb-py" => ModelDocBlockKey.OpenaiEmbPy, + "openai-emb-http" => ModelDocBlockKey.OpenaiEmbHttp, + "openai-emb-js" => ModelDocBlockKey.OpenaiEmbJs, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelFieldInfo.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelFieldInfo.g.cs new file mode 100644 index 0000000..8c11cda --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelFieldInfo.g.cs @@ -0,0 +1,85 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelFieldInfo + { + /// + /// + /// + [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("parent")] + public string? Parent { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("ftype")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Ftype { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("description")] + public string? Description { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("allowed")] + public global::System.Collections.Generic.IList? Allowed { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("default")] + public object? Default { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("examples")] + public global::System.Collections.Generic.IList? Examples { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("minimum")] + public double Minimum { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("exclusiveMinimum")] + public double ExclusiveMinimum { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("maximum")] + public double Maximum { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("exclusiveMaximum")] + public double ExclusiveMaximum { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelInfoOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelInfoOut.g.cs new file mode 100644 index 0000000..6ebc5c5 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelInfoOut.g.cs @@ -0,0 +1,196 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelInfoOut + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("model_name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ModelName { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Type { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("tags")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Tags { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("reported_type")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ReportedType { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("version")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Version { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("description")] + public string? Description { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("featured")] + [global::System.Text.Json.Serialization.JsonRequired] + public required bool Featured { get; set; } + + /// + /// Default Value: false + /// + [global::System.Text.Json.Serialization.JsonPropertyName("owner")] + public bool Owner { get; set; } = false; + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("public")] + [global::System.Text.Json.Serialization.JsonRequired] + public required bool Public { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("curl_inv")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string CurlInv { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cmdline_inv")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string CmdlineInv { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("txt_docs")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string TxtDocs { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("out_example")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string OutExample { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("out_docs")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string OutDocs { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("mask_token")] + public string? MaskToken { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("in_schema")] + public object? InSchema { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("out_schema")] + public object? OutSchema { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("in_fields")] + public global::System.Collections.Generic.IList? InFields { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("pricing")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AnyOfJsonConverterFactory6))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AnyOf Pricing { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("doc_blocks")] + public global::System.Collections.Generic.IList? DocBlocks { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("schemas")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Schemas { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("meta")] + public object? Meta { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("max_tokens")] + public int MaxTokens { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("replaced_by")] + public string? ReplacedBy { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("deprecated")] + public int Deprecated { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("quantization")] + public string? Quantization { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("expected")] + public global::System.DateTime Expected { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMeta.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMeta.g.cs new file mode 100644 index 0000000..c97df7a --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMeta.g.cs @@ -0,0 +1,44 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelMeta + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("provider")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Provider { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("model_name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ModelName { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("task")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Task { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("plan_id")] + public string? PlanId { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMetaIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMetaIn.g.cs new file mode 100644 index 0000000..5f8d02d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMetaIn.g.cs @@ -0,0 +1,62 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelMetaIn + { + /// + /// short model description in plain text + /// + [global::System.Text.Json.Serialization.JsonPropertyName("description")] + public string? Description { get; set; } + + /// + /// source code project link (empty to delete) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("github_url")] + public string? GithubUrl { get; set; } + + /// + /// paper/research link (empty to delete) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("paper_url")] + public string? PaperUrl { get; set; } + + /// + /// usage license link (empty to delete) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("license_url")] + public string? LicenseUrl { get; set; } + + /// + /// markdown flavored model readme + /// + [global::System.Text.Json.Serialization.JsonPropertyName("readme")] + public string? Readme { get; set; } + + /// + /// dataurl or regular url to cover image (empty to delete) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cover_img_url")] + public string? CoverImgUrl { get; set; } + + /// + /// model type + /// + [global::System.Text.Json.Serialization.JsonPropertyName("reported_type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? ReportedType { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMetaInReportedType.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMetaInReportedType.g.cs new file mode 100644 index 0000000..32a645d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelMetaInReportedType.g.cs @@ -0,0 +1,129 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum ModelMetaInReportedType + { + /// + /// + /// + AutomaticSpeechRecognition, + /// + /// + /// + ImageClassification, + /// + /// + /// + QuestionAnswering, + /// + /// + /// + TokenClassification, + /// + /// + /// + TextToImage, + /// + /// + /// + FillMask, + /// + /// + /// + ZeroShotImageClassification, + /// + /// + /// + Text2textGeneration, + /// + /// + /// + TextGeneration, + /// + /// + /// + TextClassification, + /// + /// + /// + ObjectDetection, + /// + /// + /// + Embeddings, + /// + /// + /// + Dreambooth, + /// + /// + /// + Custom, + /// + /// + /// + TextToSpeech, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ModelMetaInReportedTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ModelMetaInReportedType value) + { + return value switch + { + ModelMetaInReportedType.AutomaticSpeechRecognition => "automatic-speech-recognition", + ModelMetaInReportedType.ImageClassification => "image-classification", + ModelMetaInReportedType.QuestionAnswering => "question-answering", + ModelMetaInReportedType.TokenClassification => "token-classification", + ModelMetaInReportedType.TextToImage => "text-to-image", + ModelMetaInReportedType.FillMask => "fill-mask", + ModelMetaInReportedType.ZeroShotImageClassification => "zero-shot-image-classification", + ModelMetaInReportedType.Text2textGeneration => "text2text-generation", + ModelMetaInReportedType.TextGeneration => "text-generation", + ModelMetaInReportedType.TextClassification => "text-classification", + ModelMetaInReportedType.ObjectDetection => "object-detection", + ModelMetaInReportedType.Embeddings => "embeddings", + ModelMetaInReportedType.Dreambooth => "dreambooth", + ModelMetaInReportedType.Custom => "custom", + ModelMetaInReportedType.TextToSpeech => "text-to-speech", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ModelMetaInReportedType? ToEnum(string value) + { + return value switch + { + "automatic-speech-recognition" => ModelMetaInReportedType.AutomaticSpeechRecognition, + "image-classification" => ModelMetaInReportedType.ImageClassification, + "question-answering" => ModelMetaInReportedType.QuestionAnswering, + "token-classification" => ModelMetaInReportedType.TokenClassification, + "text-to-image" => ModelMetaInReportedType.TextToImage, + "fill-mask" => ModelMetaInReportedType.FillMask, + "zero-shot-image-classification" => ModelMetaInReportedType.ZeroShotImageClassification, + "text2text-generation" => ModelMetaInReportedType.Text2textGeneration, + "text-generation" => ModelMetaInReportedType.TextGeneration, + "text-classification" => ModelMetaInReportedType.TextClassification, + "object-detection" => ModelMetaInReportedType.ObjectDetection, + "embeddings" => ModelMetaInReportedType.Embeddings, + "dreambooth" => ModelMetaInReportedType.Dreambooth, + "custom" => ModelMetaInReportedType.Custom, + "text-to-speech" => ModelMetaInReportedType.TextToSpeech, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelOut.g.cs new file mode 100644 index 0000000..7f1da64 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelOut.g.cs @@ -0,0 +1,100 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelOut + { + /// + /// Model Name
+ /// Example: microsoft/resnet-50 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("model_name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ModelName { get; set; } + + /// + /// raw type of the model
+ /// Example: image-classification + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Type { get; set; } + + /// + /// reported type of the model
+ /// Example: text-generation + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("reported_type")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ReportedType { get; set; } + + /// + /// description of the model
+ /// Example: ResNet-50 is a convolutional neural network that is trained on more than a million images from the ImageNet database. It is a 50-layer deep neural network. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("description")] + public string? Description { get; set; } + + /// + /// cover image link + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cover_img_url")] + public string? CoverImgUrl { get; set; } + + /// + /// list of tags + /// + [global::System.Text.Json.Serialization.JsonPropertyName("tags")] + public global::System.Collections.Generic.IList? Tags { get; set; } + + /// + /// The pricing type and cost for this model + /// + [global::System.Text.Json.Serialization.JsonPropertyName("pricing")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AnyOfJsonConverterFactory6))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AnyOf Pricing { get; set; } + + /// + /// The maximum context size of this model, if applicable + /// + [global::System.Text.Json.Serialization.JsonPropertyName("max_tokens")] + public int MaxTokens { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("replaced_by")] + public string? ReplacedBy { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("deprecated")] + public int Deprecated { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("quantization")] + public string? Quantization { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("expected")] + public global::System.DateTime Expected { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputCharacterLength.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputCharacterLength.g.cs new file mode 100644 index 0000000..186259e --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputCharacterLength.g.cs @@ -0,0 +1,30 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelPricingInputCharacterLength + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cents_per_input_chars")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double CentsPerInputChars { get; set; } + + /// + /// Default Value: input_character_length + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + public string? Type { get; set; } = "input_character_length"; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputLength.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputLength.g.cs new file mode 100644 index 0000000..40dd8b4 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputLength.g.cs @@ -0,0 +1,30 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelPricingInputLength + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cents_per_input_sec")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double CentsPerInputSec { get; set; } + + /// + /// Default Value: input_length + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + public string? Type { get; set; } = "input_length"; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputTokens.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputTokens.g.cs new file mode 100644 index 0000000..11cedd6 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingInputTokens.g.cs @@ -0,0 +1,30 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelPricingInputTokens + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cents_per_input_token")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double CentsPerInputToken { get; set; } + + /// + /// Default Value: input_tokens + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + public string? Type { get; set; } = "input_tokens"; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.ModelPricingTime.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingTime.g.cs new file mode 100644 index 0000000..cb2ef2e --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingTime.g.cs @@ -0,0 +1,30 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelPricingTime + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cents_per_sec")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double CentsPerSec { get; set; } + + /// + /// Default Value: time + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + public string? Type { get; set; } = "time"; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.ModelPricingTokens.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingTokens.g.cs new file mode 100644 index 0000000..cd10a6f --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingTokens.g.cs @@ -0,0 +1,37 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelPricingTokens + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cents_per_input_token")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double CentsPerInputToken { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cents_per_output_token")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double CentsPerOutputToken { get; set; } + + /// + /// Default Value: tokens + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + public string? Type { get; set; } = "tokens"; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.ModelPricingUptime.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingUptime.g.cs new file mode 100644 index 0000000..e5307e1 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPricingUptime.g.cs @@ -0,0 +1,30 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelPricingUptime + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cents_per_sec")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double CentsPerSec { get; set; } + + /// + /// Default Value: uptime + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + public string? Type { get; set; } = "uptime"; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.ModelProvider.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelProvider.g.cs new file mode 100644 index 0000000..e06a17d --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelProvider.g.cs @@ -0,0 +1,57 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum ModelProvider + { + /// + /// + /// + Huggingface, + /// + /// + /// + Deepinfra, + /// + /// + /// + Cnt, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ModelProviderExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ModelProvider value) + { + return value switch + { + ModelProvider.Huggingface => "huggingface", + ModelProvider.Deepinfra => "deepinfra", + ModelProvider.Cnt => "cnt", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ModelProvider? ToEnum(string value) + { + return value switch + { + "huggingface" => ModelProvider.Huggingface, + "deepinfra" => ModelProvider.Deepinfra, + "cnt" => ModelProvider.Cnt, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPublicityIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPublicityIn.g.cs new file mode 100644 index 0000000..52c754e --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelPublicityIn.g.cs @@ -0,0 +1,24 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelPublicityIn + { + /// + /// whether to make the model public of private + /// + [global::System.Text.Json.Serialization.JsonPropertyName("public")] + [global::System.Text.Json.Serialization.JsonRequired] + public required bool Public { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.g.cs new file mode 100644 index 0000000..6e8f622 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.g.cs @@ -0,0 +1,63 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey + { + /// + /// + /// + Default, + /// + /// + /// + OpenaiCompletions, + /// + /// + /// + OpenaiChatCompletions, + /// + /// + /// + OpenaiEmbeddings, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey value) + { + return value switch + { + ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.Default => "default", + ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.OpenaiCompletions => "openai-completions", + ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.OpenaiChatCompletions => "openai-chat-completions", + ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.OpenaiEmbeddings => "openai-embeddings", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey? ToEnum(string value) + { + return value switch + { + "default" => ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.Default, + "openai-completions" => ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.OpenaiCompletions, + "openai-chat-completions" => ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.OpenaiChatCompletions, + "openai-embeddings" => ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.OpenaiEmbeddings, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelVersionOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelVersionOut.g.cs new file mode 100644 index 0000000..54ee442 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ModelVersionOut.g.cs @@ -0,0 +1,40 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ModelVersionOut + { + /// + /// Model Name
+ /// Example: microsoft/resnet-50 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("model_name")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ModelName { get; set; } + + /// + /// Version identifier
+ /// Example: 06dbf5f73be4b5eca79e137e00c4825f467cd5b172c64b6c9255dc4b5a25a03a + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("version")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Version { get; set; } + + /// + /// Upload time + /// + [global::System.Text.Json.Serialization.JsonPropertyName("uploaded_at")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.DateTime UploadedAt { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIChatCompletionsIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIChatCompletionsIn.g.cs new file mode 100644 index 0000000..26340f6 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIChatCompletionsIn.g.cs @@ -0,0 +1,116 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class OpenAIChatCompletionsIn + { + /// + /// model name
+ /// Example: meta-llama/Llama-2-70b-chat-hf + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("model")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Model { get; set; } + + /// + /// conversation messages: (user,assistant,tool)*,user including one system message anywhere + /// + [global::System.Text.Json.Serialization.JsonPropertyName("messages")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList> Messages { get; set; } + + /// + /// whether to stream the output via SSE or return the full response
+ /// Default Value: false + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("stream")] + public bool Stream { get; set; } = false; + + /// + /// What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("temperature")] + public double Temperature { get; set; } = 1; + + /// + /// Default Value: 1 + /// + [global::System.Text.Json.Serialization.JsonPropertyName("top_p")] + public double TopP { get; set; } = 1; + + /// + /// The maximum number of tokens to generate in the chat completion.
+ /// The total length of input tokens and generated tokens is limited by the model's context length.If explicitly set to None it will be the model's max context length minus input length.
+ /// Default Value: 512 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("max_tokens")] + public int MaxTokens { get; set; } = 512; + + /// + /// up to 16 sequences where the API will stop generating further tokens + /// + [global::System.Text.Json.Serialization.JsonPropertyName("stop")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AnyOfJsonConverterFactory2))] + public global::System.AnyOf?>? Stop { get; set; } + + /// + /// number of sequences to return. n != 1 incompatible with streaming
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("n")] + public int N { get; set; } = 1; + + /// + /// Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
+ /// Default Value: 0 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("presence_penalty")] + public double PresencePenalty { get; set; } = 0; + + /// + /// Positive values penalize new tokens based on how many times they appear in the text so far, increasing the model's likelihood to talk about new topics.
+ /// Default Value: 0 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("frequency_penalty")] + public double FrequencyPenalty { get; set; } = 0; + + /// + /// A list of tools the model may call. Currently, only functions are supported as a tool. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("tools")] + public global::System.Collections.Generic.IList? Tools { get; set; } + + /// + /// Controls which (if any) function is called by the model. none means the model will not call a function and instead generates a message. auto means the model can pick between generating a message or calling a function. specifying a particular function choice is not supported currently.none is the default when no functions are present. auto is the default if functions are present. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("tool_choice")] + public string? ToolChoice { get; set; } + + /// + /// The format of the response. Currently, only json is supported. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("response_format")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? ResponseFormat { get; set; } + + /// + /// Alternative penalty for repetition, but multiplicative instead of additive (> 1 penalize, < 1 encourage)
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("repetition_penalty")] + public double RepetitionPenalty { get; set; } = 1; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.OpenAICompletionsIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAICompletionsIn.g.cs new file mode 100644 index 0000000..2b96c63 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAICompletionsIn.g.cs @@ -0,0 +1,116 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class OpenAICompletionsIn + { + /// + /// model name
+ /// Example: meta-llama/Llama-2-70b-chat-hf + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("model")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Model { get; set; } + + /// + /// input prompt - a single string is currently supported + /// + [global::System.Text.Json.Serialization.JsonPropertyName("prompt")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Prompt { get; set; } + + /// + /// The maximum number of tokens to generate in the completion.
+ /// The total length of input tokens and generated tokens is limited by the model's context length.If explicitly set to None it will be the model's max context length minus input length.
+ /// Default Value: 512 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("max_tokens")] + public int MaxTokens { get; set; } = 512; + + /// + /// What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("temperature")] + public double Temperature { get; set; } = 1; + + /// + /// Default Value: 1 + /// + [global::System.Text.Json.Serialization.JsonPropertyName("top_p")] + public double TopP { get; set; } = 1; + + /// + /// number of sequences to return. n != 1 incompatible with streaming
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("n")] + public int N { get; set; } = 1; + + /// + /// whether to stream the output via SSE or return the full response
+ /// Default Value: false + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("stream")] + public bool Stream { get; set; } = false; + + /// + /// return top tokens and their log-probabilities + /// + [global::System.Text.Json.Serialization.JsonPropertyName("logprobs")] + public int Logprobs { get; set; } + + /// + /// return prompt as part of the respons + /// + [global::System.Text.Json.Serialization.JsonPropertyName("echo")] + public bool Echo { get; set; } + + /// + /// up to 16 sequences where the API will stop generating further tokens + /// + [global::System.Text.Json.Serialization.JsonPropertyName("stop")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AnyOfJsonConverterFactory2))] + public global::System.AnyOf?>? Stop { get; set; } + + /// + /// Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
+ /// Default Value: 0 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("presence_penalty")] + public double PresencePenalty { get; set; } = 0; + + /// + /// Positive values penalize new tokens based on how many times they appear in the text so far, increasing the model's likelihood to talk about new topics.
+ /// Default Value: 0 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("frequency_penalty")] + public double FrequencyPenalty { get; set; } = 0; + + /// + /// The format of the response. Currently, only json is supported. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("response_format")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? ResponseFormat { get; set; } + + /// + /// Alternative penalty for repetition, but multiplicative instead of additive (> 1 penalize, < 1 encourage)
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("repetition_penalty")] + public double RepetitionPenalty { get; set; } = 1; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.OpenAIEmbeddingsIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIEmbeddingsIn.g.cs new file mode 100644 index 0000000..e69edf9 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIEmbeddingsIn.g.cs @@ -0,0 +1,44 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class OpenAIEmbeddingsIn + { + /// + /// model name
+ /// Example: thenlper/gte-large + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("model")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Model { get; set; } + + /// + /// sequences to embed
+ /// Example: [I like chocolate] + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("input")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AnyOfJsonConverterFactory2))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AnyOf, string> Input { get; set; } + + /// + /// format used when encoding
+ /// Default Value: float + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("encoding_format")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.OpenAIEmbeddingsInEncodingFormatJsonConverter))] + public global::DeepInfra.OpenAIEmbeddingsInEncodingFormat? EncodingFormat { get; set; } = global::DeepInfra.OpenAIEmbeddingsInEncodingFormat.Float; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.OpenAIEmbeddingsInEncodingFormat.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIEmbeddingsInEncodingFormat.g.cs new file mode 100644 index 0000000..119bd25 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIEmbeddingsInEncodingFormat.g.cs @@ -0,0 +1,46 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// format used when encoding
+ /// Default Value: float + ///
+ public enum OpenAIEmbeddingsInEncodingFormat + { + /// + /// + /// + Float, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class OpenAIEmbeddingsInEncodingFormatExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this OpenAIEmbeddingsInEncodingFormat value) + { + return value switch + { + OpenAIEmbeddingsInEncodingFormat.Float => "float", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static OpenAIEmbeddingsInEncodingFormat? ToEnum(string value) + { + return value switch + { + "float" => OpenAIEmbeddingsInEncodingFormat.Float, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIModelOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIModelOut.g.cs new file mode 100644 index 0000000..ec1b69e --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIModelOut.g.cs @@ -0,0 +1,57 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class OpenAIModelOut + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Id { get; set; } + + /// + /// Default Value: model + /// + [global::System.Text.Json.Serialization.JsonPropertyName("object")] + public string? Object { get; set; } = "model"; + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("created")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Created { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("owned_by")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string OwnedBy { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("root")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Root { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("parent")] + public object? Parent { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIModelsOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIModelsOut.g.cs new file mode 100644 index 0000000..ec35fdb --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAIModelsOut.g.cs @@ -0,0 +1,29 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class OpenAIModelsOut + { + /// + /// Default Value: list + /// + [global::System.Text.Json.Serialization.JsonPropertyName("object")] + public string? Object { get; set; } = "list"; + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("data")] + public global::System.Collections.Generic.IList? 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechIn.g.cs new file mode 100644 index 0000000..0d9e3f9 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechIn.g.cs @@ -0,0 +1,64 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class OpenAITextToSpeechIn + { + /// + /// The webhook to call when inference is done, by default you will get the output in the response of your inference request + /// + [global::System.Text.Json.Serialization.JsonPropertyName("webhook")] + public string? Webhook { get; set; } + + /// + /// model name
+ /// Example: deepinfra/tts + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("model")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Model { get; set; } + + /// + /// text to convert to speech
+ /// Example: Hello, how are you? + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("input")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Input { get; set; } + + /// + /// Preset voices to use for the speech.
+ /// Default Value: luna + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("voice")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? Voice { get; set; } = TtsVoice.Luna; + + /// + /// response format for the speech
+ /// Default Value: wav + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("response_format")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + public global::System.AllOf? ResponseFormat { get; set; } = TtsResponseFormat.Wav; + + /// + /// speed of the speech
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("speed")] + public double Speed { get; set; } = 1; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechInResponseFormat.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechInResponseFormat.g.cs new file mode 100644 index 0000000..9b0c035 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechInResponseFormat.g.cs @@ -0,0 +1,45 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum OpenAITextToSpeechInResponseFormat + { + /// + /// + /// + Wav, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class OpenAITextToSpeechInResponseFormatExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this OpenAITextToSpeechInResponseFormat value) + { + return value switch + { + OpenAITextToSpeechInResponseFormat.Wav => "wav", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static OpenAITextToSpeechInResponseFormat? ToEnum(string value) + { + return value switch + { + "wav" => OpenAITextToSpeechInResponseFormat.Wav, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechInVoice.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechInVoice.g.cs new file mode 100644 index 0000000..cc6bce1 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.OpenAITextToSpeechInVoice.g.cs @@ -0,0 +1,57 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum OpenAITextToSpeechInVoice + { + /// + /// + /// + Luna, + /// + /// + /// + Aura, + /// + /// + /// + Quartz, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class OpenAITextToSpeechInVoiceExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this OpenAITextToSpeechInVoice value) + { + return value switch + { + OpenAITextToSpeechInVoice.Luna => "luna", + OpenAITextToSpeechInVoice.Aura => "aura", + OpenAITextToSpeechInVoice.Quartz => "quartz", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static OpenAITextToSpeechInVoice? ToEnum(string value) + { + return value switch + { + "luna" => OpenAITextToSpeechInVoice.Luna, + "aura" => OpenAITextToSpeechInVoice.Aura, + "quartz" => OpenAITextToSpeechInVoice.Quartz, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.RateLimitOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.RateLimitOut.g.cs new file mode 100644 index 0000000..ac59812 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.RateLimitOut.g.cs @@ -0,0 +1,24 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class RateLimitOut + { + /// + /// Per model rate limit + /// + [global::System.Text.Json.Serialization.JsonPropertyName("rate_limit")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int RateLimit { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.RateLimitRequestIn.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.RateLimitRequestIn.g.cs new file mode 100644 index 0000000..119867a --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.RateLimitRequestIn.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class RateLimitRequestIn + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("rate_limit")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int RateLimit { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("reason")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Reason { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ResponseFormat.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ResponseFormat.g.cs new file mode 100644 index 0000000..cd96a97 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ResponseFormat.g.cs @@ -0,0 +1,26 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ResponseFormat + { + /// + /// Response type, such as JSON mode
+ /// Default Value: text
+ /// Example: json_object + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.ResponseFormatTypeJsonConverter))] + public global::DeepInfra.ResponseFormatType? Type { get; set; } = global::DeepInfra.ResponseFormatType.Text; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.ResponseFormatType.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ResponseFormatType.g.cs new file mode 100644 index 0000000..18eacb6 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ResponseFormatType.g.cs @@ -0,0 +1,53 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// Response type, such as JSON mode
+ /// Default Value: text
+ /// Example: json_object + ///
+ public enum ResponseFormatType + { + /// + /// + /// + Text, + /// + /// + /// + JsonObject, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ResponseFormatTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ResponseFormatType value) + { + return value switch + { + ResponseFormatType.Text => "text", + ResponseFormatType.JsonObject => "json_object", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ResponseFormatType? ToEnum(string value) + { + return value switch + { + "text" => ResponseFormatType.Text, + "json_object" => ResponseFormatType.JsonObject, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ScaleSettings.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ScaleSettings.g.cs new file mode 100644 index 0000000..5f96eaf --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ScaleSettings.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ScaleSettings + { + /// + /// Minimum number of model instances to run
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("min_instances")] + public int MinInstances { get; set; } = 1; + + /// + /// Maximum number of model instances to run
+ /// Default Value: 1 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("max_instances")] + public int MaxInstances { get; set; } = 1; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.SchemaFieldOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaFieldOut.g.cs new file mode 100644 index 0000000..0869232 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaFieldOut.g.cs @@ -0,0 +1,85 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class SchemaFieldOut + { + /// + /// + /// + [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("parent")] + public string? Parent { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("ftype")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Ftype { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("description")] + public string? Description { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("allowed")] + public global::System.Collections.Generic.IList? Allowed { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("default")] + public object? Default { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("examples")] + public global::System.Collections.Generic.IList? Examples { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("minimum")] + public double Minimum { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("exclusiveMinimum")] + public double ExclusiveMinimum { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("maximum")] + public double Maximum { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("exclusiveMaximum")] + public double ExclusiveMaximum { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaOut.g.cs new file mode 100644 index 0000000..b4d6bb7 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaOut.g.cs @@ -0,0 +1,49 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class SchemaOut + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("variant")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::DeepInfra.SchemaVariant Variant { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("schema_in")] + public object? SchemaIn { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("schema_out")] + public object? SchemaOut1 { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("schema_stream")] + public object? SchemaStream { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("fields_in")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList FieldsIn { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaVariant.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaVariant.g.cs new file mode 100644 index 0000000..be72eab --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaVariant.g.cs @@ -0,0 +1,32 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class SchemaVariant + { + /// + /// An enumeration. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("key")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.SchemaVariantKeyJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::DeepInfra.SchemaVariantKey Key { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("url")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Url { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaVariantKey.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaVariantKey.g.cs new file mode 100644 index 0000000..f25249e --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.SchemaVariantKey.g.cs @@ -0,0 +1,63 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum SchemaVariantKey + { + /// + /// + /// + Default, + /// + /// + /// + OpenaiCompletions, + /// + /// + /// + OpenaiChatCompletions, + /// + /// + /// + OpenaiEmbeddings, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SchemaVariantKeyExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SchemaVariantKey value) + { + return value switch + { + SchemaVariantKey.Default => "default", + SchemaVariantKey.OpenaiCompletions => "openai-completions", + SchemaVariantKey.OpenaiChatCompletions => "openai-chat-completions", + SchemaVariantKey.OpenaiEmbeddings => "openai-embeddings", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SchemaVariantKey? ToEnum(string value) + { + return value switch + { + "default" => SchemaVariantKey.Default, + "openai-completions" => SchemaVariantKey.OpenaiCompletions, + "openai-chat-completions" => SchemaVariantKey.OpenaiChatCompletions, + "openai-embeddings" => SchemaVariantKey.OpenaiEmbeddings, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.SuspendReason.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.SuspendReason.g.cs new file mode 100644 index 0000000..e62b486 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.SuspendReason.g.cs @@ -0,0 +1,63 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum SuspendReason + { + /// + /// + /// + PaymentMethod, + /// + /// + /// + OverdueInvoices, + /// + /// + /// + LimitReached, + /// + /// + /// + Admin, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SuspendReasonExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SuspendReason value) + { + return value switch + { + SuspendReason.PaymentMethod => "payment-method", + SuspendReason.OverdueInvoices => "overdue-invoices", + SuspendReason.LimitReached => "limit-reached", + SuspendReason.Admin => "admin", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SuspendReason? ToEnum(string value) + { + return value switch + { + "payment-method" => SuspendReason.PaymentMethod, + "overdue-invoices" => SuspendReason.OverdueInvoices, + "limit-reached" => SuspendReason.LimitReached, + "admin" => SuspendReason.Admin, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.TimeDeploymentStatsOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.TimeDeploymentStatsOut.g.cs new file mode 100644 index 0000000..ee65b2c --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.TimeDeploymentStatsOut.g.cs @@ -0,0 +1,59 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class TimeDeploymentStatsOut + { + /// + /// number of inference requests in the provided interval + /// + [global::System.Text.Json.Serialization.JsonPropertyName("requests")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Requests { get; set; } + + /// + /// total number of seconds spend in inference + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_time_s")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int TotalTimeS { get; set; } + + /// + /// total number of cents spent + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_amount_cents")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int TotalAmountCents { get; set; } + + /// + /// average millisecond inference time + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg_time_ms")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double AvgTimeMs { get; set; } + + /// + /// 95th percentile inference time (estimated) + /// + [global::System.Text.Json.Serialization.JsonPropertyName("avg95_time_ms")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double Avg95TimeMs { get; set; } + + /// + /// number of errors + /// + [global::System.Text.Json.Serialization.JsonPropertyName("errors")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Errors { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.TimeInterval.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.TimeInterval.g.cs new file mode 100644 index 0000000..5246522 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.TimeInterval.g.cs @@ -0,0 +1,29 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// Inclusive, in ms + /// + public sealed partial class TimeInterval + { + /// + /// Default Value: 0 + /// + [global::System.Text.Json.Serialization.JsonPropertyName("fr")] + public int Fr { get; set; } = 0; + + /// + /// Default Value: 4000000000000 + /// + [global::System.Text.Json.Serialization.JsonPropertyName("to")] + public long To { get; set; } = 4000000000000; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.TtsResponseFormat.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.TtsResponseFormat.g.cs new file mode 100644 index 0000000..dd0082b --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.TtsResponseFormat.g.cs @@ -0,0 +1,45 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum TtsResponseFormat + { + /// + /// + /// + Wav, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class TtsResponseFormatExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this TtsResponseFormat value) + { + return value switch + { + TtsResponseFormat.Wav => "wav", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static TtsResponseFormat? ToEnum(string value) + { + return value switch + { + "wav" => TtsResponseFormat.Wav, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.TtsVoice.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.TtsVoice.g.cs new file mode 100644 index 0000000..f6ed904 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.TtsVoice.g.cs @@ -0,0 +1,57 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// An enumeration. + /// + public enum TtsVoice + { + /// + /// + /// + Luna, + /// + /// + /// + Aura, + /// + /// + /// + Quartz, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class TtsVoiceExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this TtsVoice value) + { + return value switch + { + TtsVoice.Luna => "luna", + TtsVoice.Aura => "aura", + TtsVoice.Quartz => "quartz", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static TtsVoice? ToEnum(string value) + { + return value switch + { + "luna" => TtsVoice.Luna, + "aura" => TtsVoice.Aura, + "quartz" => TtsVoice.Quartz, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.UsageItem.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.UsageItem.g.cs new file mode 100644 index 0000000..b523ec0 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.UsageItem.g.cs @@ -0,0 +1,62 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class UsageItem + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("model")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::DeepInfra.ModelMeta Model { get; set; } + + /// + /// billed seconds or tokens + /// + [global::System.Text.Json.Serialization.JsonPropertyName("units")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Units { get; set; } + + /// + /// rate in cents/sec or cents per token + /// + [global::System.Text.Json.Serialization.JsonPropertyName("rate")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double Rate { get; set; } + + /// + /// model cost in cents + /// + [global::System.Text.Json.Serialization.JsonPropertyName("cost")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Cost { get; set; } + + /// + /// pricing type + /// + [global::System.Text.Json.Serialization.JsonPropertyName("pricing_type")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string PricingType { get; set; } + + /// + /// time interval with this particular pricing + /// + [global::System.Text.Json.Serialization.JsonPropertyName("interval")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AllOf Interval { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.UsageMonth.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.UsageMonth.g.cs new file mode 100644 index 0000000..3365718 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.UsageMonth.g.cs @@ -0,0 +1,55 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class UsageMonth + { + /// + /// YYYY.MM formatted period + /// + [global::System.Text.Json.Serialization.JsonPropertyName("period")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Period { get; set; } + + /// + /// time interval in this period + /// + [global::System.Text.Json.Serialization.JsonPropertyName("interval")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.AllOf Interval { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("items")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Items { get; set; } + + /// + /// total cost for all items in cents + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_cost")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int TotalCost { get; set; } + + /// + /// Stripe Invoice ID, or EMPTY|NOT_FINAL
+ /// Default Value: NOT_FINAL + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("invoice_id")] + public string? InvoiceId { get; set; } = "NOT_FINAL"; + + /// + /// 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/DeepInfra/Generated/DeepInfra.Models.UsageOut.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.UsageOut.g.cs new file mode 100644 index 0000000..db21933 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.UsageOut.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class UsageOut + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("months")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Months { get; set; } + + /// + /// The first month for this account + /// + [global::System.Text.Json.Serialization.JsonPropertyName("initial_month")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string InitialMonth { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Models.ValidationError.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Models.ValidationError.g.cs new file mode 100644 index 0000000..d481c72 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Models.ValidationError.g.cs @@ -0,0 +1,40 @@ + +#pragma warning disable CS0618 // Type or member is obsolete + +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class ValidationError + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("loc")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList> Loc { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("msg")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Msg { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Type { 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(); + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/DeepInfra.Polyfills.g.cs b/src/libs/DeepInfra/Generated/DeepInfra.Polyfills.g.cs new file mode 100644 index 0000000..d23d970 --- /dev/null +++ b/src/libs/DeepInfra/Generated/DeepInfra.Polyfills.g.cs @@ -0,0 +1,53 @@ + +#if !NET6_0_OR_GREATER +#nullable enable + +namespace DeepInfra +{ + /// + /// + /// + public static partial class OpenApiGeneratorPolyfills + { + /// + /// + /// + /// + /// + /// + public static global::System.Threading.Tasks.Task ReadAsStringAsync( + this global::System.Net.Http.HttpContent content, + global::System.Threading.CancellationToken cancellationToken) + { + content = content ?? throw new global::System.ArgumentNullException(nameof(content)); + return content.ReadAsStringAsync(); + } + /// + /// + /// + /// + /// + /// + public static global::System.Threading.Tasks.Task ReadAsStreamAsync( + this global::System.Net.Http.HttpContent content, + global::System.Threading.CancellationToken cancellationToken) + { + content = content ?? throw new global::System.ArgumentNullException(nameof(content)); + return content.ReadAsStreamAsync(); + } + /// + /// + /// + /// + /// + /// + public static global::System.Threading.Tasks.Task ReadAsByteArrayAsync( + this global::System.Net.Http.HttpContent content, + global::System.Threading.CancellationToken cancellationToken) + { + content = content ?? throw new global::System.ArgumentNullException(nameof(content)); + return content.ReadAsByteArrayAsync(); + } + } +} +#endif \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/JsonConverters.AllOf1.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.AllOf1.g.cs new file mode 100644 index 0000000..82ab708 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.AllOf1.g.cs @@ -0,0 +1,68 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public class AllOfJsonConverter : global::System.Text.Json.Serialization.JsonConverter> + { + /// + public override global::System.AllOf Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + options = options ?? throw new global::System.ArgumentNullException(nameof(options)); + var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set."); + + var + readerCopy = reader; + T1? value1 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + value1 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + var result = new global::System.AllOf( + value1 + ); + if (!result.Validate()) + { + throw new global::System.Text.Json.JsonException($"Invalid JSON format for AllOf<{typeof(T1).Name}>"); + } + + if (value1 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + return result; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::System.AllOf value, + global::System.Text.Json.JsonSerializerOptions options) + { + options = options ?? throw new global::System.ArgumentNullException(nameof(options)); + var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set."); + + if (!value.Validate()) + { + throw new global::System.Text.Json.JsonException($"Invalid AllOf<{typeof(T1).Name}> object."); + } + + if (value.IsValue1) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value1, typeInfo); + } + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/JsonConverters.AllOfFactory1.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.AllOfFactory1.g.cs new file mode 100644 index 0000000..a564b36 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.AllOfFactory1.g.cs @@ -0,0 +1,25 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class AllOfJsonConverterFactory1 : global::System.Text.Json.Serialization.JsonConverterFactory + { + /// + public override bool CanConvert(global::System.Type? typeToConvert) + { + return typeToConvert is { IsGenericType: true } && typeToConvert.GetGenericTypeDefinition() == typeof(global::System.AllOf<>); + } + + /// + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + typeToConvert = typeToConvert ?? throw new global::System.ArgumentNullException(nameof(typeToConvert)); + + return (global::System.Text.Json.Serialization.JsonConverter)global::System.Activator.CreateInstance( + typeof(AllOfJsonConverter<>).MakeGenericType(typeToConvert.GenericTypeArguments))!; + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.AnyOf2.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.AnyOf2.g.cs new file mode 100644 index 0000000..e97e327 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.AnyOf2.g.cs @@ -0,0 +1,96 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public class AnyOfJsonConverter : global::System.Text.Json.Serialization.JsonConverter> + { + /// + public override global::System.AnyOf Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + options = options ?? throw new global::System.ArgumentNullException(nameof(options)); + var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set."); + + var + readerCopy = reader; + T1? value1 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + value1 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + + readerCopy = reader; + T2? value2 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T2).Name}"); + value2 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + var result = new global::System.AnyOf( + value1, + + value2 + ); + if (!result.Validate()) + { + throw new global::System.Text.Json.JsonException($"Invalid JSON format for AnyOf<{typeof(T1).Name}, {typeof(T2).Name}>"); + } + + if (value1 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + + else if (value2 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T2).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + return result; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::System.AnyOf value, + global::System.Text.Json.JsonSerializerOptions options) + { + options = options ?? throw new global::System.ArgumentNullException(nameof(options)); + var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set."); + + if (!value.Validate()) + { + throw new global::System.Text.Json.JsonException($"Invalid AnyOf<{typeof(T1).Name}, {typeof(T2).Name}> object."); + } + + if (value.IsValue1) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value1, typeInfo); + } + + else if (value.IsValue2) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T2).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value2, typeInfo); + } + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/JsonConverters.AnyOf4.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.AnyOf4.g.cs new file mode 100644 index 0000000..f7c3869 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.AnyOf4.g.cs @@ -0,0 +1,152 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public class AnyOfJsonConverter : global::System.Text.Json.Serialization.JsonConverter> + { + /// + public override global::System.AnyOf Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + options = options ?? throw new global::System.ArgumentNullException(nameof(options)); + var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set."); + + var + readerCopy = reader; + T1? value1 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + value1 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + + readerCopy = reader; + T2? value2 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T2).Name}"); + value2 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + + readerCopy = reader; + T3? value3 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T3).Name}"); + value3 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + + readerCopy = reader; + T4? value4 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T4).Name}"); + value4 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + var result = new global::System.AnyOf( + value1, + + value2, + + value3, + + value4 + ); + if (!result.Validate()) + { + throw new global::System.Text.Json.JsonException($"Invalid JSON format for AnyOf<{typeof(T1).Name}, {typeof(T2).Name}, {typeof(T3).Name}, {typeof(T4).Name}>"); + } + + if (value1 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + + else if (value2 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T2).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + + else if (value3 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T3).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + + else if (value4 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T4).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + return result; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::System.AnyOf value, + global::System.Text.Json.JsonSerializerOptions options) + { + options = options ?? throw new global::System.ArgumentNullException(nameof(options)); + var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set."); + + if (!value.Validate()) + { + throw new global::System.Text.Json.JsonException($"Invalid AnyOf<{typeof(T1).Name}, {typeof(T2).Name}, {typeof(T3).Name}, {typeof(T4).Name}> object."); + } + + if (value.IsValue1) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value1, typeInfo); + } + + else if (value.IsValue2) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T2).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value2, typeInfo); + } + + else if (value.IsValue3) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T3).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value3, typeInfo); + } + + else if (value.IsValue4) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T4).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value4, typeInfo); + } + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/JsonConverters.AnyOf6.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.AnyOf6.g.cs new file mode 100644 index 0000000..811afa2 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.AnyOf6.g.cs @@ -0,0 +1,208 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public class AnyOfJsonConverter : global::System.Text.Json.Serialization.JsonConverter> + { + /// + public override global::System.AnyOf Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + options = options ?? throw new global::System.ArgumentNullException(nameof(options)); + var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set."); + + var + readerCopy = reader; + T1? value1 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + value1 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + + readerCopy = reader; + T2? value2 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T2).Name}"); + value2 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + + readerCopy = reader; + T3? value3 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T3).Name}"); + value3 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + + readerCopy = reader; + T4? value4 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T4).Name}"); + value4 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + + readerCopy = reader; + T5? value5 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T5), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T5).Name}"); + value5 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + + readerCopy = reader; + T6? value6 = default; + try + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T6), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T6).Name}"); + value6 = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, typeInfo); + } + catch (global::System.Text.Json.JsonException) + { + } + var result = new global::System.AnyOf( + value1, + + value2, + + value3, + + value4, + + value5, + + value6 + ); + if (!result.Validate()) + { + throw new global::System.Text.Json.JsonException($"Invalid JSON format for AnyOf<{typeof(T1).Name}, {typeof(T2).Name}, {typeof(T3).Name}, {typeof(T4).Name}, {typeof(T5).Name}, {typeof(T6).Name}>"); + } + + if (value1 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + + else if (value2 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T2).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + + else if (value3 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T3).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + + else if (value4 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T4).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + + else if (value5 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T5), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T5).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + + else if (value6 != null) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T6), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T6).Name}"); + _ = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); + } + return result; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::System.AnyOf value, + global::System.Text.Json.JsonSerializerOptions options) + { + options = options ?? throw new global::System.ArgumentNullException(nameof(options)); + var typeInfoResolver = options.TypeInfoResolver ?? throw new global::System.InvalidOperationException("TypeInfoResolver is not set."); + + if (!value.Validate()) + { + throw new global::System.Text.Json.JsonException($"Invalid AnyOf<{typeof(T1).Name}, {typeof(T2).Name}, {typeof(T3).Name}, {typeof(T4).Name}, {typeof(T5).Name}, {typeof(T6).Name}> object."); + } + + if (value.IsValue1) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T1).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value1, typeInfo); + } + + else if (value.IsValue2) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T2), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T2).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value2, typeInfo); + } + + else if (value.IsValue3) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T3), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T3).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value3, typeInfo); + } + + else if (value.IsValue4) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T4), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T4).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value4, typeInfo); + } + + else if (value.IsValue5) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T5), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T5).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value5, typeInfo); + } + + else if (value.IsValue6) + { + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(T6), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(T6).Name}"); + global::System.Text.Json.JsonSerializer.Serialize(writer, value.Value6, typeInfo); + } + } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory2.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory2.g.cs new file mode 100644 index 0000000..e3a7b3f --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory2.g.cs @@ -0,0 +1,25 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class AnyOfJsonConverterFactory2 : global::System.Text.Json.Serialization.JsonConverterFactory + { + /// + public override bool CanConvert(global::System.Type? typeToConvert) + { + return typeToConvert is { IsGenericType: true } && typeToConvert.GetGenericTypeDefinition() == typeof(global::System.AnyOf<,>); + } + + /// + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + typeToConvert = typeToConvert ?? throw new global::System.ArgumentNullException(nameof(typeToConvert)); + + return (global::System.Text.Json.Serialization.JsonConverter)global::System.Activator.CreateInstance( + typeof(AnyOfJsonConverter<,>).MakeGenericType(typeToConvert.GenericTypeArguments))!; + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory4.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory4.g.cs new file mode 100644 index 0000000..5d08838 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory4.g.cs @@ -0,0 +1,25 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class AnyOfJsonConverterFactory4 : global::System.Text.Json.Serialization.JsonConverterFactory + { + /// + public override bool CanConvert(global::System.Type? typeToConvert) + { + return typeToConvert is { IsGenericType: true } && typeToConvert.GetGenericTypeDefinition() == typeof(global::System.AnyOf<,,,>); + } + + /// + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + typeToConvert = typeToConvert ?? throw new global::System.ArgumentNullException(nameof(typeToConvert)); + + return (global::System.Text.Json.Serialization.JsonConverter)global::System.Activator.CreateInstance( + typeof(AnyOfJsonConverter<,,,>).MakeGenericType(typeToConvert.GenericTypeArguments))!; + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory6.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory6.g.cs new file mode 100644 index 0000000..cc4c15e --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.AnyOfFactory6.g.cs @@ -0,0 +1,25 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class AnyOfJsonConverterFactory6 : global::System.Text.Json.Serialization.JsonConverterFactory + { + /// + public override bool CanConvert(global::System.Type? typeToConvert) + { + return typeToConvert is { IsGenericType: true } && typeToConvert.GetGenericTypeDefinition() == typeof(global::System.AnyOf<,,,,,>); + } + + /// + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + typeToConvert = typeToConvert ?? throw new global::System.ArgumentNullException(nameof(typeToConvert)); + + return (global::System.Text.Json.Serialization.JsonConverter)global::System.Activator.CreateInstance( + typeof(AnyOfJsonConverter<,,,,,>).MakeGenericType(typeToConvert.GenericTypeArguments))!; + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionAssistantMessageRole.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionAssistantMessageRole.g.cs new file mode 100644 index 0000000..ffa48d0 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionAssistantMessageRole.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionAssistantMessageRoleJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionAssistantMessageRole 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::DeepInfra.ChatCompletionAssistantMessageRoleExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionAssistantMessageRole)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionAssistantMessageRole value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ChatCompletionAssistantMessageRoleExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionAssistantMessageRoleNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionAssistantMessageRoleNullable.g.cs new file mode 100644 index 0000000..894b185 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionAssistantMessageRoleNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionAssistantMessageRoleNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionAssistantMessageRole? 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::DeepInfra.ChatCompletionAssistantMessageRoleExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionAssistantMessageRole)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionAssistantMessageRole? 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::DeepInfra.ChatCompletionAssistantMessageRoleExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartImageType.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartImageType.g.cs new file mode 100644 index 0000000..2a2c9a8 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartImageType.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionContentPartImageTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionContentPartImageType 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::DeepInfra.ChatCompletionContentPartImageTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionContentPartImageType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionContentPartImageType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ChatCompletionContentPartImageTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartImageTypeNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartImageTypeNullable.g.cs new file mode 100644 index 0000000..6ac849d --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartImageTypeNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionContentPartImageTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionContentPartImageType? 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::DeepInfra.ChatCompletionContentPartImageTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionContentPartImageType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionContentPartImageType? 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::DeepInfra.ChatCompletionContentPartImageTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartTextType.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartTextType.g.cs new file mode 100644 index 0000000..0a909be --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartTextType.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionContentPartTextTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionContentPartTextType 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::DeepInfra.ChatCompletionContentPartTextTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionContentPartTextType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionContentPartTextType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ChatCompletionContentPartTextTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartTextTypeNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartTextTypeNullable.g.cs new file mode 100644 index 0000000..6877bfb --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionContentPartTextTypeNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionContentPartTextTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionContentPartTextType? 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::DeepInfra.ChatCompletionContentPartTextTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionContentPartTextType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionContentPartTextType? 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::DeepInfra.ChatCompletionContentPartTextTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionSystemMessageRole.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionSystemMessageRole.g.cs new file mode 100644 index 0000000..39bd183 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionSystemMessageRole.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionSystemMessageRoleJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionSystemMessageRole 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::DeepInfra.ChatCompletionSystemMessageRoleExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionSystemMessageRole)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionSystemMessageRole value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ChatCompletionSystemMessageRoleExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionSystemMessageRoleNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionSystemMessageRoleNullable.g.cs new file mode 100644 index 0000000..ec31c95 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionSystemMessageRoleNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionSystemMessageRoleNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionSystemMessageRole? 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::DeepInfra.ChatCompletionSystemMessageRoleExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionSystemMessageRole)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionSystemMessageRole? 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::DeepInfra.ChatCompletionSystemMessageRoleExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionToolMessageRole.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionToolMessageRole.g.cs new file mode 100644 index 0000000..e48cb49 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionToolMessageRole.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionToolMessageRoleJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionToolMessageRole 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::DeepInfra.ChatCompletionToolMessageRoleExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionToolMessageRole)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionToolMessageRole value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ChatCompletionToolMessageRoleExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionToolMessageRoleNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionToolMessageRoleNullable.g.cs new file mode 100644 index 0000000..f3bf8b4 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionToolMessageRoleNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionToolMessageRoleNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionToolMessageRole? 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::DeepInfra.ChatCompletionToolMessageRoleExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionToolMessageRole)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionToolMessageRole? 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::DeepInfra.ChatCompletionToolMessageRoleExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionUserMessageRole.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionUserMessageRole.g.cs new file mode 100644 index 0000000..ae63cc2 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionUserMessageRole.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionUserMessageRoleJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionUserMessageRole 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::DeepInfra.ChatCompletionUserMessageRoleExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionUserMessageRole)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionUserMessageRole value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ChatCompletionUserMessageRoleExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionUserMessageRoleNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionUserMessageRoleNullable.g.cs new file mode 100644 index 0000000..74d06f1 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ChatCompletionUserMessageRoleNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ChatCompletionUserMessageRoleNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ChatCompletionUserMessageRole? 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::DeepInfra.ChatCompletionUserMessageRoleExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ChatCompletionUserMessageRole)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ChatCompletionUserMessageRole? 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::DeepInfra.ChatCompletionUserMessageRoleExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployGPUs.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployGPUs.g.cs new file mode 100644 index 0000000..3220b85 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployGPUs.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployGPUsJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployGPUs 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::DeepInfra.DeployGPUsExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployGPUs)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployGPUs value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.DeployGPUsExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployGPUsNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployGPUsNullable.g.cs new file mode 100644 index 0000000..be18135 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployGPUsNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployGPUsNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployGPUs? 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::DeepInfra.DeployGPUsExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployGPUs)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployGPUs? 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::DeepInfra.DeployGPUsExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMConfigGpu.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMConfigGpu.g.cs new file mode 100644 index 0000000..b6b798d --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMConfigGpu.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployLLMConfigGpuJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployLLMConfigGpu 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::DeepInfra.DeployLLMConfigGpuExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployLLMConfigGpu)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployLLMConfigGpu value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.DeployLLMConfigGpuExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMConfigGpuNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMConfigGpuNullable.g.cs new file mode 100644 index 0000000..db31444 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMConfigGpuNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployLLMConfigGpuNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployLLMConfigGpu? 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::DeepInfra.DeployLLMConfigGpuExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployLLMConfigGpu)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployLLMConfigGpu? 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::DeepInfra.DeployLLMConfigGpuExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMInGpu.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMInGpu.g.cs new file mode 100644 index 0000000..a7daba3 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMInGpu.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployLLMInGpuJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployLLMInGpu 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::DeepInfra.DeployLLMInGpuExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployLLMInGpu)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployLLMInGpu value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.DeployLLMInGpuExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMInGpuNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMInGpuNullable.g.cs new file mode 100644 index 0000000..392a620 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployLLMInGpuNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployLLMInGpuNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployLLMInGpu? 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::DeepInfra.DeployLLMInGpuExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployLLMInGpu)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployLLMInGpu? 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::DeepInfra.DeployLLMInGpuExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployModelInProvider.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployModelInProvider.g.cs new file mode 100644 index 0000000..cbe10d2 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployModelInProvider.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployModelInProviderJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployModelInProvider 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::DeepInfra.DeployModelInProviderExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployModelInProvider)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployModelInProvider value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.DeployModelInProviderExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployModelInProviderNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployModelInProviderNullable.g.cs new file mode 100644 index 0000000..b6566df --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployModelInProviderNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployModelInProviderNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployModelInProvider? 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::DeepInfra.DeployModelInProviderExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployModelInProvider)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployModelInProvider? 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::DeepInfra.DeployModelInProviderExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployType.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployType.g.cs new file mode 100644 index 0000000..c177492 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployType.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployType 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::DeepInfra.DeployTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.DeployTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeployTypeNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeployTypeNullable.g.cs new file mode 100644 index 0000000..3e1d0d5 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeployTypeNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeployTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeployType? 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::DeepInfra.DeployTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeployType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeployType? 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::DeepInfra.DeployTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeploymentOutType.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeploymentOutType.g.cs new file mode 100644 index 0000000..ce850c5 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeploymentOutType.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeploymentOutTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeploymentOutType 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::DeepInfra.DeploymentOutTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeploymentOutType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeploymentOutType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.DeploymentOutTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.DeploymentOutTypeNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.DeploymentOutTypeNullable.g.cs new file mode 100644 index 0000000..c1fcc79 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.DeploymentOutTypeNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class DeploymentOutTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.DeploymentOutType? 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::DeepInfra.DeploymentOutTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.DeploymentOutType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.DeploymentOutType? 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::DeepInfra.DeploymentOutTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.HFTasksE.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.HFTasksE.g.cs new file mode 100644 index 0000000..279e1ae --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.HFTasksE.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class HFTasksEJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.HFTasksE 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::DeepInfra.HFTasksEExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.HFTasksE)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.HFTasksE value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.HFTasksEExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.HFTasksENullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.HFTasksENullable.g.cs new file mode 100644 index 0000000..55e81fd --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.HFTasksENullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class HFTasksENullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.HFTasksE? 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::DeepInfra.HFTasksEExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.HFTasksE)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.HFTasksE? 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::DeepInfra.HFTasksEExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ImageURLDetail.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ImageURLDetail.g.cs new file mode 100644 index 0000000..eaa3213 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ImageURLDetail.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ImageURLDetailJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ImageURLDetail 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::DeepInfra.ImageURLDetailExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ImageURLDetail)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ImageURLDetail value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ImageURLDetailExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ImageURLDetailNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ImageURLDetailNullable.g.cs new file mode 100644 index 0000000..ed0a3b2 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ImageURLDetailNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ImageURLDetailNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ImageURLDetail? 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::DeepInfra.ImageURLDetailExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ImageURLDetail)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ImageURLDetail? 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::DeepInfra.ImageURLDetailExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ModelDocBlockKey.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ModelDocBlockKey.g.cs new file mode 100644 index 0000000..4ff8546 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ModelDocBlockKey.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ModelDocBlockKeyJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ModelDocBlockKey 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::DeepInfra.ModelDocBlockKeyExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ModelDocBlockKey)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ModelDocBlockKey value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ModelDocBlockKeyExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ModelDocBlockKeyNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ModelDocBlockKeyNullable.g.cs new file mode 100644 index 0000000..33dbd59 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ModelDocBlockKeyNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ModelDocBlockKeyNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ModelDocBlockKey? 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::DeepInfra.ModelDocBlockKeyExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ModelDocBlockKey)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ModelDocBlockKey? 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::DeepInfra.ModelDocBlockKeyExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ModelMetaInReportedType.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ModelMetaInReportedType.g.cs new file mode 100644 index 0000000..14c5efe --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ModelMetaInReportedType.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ModelMetaInReportedTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ModelMetaInReportedType 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::DeepInfra.ModelMetaInReportedTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ModelMetaInReportedType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ModelMetaInReportedType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ModelMetaInReportedTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ModelMetaInReportedTypeNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ModelMetaInReportedTypeNullable.g.cs new file mode 100644 index 0000000..a4961bb --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ModelMetaInReportedTypeNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ModelMetaInReportedTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ModelMetaInReportedType? 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::DeepInfra.ModelMetaInReportedTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ModelMetaInReportedType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ModelMetaInReportedType? 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::DeepInfra.ModelMetaInReportedTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ModelProvider.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ModelProvider.g.cs new file mode 100644 index 0000000..6a44685 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ModelProvider.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ModelProviderJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ModelProvider 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::DeepInfra.ModelProviderExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ModelProvider)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ModelProvider value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ModelProviderExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ModelProviderNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ModelProviderNullable.g.cs new file mode 100644 index 0000000..54bd0d8 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ModelProviderNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ModelProviderNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ModelProvider? 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::DeepInfra.ModelProviderExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ModelProvider)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ModelProvider? 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::DeepInfra.ModelProviderExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.g.cs new file mode 100644 index 0000000..7b88e87 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey 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::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyNullable.g.cs new file mode 100644 index 0000000..c8a68fb --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey? 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::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKey? 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::DeepInfra.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.OpenAIEmbeddingsInEncodingFormat.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.OpenAIEmbeddingsInEncodingFormat.g.cs new file mode 100644 index 0000000..2a5dd47 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.OpenAIEmbeddingsInEncodingFormat.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class OpenAIEmbeddingsInEncodingFormatJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.OpenAIEmbeddingsInEncodingFormat 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::DeepInfra.OpenAIEmbeddingsInEncodingFormatExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.OpenAIEmbeddingsInEncodingFormat)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.OpenAIEmbeddingsInEncodingFormat value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.OpenAIEmbeddingsInEncodingFormatExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.OpenAIEmbeddingsInEncodingFormatNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.OpenAIEmbeddingsInEncodingFormatNullable.g.cs new file mode 100644 index 0000000..6cc378c --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.OpenAIEmbeddingsInEncodingFormatNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class OpenAIEmbeddingsInEncodingFormatNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.OpenAIEmbeddingsInEncodingFormat? 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::DeepInfra.OpenAIEmbeddingsInEncodingFormatExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.OpenAIEmbeddingsInEncodingFormat)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.OpenAIEmbeddingsInEncodingFormat? 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::DeepInfra.OpenAIEmbeddingsInEncodingFormatExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInResponseFormat.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInResponseFormat.g.cs new file mode 100644 index 0000000..9d2dec7 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInResponseFormat.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class OpenAITextToSpeechInResponseFormatJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.OpenAITextToSpeechInResponseFormat 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::DeepInfra.OpenAITextToSpeechInResponseFormatExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.OpenAITextToSpeechInResponseFormat)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.OpenAITextToSpeechInResponseFormat value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.OpenAITextToSpeechInResponseFormatExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInResponseFormatNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInResponseFormatNullable.g.cs new file mode 100644 index 0000000..61d6878 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInResponseFormatNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class OpenAITextToSpeechInResponseFormatNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.OpenAITextToSpeechInResponseFormat? 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::DeepInfra.OpenAITextToSpeechInResponseFormatExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.OpenAITextToSpeechInResponseFormat)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.OpenAITextToSpeechInResponseFormat? 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::DeepInfra.OpenAITextToSpeechInResponseFormatExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInVoice.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInVoice.g.cs new file mode 100644 index 0000000..a0543ce --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInVoice.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class OpenAITextToSpeechInVoiceJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.OpenAITextToSpeechInVoice 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::DeepInfra.OpenAITextToSpeechInVoiceExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.OpenAITextToSpeechInVoice)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.OpenAITextToSpeechInVoice value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.OpenAITextToSpeechInVoiceExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInVoiceNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInVoiceNullable.g.cs new file mode 100644 index 0000000..4e2a800 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.OpenAITextToSpeechInVoiceNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class OpenAITextToSpeechInVoiceNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.OpenAITextToSpeechInVoice? 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::DeepInfra.OpenAITextToSpeechInVoiceExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.OpenAITextToSpeechInVoice)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.OpenAITextToSpeechInVoice? 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::DeepInfra.OpenAITextToSpeechInVoiceExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ResponseFormatType.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ResponseFormatType.g.cs new file mode 100644 index 0000000..c6f968a --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ResponseFormatType.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ResponseFormatTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ResponseFormatType 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::DeepInfra.ResponseFormatTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ResponseFormatType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ResponseFormatType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.ResponseFormatTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.ResponseFormatTypeNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.ResponseFormatTypeNullable.g.cs new file mode 100644 index 0000000..12f5a60 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.ResponseFormatTypeNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class ResponseFormatTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.ResponseFormatType? 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::DeepInfra.ResponseFormatTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.ResponseFormatType)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.ResponseFormatType? 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::DeepInfra.ResponseFormatTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.SchemaVariantKey.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.SchemaVariantKey.g.cs new file mode 100644 index 0000000..a7a4486 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.SchemaVariantKey.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class SchemaVariantKeyJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.SchemaVariantKey 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::DeepInfra.SchemaVariantKeyExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.SchemaVariantKey)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.SchemaVariantKey value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.SchemaVariantKeyExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.SchemaVariantKeyNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.SchemaVariantKeyNullable.g.cs new file mode 100644 index 0000000..446a6a0 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.SchemaVariantKeyNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class SchemaVariantKeyNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.SchemaVariantKey? 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::DeepInfra.SchemaVariantKeyExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.SchemaVariantKey)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.SchemaVariantKey? 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::DeepInfra.SchemaVariantKeyExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.SuspendReason.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.SuspendReason.g.cs new file mode 100644 index 0000000..1c32e52 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.SuspendReason.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class SuspendReasonJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.SuspendReason 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::DeepInfra.SuspendReasonExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.SuspendReason)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.SuspendReason value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.SuspendReasonExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.SuspendReasonNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.SuspendReasonNullable.g.cs new file mode 100644 index 0000000..169a5bd --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.SuspendReasonNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class SuspendReasonNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.SuspendReason? 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::DeepInfra.SuspendReasonExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.SuspendReason)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.SuspendReason? 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::DeepInfra.SuspendReasonExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.TtsResponseFormat.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.TtsResponseFormat.g.cs new file mode 100644 index 0000000..0070292 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.TtsResponseFormat.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class TtsResponseFormatJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.TtsResponseFormat 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::DeepInfra.TtsResponseFormatExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.TtsResponseFormat)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.TtsResponseFormat value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.TtsResponseFormatExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.TtsResponseFormatNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.TtsResponseFormatNullable.g.cs new file mode 100644 index 0000000..c0baec2 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.TtsResponseFormatNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class TtsResponseFormatNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.TtsResponseFormat? 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::DeepInfra.TtsResponseFormatExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.TtsResponseFormat)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.TtsResponseFormat? 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::DeepInfra.TtsResponseFormatExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.TtsVoice.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.TtsVoice.g.cs new file mode 100644 index 0000000..719c49f --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.TtsVoice.g.cs @@ -0,0 +1,49 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class TtsVoiceJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.TtsVoice 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::DeepInfra.TtsVoiceExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.TtsVoice)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.TtsVoice value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::DeepInfra.TtsVoiceExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonConverters.TtsVoiceNullable.g.cs b/src/libs/DeepInfra/Generated/JsonConverters.TtsVoiceNullable.g.cs new file mode 100644 index 0000000..dcdabaa --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonConverters.TtsVoiceNullable.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace OpenApiGenerator.JsonConverters +{ + /// + public sealed class TtsVoiceNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::DeepInfra.TtsVoice? 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::DeepInfra.TtsVoiceExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::DeepInfra.TtsVoice)numValue; + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::DeepInfra.TtsVoice? 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::DeepInfra.TtsVoiceExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/DeepInfra/Generated/JsonSerializerContext.g.cs b/src/libs/DeepInfra/Generated/JsonSerializerContext.g.cs new file mode 100644 index 0000000..10a637a --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonSerializerContext.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace DeepInfra +{ + [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + Converters = new global::System.Type[] + { + typeof(global::OpenApiGenerator.JsonConverters.SuspendReasonJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.SuspendReasonNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionAssistantMessageRoleJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionAssistantMessageRoleNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionContentPartImageTypeJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionContentPartImageTypeNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionContentPartTextTypeJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionContentPartTextTypeNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionSystemMessageRoleJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionSystemMessageRoleNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionToolMessageRoleJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionToolMessageRoleNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionUserMessageRoleJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ChatCompletionUserMessageRoleNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployGPUsJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployGPUsNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployLLMConfigGpuJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployLLMConfigGpuNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployLLMInGpuJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployLLMInGpuNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployModelInProviderJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployModelInProviderNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployTypeJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeployTypeNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeploymentOutTypeJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.DeploymentOutTypeNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.HFTasksEJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.HFTasksENullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ImageURLDetailJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ImageURLDetailNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ModelDocBlockKeyJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ModelDocBlockKeyNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ModelMetaInReportedTypeJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ModelMetaInReportedTypeNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ModelProviderJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ModelProviderNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.OpenAIEmbeddingsInEncodingFormatJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.OpenAIEmbeddingsInEncodingFormatNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.OpenAITextToSpeechInVoiceJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.OpenAITextToSpeechInVoiceNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.OpenAITextToSpeechInResponseFormatJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.OpenAITextToSpeechInResponseFormatNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ResponseFormatTypeJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ResponseFormatTypeNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.SchemaVariantKeyJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.SchemaVariantKeyNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.TtsResponseFormatJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.TtsResponseFormatNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.TtsVoiceJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.TtsVoiceNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.ModelSchemaModelsModelNameSchemaVariantKeyGetVariantKeyNullableJsonConverter), + typeof(global::OpenApiGenerator.JsonConverters.AnyOfJsonConverterFactory2), + typeof(global::OpenApiGenerator.JsonConverters.AnyOfJsonConverterFactory6), + typeof(global::OpenApiGenerator.JsonConverters.AnyOfJsonConverterFactory4), + typeof(global::OpenApiGenerator.JsonConverters.AllOfJsonConverterFactory1), + })] + + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::DeepInfra.JsonSerializerContextTypes))] + internal sealed partial class SourceGenerationContext : global::System.Text.Json.Serialization.JsonSerializerContext + { + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/Generated/JsonSerializerContextTypes.g.cs b/src/libs/DeepInfra/Generated/JsonSerializerContextTypes.g.cs new file mode 100644 index 0000000..49c9367 --- /dev/null +++ b/src/libs/DeepInfra/Generated/JsonSerializerContextTypes.g.cs @@ -0,0 +1,434 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete + +namespace DeepInfra +{ + /// + /// + /// + public sealed partial class JsonSerializerContextTypes + { + /// + /// + /// + public string? Type0 { get; set; } + /// + /// + /// + public bool? Type1 { get; set; } + /// + /// + /// + public double? Type2 { get; set; } + /// + /// + /// + public int? Type3 { get; set; } + /// + /// + /// + public global::DeepInfra.SuspendReason? Type4 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type5 { get; set; } + /// + /// + /// + public global::DeepInfra.ModelMeta? Type6 { get; set; } + /// + /// + /// + public global::System.AllOf? Type7 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type8 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type9 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList>? Type10 { get; set; } + /// + /// + /// + public global::DeepInfra.ChatCompletionAssistantMessageRole? Type11 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type12 { get; set; } + /// + /// + /// + public global::DeepInfra.ChatCompletionContentPartImageType? Type13 { get; set; } + /// + /// + /// + public global::DeepInfra.ImageURL? Type14 { get; set; } + /// + /// + /// + public global::DeepInfra.ChatCompletionContentPartTextType? Type15 { get; set; } + /// + /// + /// + public global::System.AllOf? Type16 { get; set; } + /// + /// + /// + public global::DeepInfra.ChatCompletionSystemMessageRole? Type17 { get; set; } + /// + /// + /// + public global::DeepInfra.ChatCompletionToolMessageRole? Type18 { get; set; } + /// + /// + /// + public global::DeepInfra.ChatCompletionUserMessageRole? Type19 { get; set; } + /// + /// + /// + public global::System.AnyOf>>? Type20 { get; set; } + /// + /// + /// + public global::DeepInfra.FunctionDefinition? Type21 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type22 { get; set; } + /// + /// + /// + public global::System.AllOf? Type23 { get; set; } + /// + /// + /// + public global::System.AllOf? Type24 { get; set; } + /// + /// + /// + public global::DeepInfra.HFWeights? Type25 { get; set; } + /// + /// + /// + public global::DeepInfra.ScaleSettings? Type26 { get; set; } + /// + /// + /// + public global::System.AllOf? Type27 { get; set; } + /// + /// + /// + public object? Type28 { get; set; } + /// + /// + /// + public global::System.AllOf? Type29 { get; set; } + /// + /// + /// + public global::System.DateTime? Type30 { get; set; } + /// + /// + /// + public global::System.AllOf? Type31 { get; set; } + /// + /// + /// + public global::System.AllOf? Type32 { get; set; } + /// + /// + /// + public global::System.AllOf? Type33 { get; set; } + /// + /// + /// + public global::System.AllOf? Type34 { get; set; } + /// + /// + /// + public global::System.AllOf? Type35 { get; set; } + /// + /// + /// + public global::System.AllOf? Type36 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type37 { get; set; } + /// + /// + /// + public global::DeepInfra.ImageURLDetail? Type38 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList?>? Type39 { get; set; } + /// + /// + /// + public global::DeepInfra.ModelDocBlockKey? Type40 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type41 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type42 { get; set; } + /// + /// + /// + public global::System.AnyOf? Type43 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type44 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type45 { get; set; } + /// + /// + /// + public global::System.AllOf? Type46 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type47 { get; set; } + /// + /// + /// + public global::System.AnyOf? Type48 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList>? Type49 { get; set; } + /// + /// + /// + public global::System.AnyOf?>? Type50 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type51 { get; set; } + /// + /// + /// + public global::System.AllOf? Type52 { get; set; } + /// + /// + /// + public global::System.AnyOf, string>? Type53 { get; set; } + /// + /// + /// + public global::DeepInfra.OpenAIEmbeddingsInEncodingFormat? Type54 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type55 { get; set; } + /// + /// + /// + public global::System.AllOf? Type56 { get; set; } + /// + /// + /// + public global::System.AllOf? Type57 { get; set; } + /// + /// + /// + public global::DeepInfra.ResponseFormatType? Type58 { get; set; } + /// + /// + /// + public global::DeepInfra.SchemaVariant? Type59 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type60 { get; set; } + /// + /// + /// + public global::DeepInfra.SchemaVariantKey? Type61 { get; set; } + /// + /// + /// + public global::DeepInfra.HTTPValidationError? Type62 { get; set; } + /// + /// + /// + public global::DeepInfra.Me? Type63 { get; set; } + /// + /// + /// + public global::DeepInfra.MeIn? Type64 { get; set; } + /// + /// + /// + public global::DeepInfra.DeepError? Type65 { get; set; } + /// + /// + /// + public global::DeepInfra.EmailsOut? Type66 { get; set; } + /// + /// + /// + public global::DeepInfra.RateLimitOut? Type67 { get; set; } + /// + /// + /// + public global::DeepInfra.RateLimitRequestIn? Type68 { get; set; } + /// + /// + /// + public global::DeepInfra.DeployModelIn? Type69 { get; set; } + /// + /// + /// + public global::DeepInfra.DeployResult? Type70 { get; set; } + /// + /// + /// + public global::DeepInfra.HFModel? Type71 { get; set; } + /// + /// + /// + public global::DeepInfra.DeployGPUAvailability? Type72 { get; set; } + /// + /// + /// + public global::DeepInfra.DeployLLMIn? Type73 { get; set; } + /// + /// + /// + public global::DeepInfra.DeploymentOut? Type74 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type75 { get; set; } + /// + /// + /// + public global::DeepInfra.DeployLLMUpdateIn? Type76 { get; set; } + /// + /// + /// + public global::DeepInfra.DeployStatusOut? Type77 { get; set; } + /// + /// + /// + public global::DeepInfra.DeployDelete? Type78 { get; set; } + /// + /// + /// + public global::DeepInfra.DeploymentStatsOut? Type79 { get; set; } + /// + /// + /// + public global::DeepInfra.DetailedDeploymentStatsOut? Type80 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type81 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type82 { get; set; } + /// + /// + /// + public global::DeepInfra.ModelPublicityIn? Type83 { get; set; } + /// + /// + /// + public global::DeepInfra.ModelMetaIn? Type84 { get; set; } + /// + /// + /// + public global::DeepInfra.ModelInfoOut? Type85 { get; set; } + /// + /// + /// + public global::DeepInfra.SchemaOut? Type86 { get; set; } + /// + /// + /// + public global::DeepInfra.OpenAICompletionsIn? Type87 { get; set; } + /// + /// + /// + public global::DeepInfra.OpenAIChatCompletionsIn? Type88 { get; set; } + /// + /// + /// + public global::DeepInfra.OpenAIEmbeddingsIn? Type89 { get; set; } + /// + /// + /// + public global::DeepInfra.OpenAIModelsOut? Type90 { get; set; } + /// + /// + /// + public global::DeepInfra.FeedbackIn? Type91 { get; set; } + /// + /// + /// + public global::DeepInfra.OpenAITextToSpeechIn? Type92 { get; set; } + /// + /// + /// + public global::DeepInfra.LogQueryOut? Type93 { get; set; } + /// + /// + /// + public global::DeepInfra.DeploymentLogQueryOut? Type94 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type95 { get; set; } + /// + /// + /// + public global::DeepInfra.ApiTokenIn? Type96 { get; set; } + /// + /// + /// + public global::DeepInfra.ApiToken? Type97 { get; set; } + /// + /// + /// + public global::DeepInfra.Checklist? Type98 { get; set; } + /// + /// + /// + public global::DeepInfra.ConfigOut? Type99 { get; set; } + /// + /// + /// + public global::DeepInfra.ConfigIn? Type100 { get; set; } + /// + /// + /// + public global::DeepInfra.BillingPortalOut? Type101 { get; set; } + /// + /// + /// + public global::DeepInfra.UsageOut? Type102 { get; set; } + /// + /// + /// + public global::DeepInfra.DeepStartApplicationIn? Type103 { get; set; } + /// + /// + /// + public global::DeepInfra.DeepStartApplicationOut? Type104 { get; set; } + } +} \ No newline at end of file diff --git a/src/libs/DeepInfra/JsonSerializerContextTypes.AdditionalTypes.cs b/src/libs/DeepInfra/JsonSerializerContextTypes.AdditionalTypes.cs new file mode 100644 index 0000000..f696408 --- /dev/null +++ b/src/libs/DeepInfra/JsonSerializerContextTypes.AdditionalTypes.cs @@ -0,0 +1,3 @@ +namespace DeepInfra; + +public sealed partial class JsonSerializerContextTypes; \ No newline at end of file diff --git a/src/libs/DeepInfra/generate.sh b/src/libs/DeepInfra/generate.sh new file mode 100755 index 0000000..d4b8e08 --- /dev/null +++ b/src/libs/DeepInfra/generate.sh @@ -0,0 +1,13 @@ +dotnet tool install --global openapigenerator.cli --prerelease +curl -o openapi.yaml https://api.deepinfra.com/openapi.json +dotnet run --project ../../helpers/FixOpenApiSpec openapi.yaml +if [ $? -ne 0 ]; then + echo "Failed, exiting..." + exit 1 +fi +rm -rf Generated +oag generate openapi.yaml \ + --namespace DeepInfra \ + --clientClassName DeepInfraApi \ + --targetFramework net8.0 \ + --output Generated \ No newline at end of file diff --git a/src/libs/DeepInfra/openapi.yaml b/src/libs/DeepInfra/openapi.yaml new file mode 100644 index 0000000..6cbdab1 --- /dev/null +++ b/src/libs/DeepInfra/openapi.yaml @@ -0,0 +1,3713 @@ +openapi: 3.0.1 +info: + title: DeepApi + version: 0.1.0 +paths: + /cli/version: + get: + summary: Cli Version + operationId: cli_version_cli_version_get + parameters: + - name: version + in: query + required: true + schema: + title: Version + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/me: + get: + summary: Me + operationId: me_v1_me_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Me' + security: + - HTTPBearer: [ ] + delete: + summary: Delete Account + operationId: delete_account_v1_me_delete + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Me' + security: + - HTTPBearer: [ ] + patch: + summary: Account Update Details + operationId: account_update_details_v1_me_patch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MeIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Unprocessable Entity + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + security: + - HTTPBearer: [ ] + /v1/me/emails: + get: + summary: Account Email Values + operationId: account_email_values_v1_me_emails_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EmailsOut' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + security: + - HTTPBearer: [ ] + /v1/me/rate_limit: + get: + summary: Account Rate Limit + operationId: account_rate_limit_v1_me_rate_limit_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitOut' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + security: + - HTTPBearer: [ ] + /v1/me/rate_limit/request: + post: + summary: Request Rate Limit Increase + operationId: request_rate_limit_increase_v1_me_rate_limit_request_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitRequestIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /v1/deploy: + post: + summary: Deploy Create + operationId: deploy_create_v1_deploy_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeployModelIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeployResult' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '423': + description: Locked + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /deploy/hf/: + post: + summary: Deploy Create Hf + operationId: deploy_create_hf_deploy_hf__post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HFModel' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeployResult' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '423': + description: Locked + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /deploy/llm/gpu_availability: + get: + summary: Deploy Gpu Availability + operationId: deploy_gpu_availability_deploy_llm_gpu_availability_get + parameters: + - name: source + in: query + schema: + title: Source + type: string + default: '' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeployGPUAvailability' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /deploy/llm: + post: + summary: Deploy Create Llm + operationId: deploy_create_llm_deploy_llm_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeployLLMIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeploymentOut' + '402': + description: Payment Required + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Unprocessable Entity + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + security: + - HTTPBearer: [ ] + /deploy/list/: + get: + summary: Deploy List + operationId: deploy_list_deploy_list__get + parameters: + - name: status + in: query + description: 'A list of statuses that should be returned, separated by comma. Allowed values in the list are: initializing,deploying,running,failed,deleted' + schema: + title: Status + type: string + description: 'A list of statuses that should be returned, separated by comma. Allowed values in the list are: initializing,deploying,running,failed,deleted' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + title: Response Deploy List Deploy List Get + type: array + items: + $ref: '#/components/schemas/DeploymentOut' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + deprecated: true + security: + - HTTPBearer: [ ] + /deploy/list: + get: + summary: Deploy List + operationId: deploy_list_deploy_list_get + parameters: + - name: status + in: query + description: 'A list of statuses that should be returned, separated by comma. Allowed values in the list are: initializing,deploying,running,failed,deleted' + schema: + title: Status + type: string + description: 'A list of statuses that should be returned, separated by comma. Allowed values in the list are: initializing,deploying,running,failed,deleted' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + title: Response Deploy List Deploy List Get + type: array + items: + $ref: '#/components/schemas/DeploymentOut' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + '/deploy/{deploy_id}': + get: + summary: Deploy Status + operationId: deploy_status_deploy__deploy_id__get + parameters: + - name: deploy_id + in: path + required: true + schema: + title: Deploy Id + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeploymentOut' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + put: + summary: Deploy Update + operationId: deploy_update_deploy__deploy_id__put + parameters: + - name: deploy_id + in: path + required: true + schema: + title: Deploy Id + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeployLLMUpdateIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeployStatusOut' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + delete: + summary: Deploy Delete + operationId: deploy_delete_deploy__deploy_id__delete + parameters: + - name: deploy_id + in: path + required: true + schema: + title: Deploy Id + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeployDelete' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + '/deploy/{deploy_id}/stats': + get: + summary: Deploy Stats + operationId: deploy_stats_deploy__deploy_id__stats_get + parameters: + - name: deploy_id + in: path + required: true + schema: + title: Deploy Id + type: string + - name: from + in: query + description: 'start of period, unix ts or ''now-5h'', supported units s(ec), m(min), h(our), d(ay), w(eek), M(onth)' + required: true + schema: + title: From + type: string + description: 'start of period, unix ts or ''now-5h'', supported units s(ec), m(min), h(our), d(ay), w(eek), M(onth)' + - name: to + in: query + description: 'end of period, unix ts or now-relative, check from, defaults to now' + schema: + title: To + type: string + description: 'end of period, unix ts or now-relative, check from, defaults to now' + default: now + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeploymentStatsOut' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '410': + description: Gone + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + '/deploy/{deploy_id}/stats2': + get: + summary: Deploy Detailed Stats + operationId: deploy_detailed_stats_deploy__deploy_id__stats2_get + parameters: + - name: deploy_id + in: path + required: true + schema: + title: Deploy Id + type: string + - name: from + in: query + description: 'start of period, unix ts or ''now-5h'', supported units s, m, h, d, w' + required: true + schema: + title: From + type: string + description: 'start of period, unix ts or ''now-5h'', supported units s, m, h, d, w' + - name: to + in: query + description: 'end of period, unix ts or now-relative, check from, defaults to now' + schema: + title: To + type: string + description: 'end of period, unix ts or now-relative, check from, defaults to now' + default: now + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DetailedDeploymentStatsOut' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '410': + description: Gone + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /models/private/list: + get: + summary: Private Models List + operationId: private_models_list_models_private_list_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + title: Response Private Models List Models Private List Get + type: array + items: + $ref: '#/components/schemas/ModelOut' + security: + - HTTPBearer: [ ] + /models/list: + get: + summary: Models List + operationId: models_list_models_list_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + title: Response Models List Models List Get + type: array + items: + $ref: '#/components/schemas/ModelOut' + '/models/{model_name}/versions': + get: + summary: Model Versions + operationId: model_versions_models__model_name__versions_get + parameters: + - name: model_name + in: path + required: true + schema: + title: Model Name + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + title: Response Model Versions Models Model Name Versions Get + type: array + items: + $ref: '#/components/schemas/ModelVersionOut' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + '/models/{model_name}/publicity': + post: + summary: Model Publicity + operationId: model_publicity_models__model_name__publicity_post + parameters: + - name: model_name + in: path + required: true + schema: + title: Model Name + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelPublicityIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + '/models/{model_name}/meta': + post: + summary: Model Meta Update + operationId: model_meta_update_models__model_name__meta_post + parameters: + - name: model_name + in: path + required: true + schema: + title: Model Name + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelMetaIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + '/models/{model_name}': + get: + summary: Models Info + operationId: models_info_models__model_name__get + parameters: + - name: model_name + in: path + required: true + schema: + title: Model Name + type: string + - name: version + in: query + schema: + title: Version + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ModelInfoOut' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + delete: + summary: Model Delete + operationId: model_delete_models__model_name__delete + parameters: + - name: model_name + in: path + required: true + schema: + title: Model Name + type: string + - name: version + in: query + description: 'delete a particular version, pass ''ALL'' to wipe everything' + required: true + schema: + title: Version + type: string + description: 'delete a particular version, pass ''ALL'' to wipe everything' + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /models/featured: + get: + summary: Models Featured + operationId: models_featured_models_featured_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + title: Response Models Featured Models Featured Get + type: array + items: + $ref: '#/components/schemas/ModelOut' + '/models/{model_name}/schema/{variantKey}': + get: + summary: Model Schema + operationId: model_schema_models__model_name__schema__variantKey__get + parameters: + - name: model_name + in: path + required: true + schema: + title: Model Name + type: string + - name: variantKey + in: path + required: true + schema: + $ref: '#/components/schemas/SchemaVariantKey' + - name: version + in: query + schema: + title: Version + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SchemaOut' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '423': + description: Locked + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + '/v1/inference/deploy/{deploy_id}': + post: + summary: Inference Deploy + operationId: inference_deploy_v1_inference_deploy__deploy_id__post + parameters: + - name: deploy_id + in: path + required: true + schema: + title: Deploy Id + type: string + - name: x-deepinfra-source + in: header + schema: + title: X-Deepinfra-Source + type: string + - name: user-agent + in: header + schema: + title: User-Agent + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + '/v1/inference/{model_name}': + post: + summary: Inference Model + operationId: inference_model_v1_inference__model_name__post + parameters: + - name: model_name + in: path + required: true + schema: + title: Model Name + type: string + - name: version + in: query + description: model version to run inference against + schema: + title: Version + type: string + description: model version to run inference against + - name: x-deepinfra-source + in: header + schema: + title: X-Deepinfra-Source + type: string + - name: user-agent + in: header + schema: + title: User-Agent + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '423': + description: Locked + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /v1/openai/completions: + post: + summary: Openai Completions + operationId: openai_completions_v1_openai_completions_post + parameters: + - name: x-deepinfra-source + in: header + schema: + title: X-Deepinfra-Source + type: string + - name: user-agent + in: header + schema: + title: User-Agent + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpenAICompletionsIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /v1/openai/chat/completions: + post: + summary: Openai Chat Completions + operationId: openai_chat_completions_v1_openai_chat_completions_post + parameters: + - name: x-deepinfra-source + in: header + schema: + title: X-Deepinfra-Source + type: string + - name: user-agent + in: header + schema: + title: User-Agent + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpenAIChatCompletionsIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /v1/openai/embeddings: + post: + summary: Openai Embeddings + operationId: openai_embeddings_v1_openai_embeddings_post + parameters: + - name: x-deepinfra-source + in: header + schema: + title: X-Deepinfra-Source + type: string + - name: user-agent + in: header + schema: + title: User-Agent + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpenAIEmbeddingsIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /v1/openai/models: + get: + summary: Openai Models + operationId: openai_models_v1_openai_models_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OpenAIModelsOut' + security: + - HTTPBearer: [ ] + /v1/feedback: + post: + summary: Submit Feedback + description: Submit feedback + operationId: submit_feedback_v1_feedback_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FeedbackIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /v1/openai/audio/speech: + post: + summary: Openai Audio Speech + operationId: openai_audio_speech_v1_openai_audio_speech_post + parameters: + - name: x-deepinfra-source + in: header + schema: + title: X-Deepinfra-Source + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpenAITextToSpeechIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /v1/logs/query: + get: + summary: Logs Query + description: "Query inference logs.\n* Without timestamps (from/to) returns last `limit` messages (in last month).\n* With `from` only, returns first `limit` messages after `from` (inclusive).\n* With `to` only, returns last `limit` messages before `to` (inclusive).\n* With both `from` and `to`, return the first `limit` messages after `from`, but not later than `to`.\n* `from` and `to` should be no more than a month apart." + operationId: logs_query_v1_logs_query_get + parameters: + - name: deploy_id + in: query + description: the deploy id to get the logs from + required: true + schema: + title: Deploy Id + type: string + description: the deploy id to get the logs from + - name: from + in: query + description: 'start of period, in fractional seconds since unix epoch (inclusive)' + schema: + title: From + type: string + description: 'start of period, in fractional seconds since unix epoch (inclusive)' + - name: to + in: query + description: 'end of period, in fractional seconds since unix epoch (exclusive)' + schema: + title: To + type: string + description: 'end of period, in fractional seconds since unix epoch (exclusive)' + - name: limit + in: query + description: 'how many items to return at most (default 100, in [1, 1000])' + schema: + title: Limit + type: integer + description: 'how many items to return at most (default 100, in [1, 1000])' + default: 100 + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/LogQueryOut' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /v1/deployment_logs/query: + get: + summary: Deployment Logs Query + description: "Query deployment logs.\n* Without timestamps (from/to) returns last `limit` messages (in last month).\n* With `from` only, returns first `limit` messages after `from` (inclusive).\n* With `to` only, returns last `limit` messages before `to` (inclusive).\n* With both `from` and `to`, return the first `limit` messages after `from`, but not later than `to`.\n* `from` and `to` should be no more than a month apart." + operationId: deployment_logs_query_v1_deployment_logs_query_get + parameters: + - name: deploy_id + in: query + description: the deploy id to get the logs from + required: true + schema: + title: Deploy Id + type: string + description: the deploy id to get the logs from + - name: pod_name + in: query + description: the pod name to get the logs from + schema: + title: Pod Name + type: string + description: the pod name to get the logs from + - name: from + in: query + description: 'start of period, in fractional seconds since unix epoch (inclusive)' + schema: + title: From + type: string + description: 'start of period, in fractional seconds since unix epoch (inclusive)' + - name: to + in: query + description: 'end of period, in fractional seconds since unix epoch (exclusive)' + schema: + title: To + type: string + description: 'end of period, in fractional seconds since unix epoch (exclusive)' + - name: limit + in: query + description: 'how many items to return at most (default 100, in [1, 1000])' + schema: + title: Limit + type: integer + description: 'how many items to return at most (default 100, in [1, 1000])' + default: 100 + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeploymentLogQueryOut' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /github/login: + get: + summary: Github Login + description: Initiate github SSO login flow. Callback is /github/callback + operationId: github_login_github_login_get + parameters: + - name: login_id + in: query + schema: + title: Login Id + type: string + - name: origin + in: query + schema: + title: Origin + type: string + - name: deal + in: query + schema: + title: Deal + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /github/cli/login: + get: + summary: Github Cli Login + description: "deepctl is calling this request waiting for auth token during login.\nThe token is stored in /github/callback" + operationId: github_cli_login_github_cli_login_get + parameters: + - name: login_id + in: query + required: true + schema: + title: Login Id + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/api-tokens: + get: + summary: Get Api Tokens + operationId: get_api_tokens_v1_api_tokens_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + title: Response Get Api Tokens V1 Api Tokens Get + type: array + items: + $ref: '#/components/schemas/ApiToken' + security: + - HTTPBearer: [ ] + post: + summary: Create Api Token + operationId: create_api_token_v1_api_tokens_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApiTokenIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ApiToken' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + '/v1/api-tokens/{api_token}': + get: + summary: Get Api Token + operationId: get_api_token_v1_api_tokens__api_token__get + parameters: + - name: api_token + in: path + required: true + schema: + title: Api Token + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ApiToken' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + delete: + summary: Delete Api Token + operationId: delete_api_token_v1_api_tokens__api_token__delete + parameters: + - name: api_token + in: path + required: true + schema: + title: Api Token + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: { } + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/DeepError' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /payment/checklist: + get: + summary: Get Checklist + operationId: get_checklist_payment_checklist_get + parameters: + - name: session + in: cookie + schema: + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Checklist' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /payment/config: + get: + summary: Get Config + operationId: get_config_payment_config_get + parameters: + - name: session + in: cookie + schema: + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigOut' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + post: + summary: Set Config + operationId: set_config_payment_config_post + parameters: + - name: session + in: cookie + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigOut' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /payment/billing-portal: + get: + summary: Billing Portal + description: "Redirect to the stripe billing portal page, where the user can manage\ntheir email and payment methods" + operationId: billing_portal_payment_billing_portal_get + parameters: + - name: return_url + in: query + schema: + title: Return Url + type: string + - name: session + in: cookie + schema: + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/BillingPortalOut' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /payment/usage: + get: + summary: Usage + operationId: usage_payment_usage_get + parameters: + - name: from + in: query + description: 'start of period, YYYY.MM or current(-N) format' + required: true + schema: + title: From + type: string + description: 'start of period, YYYY.MM or current(-N) format' + - name: to + in: query + description: 'end of period (if missing a single month marked by from is return), same format as from' + schema: + title: To + type: string + description: 'end of period (if missing a single month marked by from is return), same format as from' + - name: session + in: cookie + schema: + type: string + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UsageOut' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] + /payment/deepstart/application: + post: + summary: Deepstart Apply + operationId: deepstart_apply_payment_deepstart_application_post + parameters: + - name: session + in: cookie + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeepStartApplicationIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeepStartApplicationOut' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [ ] +components: + schemas: + BillingPortalOut: + title: BillingPortalOut + required: + - url + type: object + properties: + url: + title: Url + type: string + Checklist: + title: Checklist + required: + - stripe_balance + type: object + properties: + email: + title: Email + type: boolean + default: false + billing_address: + title: Billing Address + type: boolean + default: false + payment_method: + title: Payment Method + type: boolean + default: false + suspended: + title: Suspended + type: boolean + default: false + overdue_invoices: + title: Overdue Invoices + type: number + default: 0 + last_checked: + title: Last Checked + type: integer + default: 0 + stripe_balance: + title: Stripe Balance + type: number + description: Negative value indicates funds ready-to-spend. Positive value indicates money owed + limit: + title: Limit + type: number + suspend_reason: + $ref: '#/components/schemas/SuspendReason' + ConfigIn: + title: ConfigIn + type: object + properties: + limit: + title: Limit + type: number + description: Set usage limit (in USD). Negative means no limit.null/not-set means don't change it + ConfigOut: + title: ConfigOut + required: + - limit + type: object + properties: + limit: + title: Limit + type: number + description: Spending limit (in USD). Negative means no limit + DeepStartApplicationIn: + title: DeepStartApplicationIn + required: + - company + - ceo + - funding + - founded_on + - website + type: object + properties: + id: + title: Id + type: string + uid: + title: Uid + type: string + company: + title: Company + type: string + ceo: + title: Ceo + type: string + funding: + title: Funding + type: string + founded_on: + title: Founded On + type: string + website: + title: Website + type: string + created_at: + title: Created At + type: integer + status: + title: Status + type: string + default: pending + deal: + title: Deal + type: string + DeepStartApplicationOut: + title: DeepStartApplicationOut + required: + - company + - ceo + - funding + - founded_on + - website + - email + type: object + properties: + id: + title: Id + type: string + uid: + title: Uid + type: string + company: + title: Company + type: string + ceo: + title: Ceo + type: string + funding: + title: Funding + type: string + founded_on: + title: Founded On + type: string + website: + title: Website + type: string + created_at: + title: Created At + type: integer + status: + title: Status + type: string + default: pending + deal: + title: Deal + type: string + email: + title: Email + type: string + HTTPValidationError: + title: HTTPValidationError + type: object + properties: + detail: + title: Detail + type: array + items: + $ref: '#/components/schemas/ValidationError' + ModelMeta: + title: ModelMeta + required: + - provider + - model_name + - task + type: object + properties: + provider: + title: Provider + type: string + model_name: + title: Model Name + type: string + task: + title: Task + type: string + plan_id: + title: Plan Id + type: string + SuspendReason: + title: SuspendReason + enum: + - payment-method + - overdue-invoices + - limit-reached + - admin + type: string + description: An enumeration. + TimeInterval: + title: TimeInterval + type: object + properties: + fr: + title: Fr + type: integer + default: 0 + to: + title: To + type: integer + default: '4000000000000' + description: 'Inclusive, in ms' + UsageItem: + title: UsageItem + required: + - model + - units + - rate + - cost + - pricing_type + - interval + type: object + properties: + model: + $ref: '#/components/schemas/ModelMeta' + units: + title: Units + type: integer + description: billed seconds or tokens + rate: + title: Rate + type: number + description: rate in cents/sec or cents per token + cost: + title: Cost + type: integer + description: model cost in cents + pricing_type: + title: Pricing Type + type: string + description: pricing type + interval: + title: Interval + allOf: + - $ref: '#/components/schemas/TimeInterval' + description: time interval with this particular pricing + UsageMonth: + title: UsageMonth + required: + - period + - interval + - items + - total_cost + type: object + properties: + period: + title: Period + type: string + description: YYYY.MM formatted period + interval: + title: Interval + allOf: + - $ref: '#/components/schemas/TimeInterval' + description: time interval in this period + items: + title: Items + type: array + items: + $ref: '#/components/schemas/UsageItem' + total_cost: + title: Total Cost + type: integer + description: total cost for all items in cents + invoice_id: + title: Invoice Id + type: string + description: 'Stripe Invoice ID, or EMPTY|NOT_FINAL' + default: NOT_FINAL + UsageOut: + title: UsageOut + required: + - months + - initial_month + type: object + properties: + months: + title: Months + type: array + items: + $ref: '#/components/schemas/UsageMonth' + initial_month: + title: Initial Month + type: string + description: The first month for this account + ValidationError: + title: ValidationError + required: + - loc + - msg + - type + type: object + properties: + loc: + title: Location + type: array + items: + anyOf: + - type: string + - type: integer + msg: + title: Message + type: string + type: + title: Error Type + type: string + ApiToken: + title: ApiToken + required: + - token + - created_at + - name + type: object + properties: + token: + title: Token + type: string + created_at: + title: Created At + type: integer + description: creation unix timestamp + name: + title: Name + type: string + ApiTokenIn: + title: ApiTokenIn + required: + - name + type: object + properties: + name: + title: Name + type: string + ChatCompletionAssistantMessage: + title: ChatCompletionAssistantMessage + type: object + properties: + role: + title: Role + enum: + - assistant + type: string + description: the role of the author of this message + default: assistant + content: + title: Content + type: string + description: the message content + name: + title: Name + type: string + tool_calls: + title: Tool Calls + type: array + items: + $ref: '#/components/schemas/ChatCompletionMessageToolCall' + description: the tool calls generated by the mode + ChatCompletionContentPartImage: + title: ChatCompletionContentPartImage + required: + - type + - image_url + type: object + properties: + type: + title: Type + enum: + - image_url + type: string + image_url: + $ref: '#/components/schemas/ImageURL' + ChatCompletionContentPartText: + title: ChatCompletionContentPartText + required: + - type + - text + type: object + properties: + type: + title: Type + enum: + - text + type: string + text: + title: Text + type: string + ChatCompletionMessageToolCall: + title: ChatCompletionMessageToolCall + required: + - id + - type + - function + type: object + properties: + id: + title: Id + type: string + description: the id of the tool call + type: + title: Type + type: string + description: the type of the tool call. only function is supported currently + function: + title: Function + allOf: + - $ref: '#/components/schemas/Function' + description: the function that the model called + ChatCompletionSystemMessage: + title: ChatCompletionSystemMessage + required: + - content + type: object + properties: + role: + title: Role + enum: + - system + type: string + description: the role of the author of this message + default: system + content: + title: Content + type: string + description: the message content + name: + title: Name + type: string + ChatCompletionToolMessage: + title: ChatCompletionToolMessage + required: + - content + - tool_call_id + type: object + properties: + role: + title: Role + enum: + - tool + type: string + description: the role of the author of this message + default: tool + content: + title: Content + type: string + description: the message content + tool_call_id: + title: Tool Call Id + type: string + ChatCompletionUserMessage: + title: ChatCompletionUserMessage + required: + - content + type: object + properties: + role: + title: Role + enum: + - user + type: string + description: the role of the author of this message + default: user + content: + title: Content + anyOf: + - type: string + - type: array + items: + anyOf: + - $ref: '#/components/schemas/ChatCompletionContentPartText' + - $ref: '#/components/schemas/ChatCompletionContentPartImage' + description: the message content + name: + title: Name + type: string + ChatTools: + title: ChatTools + required: + - function + type: object + properties: + type: + title: Type + type: string + default: function + function: + $ref: '#/components/schemas/FunctionDefinition' + DeepError: + title: DeepError + required: + - error + type: object + properties: + error: + title: Error + type: string + description: Error + example: Model not found + DeployDelete: + title: DeployDelete + required: + - deploy_id + type: object + properties: + deploy_id: + title: Deploy Id + type: string + description: Deploy Id + example: fkj843kjh8 + DeployGPUAvailability: + title: DeployGPUAvailability + required: + - gpus + type: object + properties: + gpus: + title: Gpus + type: array + items: + $ref: '#/components/schemas/GPUAvailabilityInfo' + description: 'A list of all provided GPUs configurations, including their price and wether they are available' + DeployGPUs: + title: DeployGPUs + enum: + - A100-80GB + - H100-80GB + type: string + description: An enumeration. + DeployInstances: + title: DeployInstances + required: + - running + - pending + type: object + properties: + running: + title: Running + type: integer + pending: + title: Pending + type: integer + DeployLLMConfig: + title: DeployLLMConfig + required: + - gpu + - num_gpus + - max_batch_size + - weights + type: object + properties: + gpu: + allOf: + - $ref: '#/components/schemas/DeployGPUs' + description: The type of GPU the deployment is running on + num_gpus: + title: Num Gpus + type: integer + description: Number of GPUs used by one instance + max_batch_size: + title: Max Batch Size + type: integer + description: Maximum number of concurrent requests + weights: + title: Weights + allOf: + - $ref: '#/components/schemas/HFWeights' + description: Model weights information + DeployLLMIn: + title: DeployLLMIn + required: + - model_name + - gpu + type: object + properties: + model_name: + title: Model Name + type: string + description: model name for deepinfra (username/mode-name format) + gpu: + allOf: + - $ref: '#/components/schemas/DeployGPUs' + description: The GPU you want to run on + num_gpus: + title: Num Gpus + maximum: 8.0 + minimum: 1.0 + type: integer + description: Number of GPUs you want for this model + default: 1 + max_batch_size: + title: Max Batch Size + maximum: 256.0 + minimum: 1.0 + type: integer + description: Maximum number of concurrent requests + default: 96 + hf: + $ref: '#/components/schemas/HFWeights' + settings: + $ref: '#/components/schemas/ScaleSettings' + DeployLLMUpdateIn: + title: DeployLLMUpdateIn + required: + - settings + type: object + properties: + settings: + $ref: '#/components/schemas/ScaleSettings' + DeployModelIn: + title: DeployModelIn + required: + - model_name + type: object + properties: + provider: + allOf: + - $ref: '#/components/schemas/ModelProvider' + description: namespace for the model name + default: cnt + model_name: + title: Model Name + type: string + description: model name in specified provider + version: + title: Version + type: string + description: 'A specific revision, if left empty uses the last one' + DeployResult: + title: DeployResult + required: + - deploy_id + type: object + properties: + deploy_id: + title: Deploy Id + type: string + description: Deploy Id + example: fkj843kjh8 + DeployStatusOut: + title: DeployStatusOut + required: + - deploy_id + type: object + properties: + deploy_id: + title: Deploy Id + type: string + description: Deploy Id + example: fkj843kjh8 + DeployType: + title: DeployType + enum: + - legacy + - llm + type: string + description: An enumeration. + DeploymentLogEntry: + title: DeploymentLogEntry + required: + - ts + - line + type: object + properties: + ts: + title: Ts + type: string + line: + title: Line + type: string + DeploymentLogQueryOut: + title: DeploymentLogQueryOut + type: object + properties: + entries: + title: Entries + type: object + additionalProperties: + type: array + items: + maxItems: 2 + minItems: 2 + type: array + items: + title: type + description: mapping of pod names to log lines ordered by increasing timestamp + DeploymentOut: + title: DeploymentOut + required: + - deploy_id + - model_name + - version + - task + - status + - fail_reason + - created_at + - updated_at + type: object + properties: + type: + allOf: + - $ref: '#/components/schemas/DeployType' + default: legacy + deploy_id: + title: Deploy Id + type: string + description: Deploy Id + example: fkj843kjh8 + model_name: + title: Model Name + type: string + description: Model Id from huggingface + example: google/vit-base-patch16-224 + version: + title: Version + type: string + description: Model version + example: d8b79b422843bd59d628bf25b01aded94a9ec1a9b917e69fe460df9ff39ec42b + task: + title: Task + type: string + description: Task + example: image-classification + status: + title: Status + type: string + description: Status + example: deployed + fail_reason: + title: Fail Reason + type: string + description: Failure reason + example: Initialization failed + created_at: + title: Created At + type: string + description: Created at + format: date-time + example: '2021-08-27T17:19:21.0000000+00:00' + updated_at: + title: Updated At + type: string + description: Updated at + format: date-time + example: '2021-08-27T17:19:21.0000000+00:00' + instances: + title: Instances + allOf: + - $ref: '#/components/schemas/DeployInstances' + description: Details about number of instances running right now + config: + title: Config + allOf: + - $ref: '#/components/schemas/DeployLLMConfig' + description: Immutable deploy configuration + settings: + title: Settings + allOf: + - $ref: '#/components/schemas/ScaleSettings' + description: Scale Settings + DeploymentStatsOut: + title: DeploymentStatsOut + required: + - requests + - total_time + - total_tokens + - input_tokens + - output_tokens + - total_amount + - avg_time + - avg95_time + - errors + type: object + properties: + requests: + title: Requests + type: integer + description: number of inference requests in the provided interval + total_time: + title: Total Time + type: integer + description: total number of seconds spend in inference + total_tokens: + title: Total Tokens + type: integer + description: total number of tokens generated + input_tokens: + title: Input Tokens + type: integer + description: number of input tokens generated + output_tokens: + title: Output Tokens + type: integer + description: number of output tokens generated + total_amount: + title: Total Amount + type: integer + description: total number of cents spent + avg_time: + title: Avg Time + type: number + description: average millisecond inference time + avg95_time: + title: Avg95 Time + type: number + description: 95th percentile inference time (estimated) + errors: + title: Errors + type: integer + description: number of errors + DetailedDeploymentStatsOut: + title: DetailedDeploymentStatsOut + type: object + properties: + llm: + title: Llm + allOf: + - $ref: '#/components/schemas/LLMDeploymentStatsOut' + description: LLM Deployment Stats + embeddings: + title: Embeddings + allOf: + - $ref: '#/components/schemas/EmbeddingsDeploymentStatsOut' + description: Embeddings Deployment Stats + time: + title: Time + allOf: + - $ref: '#/components/schemas/TimeDeploymentStatsOut' + description: Time based Deployment Stats + EmailsOut: + title: EmailsOut + required: + - emails + type: object + properties: + emails: + title: Emails + type: array + items: + type: string + description: List of emails verified by theauthenticaiton provider + EmbeddingsDeploymentStatsOut: + title: EmbeddingsDeploymentStatsOut + required: + - requests + - input_tokens + - avg_tpt_ms + - avg95_tpt_ms + - total_amount_cents + - errors + type: object + properties: + requests: + title: Requests + type: integer + description: number of inference requests in the provided interval + input_tokens: + title: Input Tokens + type: integer + description: number of input tokens generated + avg_tpt_ms: + title: Avg Tpt Ms + type: number + description: average millisecond time per token + avg95_tpt_ms: + title: Avg95 Tpt Ms + type: number + description: 95th percentile time per token (estimated) + total_amount_cents: + title: Total Amount Cents + type: integer + description: total number of cents spent + errors: + title: Errors + type: integer + description: number of errors + FeedbackIn: + title: FeedbackIn + required: + - message + type: object + properties: + message: + title: Message + type: string + description: The message you'd like to send to deepinfra team + contact_email: + title: Contact Email + type: string + description: Optional contact email to reach you back + format: email + Function: + title: Function + required: + - name + - arguments + type: object + properties: + name: + title: Name + type: string + description: the name of the function to call + arguments: + title: Arguments + type: string + description: 'the function arguments, generated by the model in JSON format. the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema' + FunctionDefinition: + title: FunctionDefinition + required: + - name + - description + type: object + properties: + name: + title: Name + type: string + description: + title: Description + type: string + parameters: + title: Parameters + GPUAvailabilityInfo: + title: GPUAvailabilityInfo + required: + - gpu_config + - usd_per_hour + - available + type: object + properties: + gpu_config: + title: Gpu Config + type: string + usd_per_hour: + title: Usd Per Hour + type: number + available: + title: Available + type: boolean + HFModel: + title: HFModel + required: + - model_name + type: object + properties: + model_name: + title: Model Name + type: string + description: Model Id from huggingface + example: google/vit-base-patch16-224 + task: + title: Task + type: string + description: Task + example: image-classification + HFTasksE: + title: HFTasksE + enum: + - automatic-speech-recognition + - image-classification + - question-answering + - token-classification + - text-to-image + - fill-mask + - zero-shot-image-classification + - text2text-generation + - text-generation + - text-classification + - object-detection + - embeddings + - dreambooth + - custom + - text-to-speech + type: string + description: An enumeration. + HFWeights: + title: HFWeights + required: + - repo + type: object + properties: + repo: + title: Repo + type: string + description: huggingface repository i.e username/reponame + revision: + title: Revision + type: string + description: commit sha or branch name + token: + title: Token + type: string + description: huggingface access token with read access to the repo + ImageURL: + title: ImageURL + required: + - url + type: object + properties: + url: + title: Url + type: string + detail: + title: Detail + enum: + - auto + - low + - high + type: string + default: auto + LLMDeploymentStatsOut: + title: LLMDeploymentStatsOut + required: + - requests + - input_tokens + - output_tokens + - avg_ttft_ms + - avg95_ttft_ms + - avg_tpt_ms + - avg95_tpt_ms + - total_amount_cents + - errors + type: object + properties: + requests: + title: Requests + type: integer + description: number of inference requests in the provided interval + input_tokens: + title: Input Tokens + type: integer + description: number of input tokens generated + output_tokens: + title: Output Tokens + type: integer + description: number of output tokens generated + avg_ttft_ms: + title: Avg Ttft Ms + type: number + description: average millisecond time to first token + avg95_ttft_ms: + title: Avg95 Ttft Ms + type: number + description: 95th percentile time to first token (estimated) + avg_tpt_ms: + title: Avg Tpt Ms + type: number + description: average millisecond time per token + avg95_tpt_ms: + title: Avg95 Tpt Ms + type: number + description: 95th percentile time per token (estimated) + total_amount_cents: + title: Total Amount Cents + type: integer + description: total number of cents spent + errors: + title: Errors + type: integer + description: number of errors + LogEntry: + title: LogEntry + required: + - ts + - line + type: object + properties: + ts: + title: Ts + type: string + line: + title: Line + type: string + LogQueryOut: + title: LogQueryOut + type: object + properties: + entries: + title: Entries + type: array + items: + maxItems: 2 + minItems: 2 + type: array + items: + title: type + description: list of log lines ordered by increasing timestamp + Me: + title: Me + required: + - uid + - display_name + - provider + - is_admin + - name + - is_business_account + - company + - website + type: object + properties: + uid: + title: Uid + type: string + email: + title: Email + type: string + display_name: + title: Display Name + type: string + description: Name that is used to identifythe account on the website + provider: + title: Provider + type: string + description: 'Authentication provider, e.g. ''github''' + picture: + title: Picture + type: string + is_admin: + title: Is Admin + type: boolean + name: + title: Name + type: string + description: Personal name + is_business_account: + title: Is Business Account + type: boolean + company: + title: Company + type: string + description: Company name + website: + title: Website + type: string + description: Company website address + MeIn: + title: MeIn + type: object + properties: + name: + title: Name + minLength: 1 + type: string + description: Personal name + email: + title: Email + minLength: 1 + type: string + is_business_account: + title: Is Business Account + type: boolean + company: + title: Company + minLength: 1 + type: string + description: Company name + website: + title: Website + minLength: 1 + type: string + description: Company website address + ModelDocBlock: + title: ModelDocBlock + required: + - key + - url + type: object + properties: + key: + $ref: '#/components/schemas/ModelDocBlockKey' + url: + title: Url + type: string + ModelDocBlockKey: + title: ModelDocBlockKey + enum: + - http + - deepctl + - js-text-gen + - js-emb + - js-text-to-img + - js-speech-to-text + - openai-python + - openai-http + - openai-js + - openai-comp-python + - openai-comp-http + - openai-comp-js + - openai-emb-py + - openai-emb-http + - openai-emb-js + type: string + description: An enumeration. + ModelFieldInfo: + title: ModelFieldInfo + required: + - name + - ftype + type: object + properties: + name: + title: Name + type: string + parent: + title: Parent + type: string + ftype: + title: Ftype + type: string + description: + title: Description + type: string + allowed: + title: Allowed + type: array + items: { } + default: + title: Default + examples: + title: Examples + type: array + items: { } + minimum: + title: Minimum + type: number + exclusiveMinimum: + title: Exclusiveminimum + type: number + maximum: + title: Maximum + type: number + exclusiveMaximum: + title: Exclusivemaximum + type: number + ModelInfoOut: + title: ModelInfoOut + required: + - model_name + - type + - tags + - reported_type + - version + - featured + - public + - curl_inv + - cmdline_inv + - txt_docs + - out_example + - out_docs + - pricing + - schemas + type: object + properties: + model_name: + title: Model Name + type: string + type: + title: Type + type: string + tags: + title: Tags + type: array + items: + type: string + reported_type: + title: Reported Type + type: string + version: + title: Version + type: string + description: + title: Description + type: string + featured: + title: Featured + type: boolean + owner: + title: Owner + type: boolean + default: false + public: + title: Public + type: boolean + curl_inv: + title: Curl Inv + type: string + cmdline_inv: + title: Cmdline Inv + type: string + txt_docs: + title: Txt Docs + type: string + out_example: + title: Out Example + type: string + out_docs: + title: Out Docs + type: string + mask_token: + title: Mask Token + type: string + in_schema: + title: In Schema + out_schema: + title: Out Schema + in_fields: + title: In Fields + type: array + items: + $ref: '#/components/schemas/ModelFieldInfo' + pricing: + title: Pricing + anyOf: + - $ref: '#/components/schemas/ModelPricingTime' + - $ref: '#/components/schemas/ModelPricingUptime' + - $ref: '#/components/schemas/ModelPricingTokens' + - $ref: '#/components/schemas/ModelPricingInputLength' + - $ref: '#/components/schemas/ModelPricingInputTokens' + - $ref: '#/components/schemas/ModelPricingInputCharacterLength' + doc_blocks: + title: Doc Blocks + type: array + items: + $ref: '#/components/schemas/ModelDocBlock' + schemas: + title: Schemas + type: array + items: + $ref: '#/components/schemas/SchemaVariant' + meta: + title: Meta + type: object + max_tokens: + title: Max Tokens + type: integer + replaced_by: + title: Replaced By + type: string + deprecated: + title: Deprecated + type: integer + quantization: + title: Quantization + type: string + expected: + title: Expected + type: string + format: date + ModelMetaIn: + title: ModelMetaIn + type: object + properties: + description: + title: Description + type: string + description: short model description in plain text + github_url: + title: Github Url + type: string + description: source code project link (empty to delete) + paper_url: + title: Paper Url + type: string + description: paper/research link (empty to delete) + license_url: + title: License Url + type: string + description: usage license link (empty to delete) + readme: + title: Readme + type: string + description: markdown flavored model readme + cover_img_url: + title: Cover Img Url + type: string + description: dataurl or regular url to cover image (empty to delete) + reported_type: + allOf: + - $ref: '#/components/schemas/HFTasksE' + description: model type + additionalProperties: false + ModelOut: + title: ModelOut + required: + - model_name + - type + - reported_type + - pricing + type: object + properties: + model_name: + title: Model Name + type: string + description: Model Name + example: microsoft/resnet-50 + type: + title: Type + type: string + description: raw type of the model + example: image-classification + reported_type: + title: Reported Type + type: string + description: reported type of the model + example: text-generation + description: + title: Description + type: string + description: description of the model + default: '' + example: ResNet-50 is a convolutional neural network that is trained on more than a million images from the ImageNet database. It is a 50-layer deep neural network. + cover_img_url: + title: Cover Img Url + type: string + description: cover image link + default: '' + tags: + title: Tags + type: array + items: + type: string + description: list of tags + pricing: + title: Pricing + anyOf: + - $ref: '#/components/schemas/ModelPricingTime' + - $ref: '#/components/schemas/ModelPricingTokens' + - $ref: '#/components/schemas/ModelPricingInputLength' + - $ref: '#/components/schemas/ModelPricingInputTokens' + - $ref: '#/components/schemas/ModelPricingUptime' + - $ref: '#/components/schemas/ModelPricingInputCharacterLength' + description: The pricing type and cost for this model + max_tokens: + title: Max Tokens + type: integer + description: 'The maximum context size of this model, if applicable' + replaced_by: + title: Replaced By + type: string + deprecated: + title: Deprecated + type: integer + quantization: + title: Quantization + type: string + expected: + title: Expected + type: string + format: date + ModelPricingInputCharacterLength: + title: ModelPricingInputCharacterLength + required: + - cents_per_input_chars + type: object + properties: + cents_per_input_chars: + title: Cents Per Input Chars + type: number + type: + title: Type + type: string + default: input_character_length + ModelPricingInputLength: + title: ModelPricingInputLength + required: + - cents_per_input_sec + type: object + properties: + cents_per_input_sec: + title: Cents Per Input Sec + type: number + type: + title: Type + type: string + default: input_length + ModelPricingInputTokens: + title: ModelPricingInputTokens + required: + - cents_per_input_token + type: object + properties: + cents_per_input_token: + title: Cents Per Input Token + type: number + type: + title: Type + type: string + default: input_tokens + ModelPricingTime: + title: ModelPricingTime + required: + - cents_per_sec + type: object + properties: + cents_per_sec: + title: Cents Per Sec + type: number + type: + title: Type + type: string + default: time + ModelPricingTokens: + title: ModelPricingTokens + required: + - cents_per_input_token + - cents_per_output_token + type: object + properties: + cents_per_input_token: + title: Cents Per Input Token + type: number + cents_per_output_token: + title: Cents Per Output Token + type: number + type: + title: Type + type: string + default: tokens + ModelPricingUptime: + title: ModelPricingUptime + required: + - cents_per_sec + type: object + properties: + cents_per_sec: + title: Cents Per Sec + type: number + type: + title: Type + type: string + default: uptime + ModelProvider: + title: ModelProvider + enum: + - huggingface + - deepinfra + - cnt + type: string + description: An enumeration. + ModelPublicityIn: + title: ModelPublicityIn + required: + - public + type: object + properties: + public: + title: Public + type: boolean + description: whether to make the model public of private + ModelVersionOut: + title: ModelVersionOut + required: + - model_name + - version + - uploaded_at + type: object + properties: + model_name: + title: Model Name + type: string + description: Model Name + example: microsoft/resnet-50 + version: + title: Version + type: string + description: Version identifier + example: 06dbf5f73be4b5eca79e137e00c4825f467cd5b172c64b6c9255dc4b5a25a03a + uploaded_at: + title: Uploaded At + type: string + description: Upload time + format: date-time + example: '2023-01-19T21:52:03.6262410+00:00' + OpenAIChatCompletionsIn: + title: OpenAIChatCompletionsIn + required: + - model + - messages + type: object + properties: + model: + title: Model + type: string + description: model name + example: meta-llama/Llama-2-70b-chat-hf + messages: + title: Messages + type: array + items: + anyOf: + - $ref: '#/components/schemas/ChatCompletionToolMessage' + - $ref: '#/components/schemas/ChatCompletionAssistantMessage' + - $ref: '#/components/schemas/ChatCompletionUserMessage' + - $ref: '#/components/schemas/ChatCompletionSystemMessage' + description: 'conversation messages: (user,assistant,tool)*,user including one system message anywhere' + stream: + title: Stream + type: boolean + description: whether to stream the output via SSE or return the full response + default: false + temperature: + title: Temperature + maximum: 2.0 + minimum: 0.0 + type: number + description: 'What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic' + default: 1 + top_p: + title: Top P + maximum: 1.0 + exclusiveMinimum: false + type: number + default: 1 + max_tokens: + title: Max Tokens + maximum: 1000000.0 + minimum: 0.0 + type: integer + description: "The maximum number of tokens to generate in the chat completion.\n\nThe total length of input tokens and generated tokens is limited by the model's context length.If explicitly set to None it will be the model's max context length minus input length." + default: 512 + stop: + title: Stop + anyOf: + - type: string + - type: array + items: + type: string + description: up to 16 sequences where the API will stop generating further tokens + n: + title: N + maximum: 2.0 + minimum: 1.0 + type: integer + description: number of sequences to return. n != 1 incompatible with streaming + default: 1 + presence_penalty: + title: Presence Penalty + maximum: 2.0 + minimum: -2.0 + type: number + description: 'Positive values penalize new tokens based on whether they appear in the text so far, increasing the model''s likelihood to talk about new topics.' + default: 0 + frequency_penalty: + title: Frequency Penalty + maximum: 2.0 + minimum: -2.0 + type: number + description: 'Positive values penalize new tokens based on how many times they appear in the text so far, increasing the model''s likelihood to talk about new topics.' + default: 0 + tools: + title: Tools + type: array + items: + $ref: '#/components/schemas/ChatTools' + description: 'A list of tools the model may call. Currently, only functions are supported as a tool.' + tool_choice: + title: Tool Choice + type: string + description: Controls which (if any) function is called by the model. none means the model will not call a function and instead generates a message. auto means the model can pick between generating a message or calling a function. specifying a particular function choice is not supported currently.none is the default when no functions are present. auto is the default if functions are present. + response_format: + title: Response Format + allOf: + - $ref: '#/components/schemas/ResponseFormat' + description: 'The format of the response. Currently, only json is supported.' + repetition_penalty: + title: Repetition Penalty + type: number + description: 'Alternative penalty for repetition, but multiplicative instead of additive (> 1 penalize, < 1 encourage)' + default: 1 + OpenAICompletionsIn: + title: OpenAICompletionsIn + required: + - model + - prompt + type: object + properties: + model: + title: Model + type: string + description: model name + example: meta-llama/Llama-2-70b-chat-hf + prompt: + title: Prompt + type: string + description: input prompt - a single string is currently supported + max_tokens: + title: Max Tokens + maximum: 1000000.0 + exclusiveMinimum: false + type: integer + description: "The maximum number of tokens to generate in the completion.\n\nThe total length of input tokens and generated tokens is limited by the model's context length.If explicitly set to None it will be the model's max context length minus input length." + default: 512 + temperature: + title: Temperature + maximum: 2.0 + minimum: 0.0 + type: number + description: 'What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic' + default: 1 + top_p: + title: Top P + maximum: 1.0 + exclusiveMinimum: false + type: number + default: 1 + n: + title: N + maximum: 2.0 + minimum: 1.0 + type: integer + description: number of sequences to return. n != 1 incompatible with streaming + default: 1 + stream: + title: Stream + type: boolean + description: whether to stream the output via SSE or return the full response + default: false + logprobs: + title: Logprobs + type: integer + description: return top tokens and their log-probabilities + echo: + title: Echo + type: boolean + description: return prompt as part of the respons + stop: + title: Stop + anyOf: + - type: string + - type: array + items: + type: string + description: up to 16 sequences where the API will stop generating further tokens + presence_penalty: + title: Presence Penalty + maximum: 2.0 + minimum: -2.0 + type: number + description: 'Positive values penalize new tokens based on whether they appear in the text so far, increasing the model''s likelihood to talk about new topics.' + default: 0 + frequency_penalty: + title: Frequency Penalty + maximum: 2.0 + minimum: -2.0 + type: number + description: 'Positive values penalize new tokens based on how many times they appear in the text so far, increasing the model''s likelihood to talk about new topics.' + default: 0 + response_format: + title: Response Format + allOf: + - $ref: '#/components/schemas/ResponseFormat' + description: 'The format of the response. Currently, only json is supported.' + repetition_penalty: + title: Repetition Penalty + type: number + description: 'Alternative penalty for repetition, but multiplicative instead of additive (> 1 penalize, < 1 encourage)' + default: 1 + OpenAIEmbeddingsIn: + title: OpenAIEmbeddingsIn + required: + - model + - input + type: object + properties: + model: + title: Model + type: string + description: model name + example: thenlper/gte-large + input: + title: Input + anyOf: + - maxItems: 1024 + type: array + items: + type: string + - type: string + description: sequences to embed + example: + - I like chocolate + encoding_format: + title: Encoding Format + enum: + - float + type: string + description: format used when encoding + default: float + OpenAIModelOut: + title: OpenAIModelOut + required: + - id + - created + - owned_by + - root + type: object + properties: + id: + title: Id + type: string + object: + title: Object + type: string + default: model + created: + title: Created + type: integer + owned_by: + title: Owned By + type: string + root: + title: Root + type: string + parent: + title: Parent + type: 'null' + OpenAIModelsOut: + title: OpenAIModelsOut + type: object + properties: + object: + title: Object + type: string + default: list + data: + title: Data + type: array + items: + $ref: '#/components/schemas/OpenAIModelOut' + OpenAITextToSpeechIn: + title: OpenAITextToSpeechIn + required: + - model + - input + type: object + properties: + webhook: + title: Webhook + maxLength: 2083 + minLength: 1 + type: string + description: 'The webhook to call when inference is done, by default you will get the output in the response of your inference request' + format: uri + model: + title: Model + type: string + description: model name + example: deepinfra/tts + input: + title: Input + type: string + description: text to convert to speech + example: 'Hello, how are you?' + voice: + allOf: + - $ref: '#/components/schemas/TtsVoice' + description: Preset voices to use for the speech. + default: luna + response_format: + allOf: + - $ref: '#/components/schemas/TtsResponseFormat' + description: response format for the speech + default: wav + speed: + title: Speed + maximum: 4.0 + minimum: 0.25 + type: number + description: speed of the speech + default: 1 + RateLimitOut: + title: RateLimitOut + required: + - rate_limit + type: object + properties: + rate_limit: + title: Rate Limit + type: integer + description: Per model rate limit + RateLimitRequestIn: + title: RateLimitRequestIn + required: + - rate_limit + - reason + type: object + properties: + rate_limit: + title: Rate Limit + type: integer + reason: + title: Reason + maxLength: 2048 + type: string + ResponseFormat: + title: ResponseFormat + type: object + properties: + type: + title: Type + enum: + - text + - json_object + type: string + description: 'Response type, such as JSON mode' + default: text + example: json_object + ScaleSettings: + title: ScaleSettings + type: object + properties: + min_instances: + title: Min Instances + maximum: 16.0 + minimum: 1.0 + type: integer + description: Minimum number of model instances to run + default: 1 + max_instances: + title: Max Instances + maximum: 16.0 + minimum: 1.0 + type: integer + description: Maximum number of model instances to run + default: 1 + SchemaFieldOut: + title: SchemaFieldOut + required: + - name + - ftype + type: object + properties: + name: + title: Name + type: string + parent: + title: Parent + type: string + ftype: + title: Ftype + type: string + description: + title: Description + type: string + allowed: + title: Allowed + type: array + items: { } + default: + title: Default + examples: + title: Examples + type: array + items: { } + minimum: + title: Minimum + type: number + exclusiveMinimum: + title: Exclusiveminimum + type: number + maximum: + title: Maximum + type: number + exclusiveMaximum: + title: Exclusivemaximum + type: number + SchemaOut: + title: SchemaOut + required: + - variant + - fields_in + type: object + properties: + variant: + $ref: '#/components/schemas/SchemaVariant' + schema_in: + title: Schema In + type: object + schema_out: + title: Schema Out + type: object + schema_stream: + title: Schema Stream + type: object + fields_in: + title: Fields In + type: array + items: + $ref: '#/components/schemas/SchemaFieldOut' + SchemaVariant: + title: SchemaVariant + required: + - key + - url + type: object + properties: + key: + $ref: '#/components/schemas/SchemaVariantKey' + url: + title: Url + type: string + SchemaVariantKey: + title: SchemaVariantKey + enum: + - default + - openai-completions + - openai-chat-completions + - openai-embeddings + type: string + description: An enumeration. + TimeDeploymentStatsOut: + title: TimeDeploymentStatsOut + required: + - requests + - total_time_s + - total_amount_cents + - avg_time_ms + - avg95_time_ms + - errors + type: object + properties: + requests: + title: Requests + type: integer + description: number of inference requests in the provided interval + total_time_s: + title: Total Time S + type: integer + description: total number of seconds spend in inference + total_amount_cents: + title: Total Amount Cents + type: integer + description: total number of cents spent + avg_time_ms: + title: Avg Time Ms + type: number + description: average millisecond inference time + avg95_time_ms: + title: Avg95 Time Ms + type: number + description: 95th percentile inference time (estimated) + errors: + title: Errors + type: integer + description: number of errors + TtsResponseFormat: + title: TtsResponseFormat + enum: + - wav + type: string + description: An enumeration. + TtsVoice: + title: TtsVoice + enum: + - luna + - aura + - quartz + type: string + description: An enumeration. + securitySchemes: + HTTPBearer: + type: http + scheme: bearer \ No newline at end of file diff --git a/src/libs/Directory.Build.props b/src/libs/Directory.Build.props new file mode 100644 index 0000000..2e741da --- /dev/null +++ b/src/libs/Directory.Build.props @@ -0,0 +1,65 @@ + + + + + + + + true + $(MSBuildThisFileDirectory)../key.snk + + + + + <_Parameter1>true + + + + + true + true + tryAGI and contributors + MIT + nuget_icon.png + README.md + + + + + + + + + v + dev + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + true + latest + All + + + + true + true + true + false + false + + + diff --git a/src/tests/DeepInfra.IntegrationTests/DeepInfra.IntegrationTests.csproj b/src/tests/DeepInfra.IntegrationTests/DeepInfra.IntegrationTests.csproj new file mode 100644 index 0000000..d35a00a --- /dev/null +++ b/src/tests/DeepInfra.IntegrationTests/DeepInfra.IntegrationTests.csproj @@ -0,0 +1,27 @@ + + + + net8.0 + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/tests/DeepInfra.IntegrationTests/Tests.Helpers.cs b/src/tests/DeepInfra.IntegrationTests/Tests.Helpers.cs new file mode 100644 index 0000000..f75a337 --- /dev/null +++ b/src/tests/DeepInfra.IntegrationTests/Tests.Helpers.cs @@ -0,0 +1,14 @@ +namespace DeepInfra.IntegrationTests; + +[TestClass] +public partial class Tests +{ + private static DeepInfraApi GetAuthorizedApi() + { + var apiKey = + Environment.GetEnvironmentVariable("DEEPINFRA_API_KEY") ?? + throw new AssertInconclusiveException("DEEPINFRA_API_KEY environment variable is not found."); + + return new DeepInfraApi(apiKey); + } +} diff --git a/src/tests/DeepInfra.IntegrationTests/Tests.ListModels.cs b/src/tests/DeepInfra.IntegrationTests/Tests.ListModels.cs new file mode 100755 index 0000000..9b54124 --- /dev/null +++ b/src/tests/DeepInfra.IntegrationTests/Tests.ListModels.cs @@ -0,0 +1,16 @@ +// namespace DeepInfra.IntegrationTests; +// +// public partial class Tests +// { +// [TestMethod] +// public async Task ListModels() +// { +// var api = GetAuthorizedApi(); +// var models = await api.ModelsListModelsListGetAsync(); +// models.Should().NotBeNull(); +// foreach (var model in models) +// { +// Console.WriteLine(model.ModelName); +// } +// } +// }