From 603b5c955ad383fa3ec358c91ce034cbbf7d1446 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 23:01:14 +0000 Subject: [PATCH 1/6] docs: note required fields in `builder` javadoc (#272) --- .../client/okhttp/OpenAIOkHttpClient.kt | 1 + .../client/okhttp/OpenAIOkHttpClientAsync.kt | 1 + .../kotlin/com/openai/core/ClientOptions.kt | 9 + .../main/kotlin/com/openai/core/Timeout.kt | 1 + .../kotlin/com/openai/errors/OpenAIError.kt | 1 + .../kotlin/com/openai/models/Assistant.kt | 18 ++ .../com/openai/models/AssistantDeleted.kt | 9 + .../com/openai/models/AssistantStreamEvent.kt | 192 ++++++++++++++++++ .../com/openai/models/AssistantToolChoice.kt | 8 + .../models/AssistantToolChoiceFunction.kt | 8 + .../openai/models/AudioSpeechCreateParams.kt | 20 ++ .../models/AudioTranscriptionCreateParams.kt | 19 ++ .../models/AudioTranslationCreateParams.kt | 18 ++ .../models/AutoFileChunkingStrategyParam.kt | 4 + .../main/kotlin/com/openai/models/Batch.kt | 14 ++ .../com/openai/models/BatchCancelParams.kt | 8 + .../com/openai/models/BatchCreateParams.kt | 20 ++ .../kotlin/com/openai/models/BatchError.kt | 1 + .../kotlin/com/openai/models/BatchListPage.kt | 1 + .../com/openai/models/BatchListPageAsync.kt | 1 + .../com/openai/models/BatchListParams.kt | 1 + .../com/openai/models/BatchRequestCounts.kt | 10 + .../com/openai/models/BatchRetrieveParams.kt | 8 + .../models/BetaAssistantCreateParams.kt | 20 ++ .../models/BetaAssistantDeleteParams.kt | 8 + .../openai/models/BetaAssistantListPage.kt | 3 + .../models/BetaAssistantListPageAsync.kt | 4 + .../openai/models/BetaAssistantListParams.kt | 1 + .../models/BetaAssistantRetrieveParams.kt | 8 + .../models/BetaAssistantUpdateParams.kt | 12 ++ .../models/BetaThreadCreateAndRunParams.kt | 46 +++++ .../openai/models/BetaThreadCreateParams.kt | 16 ++ .../openai/models/BetaThreadDeleteParams.kt | 8 + .../models/BetaThreadMessageCreateParams.kt | 21 ++ .../models/BetaThreadMessageDeleteParams.kt | 10 + .../models/BetaThreadMessageListPage.kt | 4 + .../models/BetaThreadMessageListPageAsync.kt | 4 + .../models/BetaThreadMessageListParams.kt | 8 + .../models/BetaThreadMessageRetrieveParams.kt | 10 + .../models/BetaThreadMessageUpdateParams.kt | 11 + .../openai/models/BetaThreadRetrieveParams.kt | 8 + .../models/BetaThreadRunCancelParams.kt | 9 + .../models/BetaThreadRunCreateParams.kt | 35 ++++ .../openai/models/BetaThreadRunListPage.kt | 3 + .../models/BetaThreadRunListPageAsync.kt | 4 + .../openai/models/BetaThreadRunListParams.kt | 8 + .../models/BetaThreadRunRetrieveParams.kt | 9 + .../models/BetaThreadRunStepListPage.kt | 4 + .../models/BetaThreadRunStepListPageAsync.kt | 4 + .../models/BetaThreadRunStepListParams.kt | 9 + .../models/BetaThreadRunStepRetrieveParams.kt | 11 + .../BetaThreadRunSubmitToolOutputsParams.kt | 20 ++ .../models/BetaThreadRunUpdateParams.kt | 10 + .../openai/models/BetaThreadUpdateParams.kt | 12 ++ .../models/BetaVectorStoreCreateParams.kt | 12 ++ .../models/BetaVectorStoreDeleteParams.kt | 8 + .../BetaVectorStoreFileBatchCancelParams.kt | 10 + .../BetaVectorStoreFileBatchCreateParams.kt | 18 ++ .../BetaVectorStoreFileBatchListFilesPage.kt | 4 + ...aVectorStoreFileBatchListFilesPageAsync.kt | 4 + ...BetaVectorStoreFileBatchListFilesParams.kt | 10 + .../BetaVectorStoreFileBatchRetrieveParams.kt | 10 + .../models/BetaVectorStoreFileCreateParams.kt | 18 ++ .../models/BetaVectorStoreFileDeleteParams.kt | 10 + .../models/BetaVectorStoreFileListPage.kt | 4 + .../BetaVectorStoreFileListPageAsync.kt | 4 + .../models/BetaVectorStoreFileListParams.kt | 9 + .../BetaVectorStoreFileRetrieveParams.kt | 10 + .../openai/models/BetaVectorStoreListPage.kt | 3 + .../models/BetaVectorStoreListPageAsync.kt | 4 + .../models/BetaVectorStoreListParams.kt | 3 + .../models/BetaVectorStoreRetrieveParams.kt | 9 + .../models/BetaVectorStoreUpdateParams.kt | 17 ++ .../com/openai/models/ChatCompletion.kt | 31 +++ .../ChatCompletionAssistantMessageParam.kt | 21 ++ .../com/openai/models/ChatCompletionAudio.kt | 11 + .../openai/models/ChatCompletionAudioParam.kt | 9 + .../com/openai/models/ChatCompletionChunk.kt | 41 ++++ .../models/ChatCompletionContentPartImage.kt | 17 ++ .../ChatCompletionContentPartInputAudio.kt | 18 ++ .../ChatCompletionContentPartRefusal.kt | 9 + .../models/ChatCompletionContentPartText.kt | 9 + .../models/ChatCompletionCreateParams.kt | 27 +++ .../models/ChatCompletionDeleteParams.kt | 8 + .../openai/models/ChatCompletionDeleted.kt | 9 + .../ChatCompletionDeveloperMessageParam.kt | 9 + .../ChatCompletionFunctionCallOption.kt | 9 + .../ChatCompletionFunctionMessageParam.kt | 10 + .../openai/models/ChatCompletionMessage.kt | 18 ++ .../models/ChatCompletionMessageListPage.kt | 4 + .../ChatCompletionMessageListPageAsync.kt | 4 + .../models/ChatCompletionMessageListParams.kt | 9 + .../models/ChatCompletionMessageToolCall.kt | 19 ++ .../models/ChatCompletionNamedToolChoice.kt | 17 ++ .../models/ChatCompletionPredictionContent.kt | 9 + .../models/ChatCompletionRetrieveParams.kt | 8 + .../models/ChatCompletionStoreMessage.kt | 10 + .../models/ChatCompletionStreamOptions.kt | 3 + .../ChatCompletionSystemMessageParam.kt | 9 + .../models/ChatCompletionTokenLogprob.kt | 21 ++ .../com/openai/models/ChatCompletionTool.kt | 8 + .../models/ChatCompletionToolMessageParam.kt | 10 + .../models/ChatCompletionUpdateParams.kt | 17 ++ .../models/ChatCompletionUserMessageParam.kt | 9 + .../com/openai/models/CodeInterpreterLogs.kt | 8 + .../models/CodeInterpreterOutputImage.kt | 9 + .../com/openai/models/CodeInterpreterTool.kt | 1 + .../openai/models/CodeInterpreterToolCall.kt | 42 ++++ .../models/CodeInterpreterToolCallDelta.kt | 9 + .../kotlin/com/openai/models/Completion.kt | 11 + .../com/openai/models/CompletionChoice.kt | 13 ++ .../openai/models/CompletionCreateParams.kt | 19 ++ .../com/openai/models/CompletionUsage.kt | 14 ++ .../openai/models/CreateEmbeddingResponse.kt | 19 ++ .../kotlin/com/openai/models/Embedding.kt | 9 + .../openai/models/EmbeddingCreateParams.kt | 18 ++ .../kotlin/com/openai/models/ErrorObject.kt | 11 + .../openai/models/FileCitationAnnotation.kt | 19 ++ .../models/FileCitationDeltaAnnotation.kt | 9 + .../com/openai/models/FileContentParams.kt | 8 + .../com/openai/models/FileCreateParams.kt | 18 ++ .../com/openai/models/FileDeleteParams.kt | 8 + .../kotlin/com/openai/models/FileDeleted.kt | 9 + .../kotlin/com/openai/models/FileListPage.kt | 1 + .../com/openai/models/FileListPageAsync.kt | 1 + .../com/openai/models/FileListParams.kt | 1 + .../kotlin/com/openai/models/FileObject.kt | 13 ++ .../com/openai/models/FilePathAnnotation.kt | 19 ++ .../openai/models/FilePathDeltaAnnotation.kt | 9 + .../com/openai/models/FileRetrieveParams.kt | 8 + .../com/openai/models/FileSearchTool.kt | 10 + .../com/openai/models/FileSearchToolCall.kt | 29 +++ .../openai/models/FileSearchToolCallDelta.kt | 9 + .../kotlin/com/openai/models/FineTuningJob.kt | 41 ++++ .../models/FineTuningJobCancelParams.kt | 8 + .../openai/models/FineTuningJobCheckpoint.kt | 14 ++ .../models/FineTuningJobCheckpointListPage.kt | 4 + .../FineTuningJobCheckpointListPageAsync.kt | 4 + .../FineTuningJobCheckpointListParams.kt | 9 + .../models/FineTuningJobCreateParams.kt | 44 ++++ .../com/openai/models/FineTuningJobEvent.kt | 11 + .../models/FineTuningJobListEventsPage.kt | 4 + .../FineTuningJobListEventsPageAsync.kt | 4 + .../models/FineTuningJobListEventsParams.kt | 9 + .../openai/models/FineTuningJobListPage.kt | 3 + .../models/FineTuningJobListPageAsync.kt | 4 + .../openai/models/FineTuningJobListParams.kt | 1 + .../models/FineTuningJobRetrieveParams.kt | 8 + .../models/FineTuningJobWandbIntegration.kt | 9 + .../FineTuningJobWandbIntegrationObject.kt | 9 + .../com/openai/models/FunctionDefinition.kt | 8 + .../com/openai/models/FunctionParameters.kt | 1 + .../kotlin/com/openai/models/FunctionTool.kt | 8 + .../com/openai/models/FunctionToolCall.kt | 19 ++ .../openai/models/FunctionToolCallDelta.kt | 9 + .../main/kotlin/com/openai/models/Image.kt | 1 + .../models/ImageCreateVariationParams.kt | 16 ++ .../com/openai/models/ImageEditParams.kt | 18 ++ .../kotlin/com/openai/models/ImageFile.kt | 8 + .../openai/models/ImageFileContentBlock.kt | 8 + .../com/openai/models/ImageFileDelta.kt | 1 + .../com/openai/models/ImageFileDeltaBlock.kt | 8 + .../com/openai/models/ImageGenerateParams.kt | 16 ++ .../main/kotlin/com/openai/models/ImageUrl.kt | 8 + .../com/openai/models/ImageUrlContentBlock.kt | 8 + .../kotlin/com/openai/models/ImageUrlDelta.kt | 1 + .../com/openai/models/ImageUrlDeltaBlock.kt | 8 + .../com/openai/models/ImagesResponse.kt | 9 + .../main/kotlin/com/openai/models/Message.kt | 29 +++ .../models/MessageCreationStepDetails.kt | 16 ++ .../com/openai/models/MessageDeleted.kt | 9 + .../kotlin/com/openai/models/MessageDelta.kt | 1 + .../com/openai/models/MessageDeltaEvent.kt | 9 + .../com/openai/models/MessageStreamEvent.kt | 40 ++++ .../main/kotlin/com/openai/models/Metadata.kt | 1 + .../main/kotlin/com/openai/models/Model.kt | 10 + .../com/openai/models/ModelDeleteParams.kt | 8 + .../kotlin/com/openai/models/ModelDeleted.kt | 10 + .../kotlin/com/openai/models/ModelListPage.kt | 1 + .../com/openai/models/ModelListPageAsync.kt | 1 + .../com/openai/models/ModelListParams.kt | 1 + .../com/openai/models/ModelRetrieveParams.kt | 8 + .../kotlin/com/openai/models/Moderation.kt | 72 +++++++ .../openai/models/ModerationCreateParams.kt | 16 ++ .../openai/models/ModerationCreateResponse.kt | 10 + .../openai/models/ModerationImageUrlInput.kt | 16 ++ .../com/openai/models/ModerationTextInput.kt | 8 + .../models/OtherFileChunkingStrategyObject.kt | 4 + .../com/openai/models/RefusalContentBlock.kt | 8 + .../com/openai/models/RefusalDeltaBlock.kt | 8 + .../models/RequiredActionFunctionToolCall.kt | 19 ++ .../openai/models/ResponseFormatJsonObject.kt | 1 + .../openai/models/ResponseFormatJsonSchema.kt | 17 ++ .../com/openai/models/ResponseFormatText.kt | 1 + .../src/main/kotlin/com/openai/models/Run.kt | 75 +++++++ .../main/kotlin/com/openai/models/RunStep.kt | 41 ++++ .../kotlin/com/openai/models/RunStepDelta.kt | 1 + .../com/openai/models/RunStepDeltaEvent.kt | 9 + .../openai/models/RunStepDeltaMessageDelta.kt | 2 + .../com/openai/models/RunStepStreamEvent.kt | 56 +++++ .../com/openai/models/RunStreamEvent.kt | 80 ++++++++ .../models/StaticFileChunkingStrategy.kt | 9 + .../StaticFileChunkingStrategyObject.kt | 9 + .../StaticFileChunkingStrategyObjectParam.kt | 9 + .../src/main/kotlin/com/openai/models/Text.kt | 9 + .../com/openai/models/TextContentBlock.kt | 8 + .../openai/models/TextContentBlockParam.kt | 8 + .../kotlin/com/openai/models/TextDelta.kt | 1 + .../com/openai/models/TextDeltaBlock.kt | 8 + .../main/kotlin/com/openai/models/Thread.kt | 14 ++ .../kotlin/com/openai/models/ThreadDeleted.kt | 9 + .../com/openai/models/ThreadStreamEvent.kt | 8 + .../com/openai/models/ToolCallDeltaObject.kt | 1 + .../com/openai/models/ToolCallsStepDetails.kt | 8 + .../kotlin/com/openai/models/Transcription.kt | 8 + .../com/openai/models/TranscriptionSegment.kt | 17 ++ .../com/openai/models/TranscriptionVerbose.kt | 10 + .../com/openai/models/TranscriptionWord.kt | 10 + .../kotlin/com/openai/models/Translation.kt | 8 + .../com/openai/models/TranslationVerbose.kt | 10 + .../main/kotlin/com/openai/models/Upload.kt | 14 ++ .../com/openai/models/UploadCancelParams.kt | 8 + .../com/openai/models/UploadCompleteParams.kt | 17 ++ .../com/openai/models/UploadCreateParams.kt | 22 ++ .../kotlin/com/openai/models/UploadPart.kt | 10 + .../openai/models/UploadPartCreateParams.kt | 17 ++ .../kotlin/com/openai/models/VectorStore.kt | 35 ++++ .../com/openai/models/VectorStoreDeleted.kt | 9 + .../com/openai/models/VectorStoreFile.kt | 22 ++ .../com/openai/models/VectorStoreFileBatch.kt | 24 +++ .../openai/models/VectorStoreFileDeleted.kt | 9 + 231 files changed, 2927 insertions(+) diff --git a/openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClient.kt b/openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClient.kt index a0c4a83bc..439aa742b 100644 --- a/openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClient.kt +++ b/openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClient.kt @@ -21,6 +21,7 @@ class OpenAIOkHttpClient private constructor() { companion object { + /** Returns a mutable builder for constructing an instance of [OpenAIOkHttpClient]. */ @JvmStatic fun builder() = Builder() @JvmStatic fun fromEnv(): OpenAIClient = builder().fromEnv().build() diff --git a/openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClientAsync.kt b/openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClientAsync.kt index 13163b9fe..272997c1a 100644 --- a/openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClientAsync.kt +++ b/openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClientAsync.kt @@ -21,6 +21,7 @@ class OpenAIOkHttpClientAsync private constructor() { companion object { + /** Returns a mutable builder for constructing an instance of [OpenAIOkHttpClientAsync]. */ @JvmStatic fun builder() = Builder() @JvmStatic fun fromEnv(): OpenAIClientAsync = builder().fromEnv().build() diff --git a/openai-java-core/src/main/kotlin/com/openai/core/ClientOptions.kt b/openai-java-core/src/main/kotlin/com/openai/core/ClientOptions.kt index 744f143f9..56c2a4fe3 100644 --- a/openai-java-core/src/main/kotlin/com/openai/core/ClientOptions.kt +++ b/openai-java-core/src/main/kotlin/com/openai/core/ClientOptions.kt @@ -43,6 +43,15 @@ private constructor( const val PRODUCTION_URL = "https://api.openai.com/v1" + /** + * Returns a mutable builder for constructing an instance of [ClientOptions]. + * + * The following fields are required: + * ```java + * .httpClient() + * .apiKey() + * ``` + */ @JvmStatic fun builder() = Builder() @JvmStatic fun fromEnv(): ClientOptions = builder().fromEnv().build() diff --git a/openai-java-core/src/main/kotlin/com/openai/core/Timeout.kt b/openai-java-core/src/main/kotlin/com/openai/core/Timeout.kt index a27dd55a8..c38cba17d 100644 --- a/openai-java-core/src/main/kotlin/com/openai/core/Timeout.kt +++ b/openai-java-core/src/main/kotlin/com/openai/core/Timeout.kt @@ -60,6 +60,7 @@ private constructor( @JvmStatic fun default() = builder().build() + /** Returns a mutable builder for constructing an instance of [Timeout]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/errors/OpenAIError.kt b/openai-java-core/src/main/kotlin/com/openai/errors/OpenAIError.kt index 343f946c8..12ce3d189 100644 --- a/openai-java-core/src/main/kotlin/com/openai/errors/OpenAIError.kt +++ b/openai-java-core/src/main/kotlin/com/openai/errors/OpenAIError.kt @@ -27,6 +27,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [OpenAIError]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Assistant.kt b/openai-java-core/src/main/kotlin/com/openai/models/Assistant.kt index ce1e4c05c..e05f95a58 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Assistant.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Assistant.kt @@ -275,6 +275,21 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Assistant]. + * + * The following fields are required: + * ```java + * .id() + * .createdAt() + * .description() + * .instructions() + * .metadata() + * .model() + * .name() + * .tools() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -791,6 +806,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolResources]. */ @JvmStatic fun builder() = Builder() } @@ -891,6 +907,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [CodeInterpreter]. */ @JvmStatic fun builder() = Builder() } @@ -1030,6 +1047,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/AssistantDeleted.kt b/openai-java-core/src/main/kotlin/com/openai/models/AssistantDeleted.kt index 817d1bc66..9ac566ee1 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/AssistantDeleted.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/AssistantDeleted.kt @@ -64,6 +64,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [AssistantDeleted]. + * + * The following fields are required: + * ```java + * .id() + * .deleted() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/AssistantStreamEvent.kt b/openai-java-core/src/main/kotlin/com/openai/models/AssistantStreamEvent.kt index 19e1fc07e..dc9bb3b20 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/AssistantStreamEvent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/AssistantStreamEvent.kt @@ -1309,6 +1309,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadCreated]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1446,6 +1454,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunCreated]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1574,6 +1590,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunQueued]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1702,6 +1726,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunInProgress]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1830,6 +1862,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunRequiresAction]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1957,6 +1997,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunCompleted]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2085,6 +2133,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunIncomplete]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2210,6 +2266,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunFailed]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2338,6 +2402,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunCancelling]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2465,6 +2537,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunCancelled]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2590,6 +2670,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunExpired]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2714,6 +2802,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepCreated]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2833,6 +2929,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepInProgress]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2952,6 +3056,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepDelta]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -3075,6 +3187,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepCompleted]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -3193,6 +3313,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepFailed]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -3312,6 +3440,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepCancelled]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -3430,6 +3566,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepExpired]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -3554,6 +3698,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageCreated]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -3684,6 +3836,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageInProgress]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -3808,6 +3968,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageDelta]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -3932,6 +4100,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageCompleted]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -4062,6 +4238,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageIncomplete]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -4184,6 +4368,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ErrorEvent]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/AssistantToolChoice.kt b/openai-java-core/src/main/kotlin/com/openai/models/AssistantToolChoice.kt index ca27fde8e..5330120f1 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/AssistantToolChoice.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/AssistantToolChoice.kt @@ -64,6 +64,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [AssistantToolChoice]. + * + * The following fields are required: + * ```java + * .type() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/AssistantToolChoiceFunction.kt b/openai-java-core/src/main/kotlin/com/openai/models/AssistantToolChoiceFunction.kt index a19ebcf21..272c72dd0 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/AssistantToolChoiceFunction.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/AssistantToolChoiceFunction.kt @@ -49,6 +49,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [AssistantToolChoiceFunction]. + * + * The following fields are required: + * ```java + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/AudioSpeechCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/AudioSpeechCreateParams.kt index 24b65ffa6..354f19b1b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/AudioSpeechCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/AudioSpeechCreateParams.kt @@ -203,6 +203,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .input() + * .model() + * .voice() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -345,6 +355,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [AudioSpeechCreateParams]. + * + * The following fields are required: + * ```java + * .input() + * .model() + * .voice() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/AudioTranscriptionCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/AudioTranscriptionCreateParams.kt index 48a79d021..15ab5f5c6 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/AudioTranscriptionCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/AudioTranscriptionCreateParams.kt @@ -281,6 +281,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .file() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -469,6 +478,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [AudioTranscriptionCreateParams]. + * + * The following fields are required: + * ```java + * .file() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/AudioTranslationCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/AudioTranslationCreateParams.kt index fe1ea3cfd..349aff662 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/AudioTranslationCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/AudioTranslationCreateParams.kt @@ -206,6 +206,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .file() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -339,6 +348,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [AudioTranslationCreateParams]. + * + * The following fields are required: + * ```java + * .file() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/AutoFileChunkingStrategyParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/AutoFileChunkingStrategyParam.kt index 0e5d08984..2b5b2070f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/AutoFileChunkingStrategyParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/AutoFileChunkingStrategyParam.kt @@ -53,6 +53,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [AutoFileChunkingStrategyParam]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Batch.kt b/openai-java-core/src/main/kotlin/com/openai/models/Batch.kt index 902e1187a..101690197 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Batch.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Batch.kt @@ -274,6 +274,19 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Batch]. + * + * The following fields are required: + * ```java + * .id() + * .completionWindow() + * .createdAt() + * .endpoint() + * .inputFileId() + * .status() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -696,6 +709,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Errors]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BatchCancelParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BatchCancelParams.kt index 7f4ab1bad..5b562a94c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BatchCancelParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BatchCancelParams.kt @@ -52,6 +52,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BatchCancelParams]. + * + * The following fields are required: + * ```java + * .batchId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BatchCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BatchCreateParams.kt index 1b1a6d9d0..02a9b1f0a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BatchCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BatchCreateParams.kt @@ -232,6 +232,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .completionWindow() + * .endpoint() + * .inputFileId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -393,6 +403,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BatchCreateParams]. + * + * The following fields are required: + * ```java + * .completionWindow() + * .endpoint() + * .inputFileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BatchError.kt b/openai-java-core/src/main/kotlin/com/openai/models/BatchError.kt index 33eee763f..e2675a67a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BatchError.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BatchError.kt @@ -75,6 +75,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [BatchError]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BatchListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/BatchListPage.kt index 81d3e2a70..ce3311cce 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BatchListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BatchListPage.kt @@ -124,6 +124,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [BatchListPage]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BatchListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/BatchListPageAsync.kt index 1479fd04f..d8b0994df 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BatchListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BatchListPageAsync.kt @@ -127,6 +127,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [BatchListPageAsync]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BatchListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BatchListParams.kt index 5997e0f58..0e29ecc66 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BatchListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BatchListParams.kt @@ -51,6 +51,7 @@ private constructor( @JvmStatic fun none(): BatchListParams = builder().build() + /** Returns a mutable builder for constructing an instance of [BatchListParams]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BatchRequestCounts.kt b/openai-java-core/src/main/kotlin/com/openai/models/BatchRequestCounts.kt index 075cf81e9..dce9e81cd 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BatchRequestCounts.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BatchRequestCounts.kt @@ -68,6 +68,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BatchRequestCounts]. + * + * The following fields are required: + * ```java + * .completed() + * .failed() + * .total() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BatchRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BatchRetrieveParams.kt index 5e70eba94..55aaf6d5f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BatchRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BatchRetrieveParams.kt @@ -38,6 +38,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BatchRetrieveParams]. + * + * The following fields are required: + * ```java + * .batchId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantCreateParams.kt index 24948a0ae..2be099edb 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantCreateParams.kt @@ -491,6 +491,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1018,6 +1026,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaAssistantCreateParams]. + * + * The following fields are required: + * ```java + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1738,6 +1754,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolResources]. */ @JvmStatic fun builder() = Builder() } @@ -1838,6 +1855,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [CodeInterpreter]. */ @JvmStatic fun builder() = Builder() } @@ -2000,6 +2018,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } @@ -2203,6 +2222,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [VectorStore]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantDeleteParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantDeleteParams.kt index 23450f021..21b8f85b7 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantDeleteParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantDeleteParams.kt @@ -48,6 +48,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaAssistantDeleteParams]. + * + * The following fields are required: + * ```java + * .assistantId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListPage.kt index 666527f50..9b18e5de1 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListPage.kt @@ -129,6 +129,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaAssistantListPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListPageAsync.kt index 79a244612..82758ad1a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListPageAsync.kt @@ -132,6 +132,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaAssistantListPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListParams.kt index 985ad32a4..79d2c742f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantListParams.kt @@ -72,6 +72,7 @@ private constructor( @JvmStatic fun none(): BetaAssistantListParams = builder().build() + /** Returns a mutable builder for constructing an instance of [BetaAssistantListParams]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantRetrieveParams.kt index b02400141..f2cc64654 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantRetrieveParams.kt @@ -38,6 +38,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaAssistantRetrieveParams]. + * + * The following fields are required: + * ```java + * .assistantId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantUpdateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantUpdateParams.kt index 324c5d930..27ed6efcd 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantUpdateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaAssistantUpdateParams.kt @@ -501,6 +501,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Body]. */ @JvmStatic fun builder() = Builder() } @@ -1028,6 +1029,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaAssistantUpdateParams]. + * + * The following fields are required: + * ```java + * .assistantId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2025,6 +2034,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolResources]. */ @JvmStatic fun builder() = Builder() } @@ -2125,6 +2135,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [CodeInterpreter]. */ @JvmStatic fun builder() = Builder() } @@ -2267,6 +2278,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadCreateAndRunParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadCreateAndRunParams.kt index 1916afbf1..ef7ba4a07 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadCreateAndRunParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadCreateAndRunParams.kt @@ -667,6 +667,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .assistantId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1352,6 +1360,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadCreateAndRunParams]. + * + * The following fields are required: + * ```java + * .assistantId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2141,6 +2157,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Thread]. */ @JvmStatic fun builder() = Builder() } @@ -2369,6 +2386,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Message]. + * + * The following fields are required: + * ```java + * .content() + * .role() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2847,6 +2873,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Attachment]. */ @JvmStatic fun builder() = Builder() } @@ -3188,6 +3215,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolResources]. */ @JvmStatic fun builder() = Builder() } @@ -3291,6 +3319,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CodeInterpreter]. + */ @JvmStatic fun builder() = Builder() } @@ -3453,6 +3484,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } @@ -3658,6 +3690,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [VectorStore]. + */ @JvmStatic fun builder() = Builder() } @@ -3935,6 +3970,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolResources]. */ @JvmStatic fun builder() = Builder() } @@ -4035,6 +4071,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [CodeInterpreter]. */ @JvmStatic fun builder() = Builder() } @@ -4174,6 +4211,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } @@ -4510,6 +4548,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TruncationStrategy]. + * + * The following fields are required: + * ```java + * .type() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadCreateParams.kt index 5426215d4..c2ba2100c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadCreateParams.kt @@ -196,6 +196,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Body]. */ @JvmStatic fun builder() = Builder() } @@ -350,6 +351,7 @@ private constructor( @JvmStatic fun none(): BetaThreadCreateParams = builder().build() + /** Returns a mutable builder for constructing an instance of [BetaThreadCreateParams]. */ @JvmStatic fun builder() = Builder() } @@ -663,6 +665,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Message]. + * + * The following fields are required: + * ```java + * .content() + * .role() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1122,6 +1133,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Attachment]. */ @JvmStatic fun builder() = Builder() } @@ -1458,6 +1470,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolResources]. */ @JvmStatic fun builder() = Builder() } @@ -1558,6 +1571,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [CodeInterpreter]. */ @JvmStatic fun builder() = Builder() } @@ -1720,6 +1734,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } @@ -1923,6 +1938,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [VectorStore]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadDeleteParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadDeleteParams.kt index 00e226e28..fcdac72c9 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadDeleteParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadDeleteParams.kt @@ -48,6 +48,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadDeleteParams]. + * + * The following fields are required: + * ```java + * .threadId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageCreateParams.kt index c18f842b2..37f6b9717 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageCreateParams.kt @@ -207,6 +207,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .content() + * .role() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -365,6 +374,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadMessageCreateParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .content() + * .role() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -913,6 +933,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Attachment]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageDeleteParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageDeleteParams.kt index fbb24cd19..741d0d61b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageDeleteParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageDeleteParams.kt @@ -52,6 +52,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadMessageDeleteParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .messageId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListPage.kt index db0cff9d5..26b0f3cf8 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListPage.kt @@ -129,6 +129,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadMessageListPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListPageAsync.kt index 5d644592b..6735f0083 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListPageAsync.kt @@ -132,6 +132,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadMessageListPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListParams.kt index 5bd9918f2..cc8248670 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageListParams.kt @@ -86,6 +86,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadMessageListParams]. + * + * The following fields are required: + * ```java + * .threadId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageRetrieveParams.kt index a5c3a7f33..c97c4045d 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageRetrieveParams.kt @@ -42,6 +42,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadMessageRetrieveParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .messageId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageUpdateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageUpdateParams.kt index 59dc51eaf..70ff64d50 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageUpdateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadMessageUpdateParams.kt @@ -124,6 +124,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Body]. */ @JvmStatic fun builder() = Builder() } @@ -213,6 +214,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadMessageUpdateParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .messageId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRetrieveParams.kt index b35a2d18e..77836a9ec 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRetrieveParams.kt @@ -38,6 +38,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadRetrieveParams]. + * + * The following fields are required: + * ```java + * .threadId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunCancelParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunCancelParams.kt index 7cfc8c7d2..00d6b1021 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunCancelParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunCancelParams.kt @@ -52,6 +52,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadRunCancelParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .runId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunCreateParams.kt index 366e0609a..d7b74e55a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunCreateParams.kt @@ -734,6 +734,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .assistantId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1476,6 +1484,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadRunCreateParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .assistantId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2358,6 +2375,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [AdditionalMessage]. + * + * The following fields are required: + * ```java + * .content() + * .role() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2817,6 +2843,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Attachment]. */ @JvmStatic fun builder() = Builder() } @@ -3283,6 +3310,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TruncationStrategy]. + * + * The following fields are required: + * ```java + * .type() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListPage.kt index d13456574..2addc87cb 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListPage.kt @@ -126,6 +126,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadRunListPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListPageAsync.kt index bcd8f2ef5..1b9b77c17 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListPageAsync.kt @@ -129,6 +129,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadRunListPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListParams.kt index 18af3ace9..e2a7795fc 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunListParams.kt @@ -81,6 +81,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadRunListParams]. + * + * The following fields are required: + * ```java + * .threadId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunRetrieveParams.kt index ef89ec493..c05218e74 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunRetrieveParams.kt @@ -42,6 +42,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadRunRetrieveParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .runId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListPage.kt index 6fb4251ed..c019d363c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListPage.kt @@ -126,6 +126,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadRunStepListPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListPageAsync.kt index fce887960..c837421b0 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListPageAsync.kt @@ -132,6 +132,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadRunStepListPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListParams.kt index efbf21a75..f5398bb3c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepListParams.kt @@ -99,6 +99,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadRunStepListParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .runId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepRetrieveParams.kt index 83682606e..546a4f33c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunStepRetrieveParams.kt @@ -65,6 +65,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadRunStepRetrieveParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .runId() + * .stepId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunSubmitToolOutputsParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunSubmitToolOutputsParams.kt index a6bdea965..5e8cdc1e4 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunSubmitToolOutputsParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunSubmitToolOutputsParams.kt @@ -103,6 +103,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .toolOutputs() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -182,6 +190,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaThreadRunSubmitToolOutputsParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .runId() + * .toolOutputs() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -404,6 +423,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolOutput]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunUpdateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunUpdateParams.kt index 7e2fb233e..997f435d7 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunUpdateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadRunUpdateParams.kt @@ -124,6 +124,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Body]. */ @JvmStatic fun builder() = Builder() } @@ -213,6 +214,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadRunUpdateParams]. + * + * The following fields are required: + * ```java + * .threadId() + * .runId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadUpdateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadUpdateParams.kt index ba4e3a291..490303028 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadUpdateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaThreadUpdateParams.kt @@ -158,6 +158,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Body]. */ @JvmStatic fun builder() = Builder() } @@ -277,6 +278,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaThreadUpdateParams]. + * + * The following fields are required: + * ```java + * .threadId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -537,6 +546,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolResources]. */ @JvmStatic fun builder() = Builder() } @@ -637,6 +647,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [CodeInterpreter]. */ @JvmStatic fun builder() = Builder() } @@ -776,6 +787,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreCreateParams.kt index f4583b246..6d40afc09 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreCreateParams.kt @@ -206,6 +206,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Body]. */ @JvmStatic fun builder() = Builder() } @@ -388,6 +389,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaVectorStoreCreateParams]. + */ @JvmStatic fun builder() = Builder() } @@ -680,6 +684,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ExpiresAfter]. + * + * The following fields are required: + * ```java + * .days() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreDeleteParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreDeleteParams.kt index 69ee69de8..6514557cb 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreDeleteParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreDeleteParams.kt @@ -48,6 +48,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaVectorStoreDeleteParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchCancelParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchCancelParams.kt index b6e8e6707..a2e6d4eed 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchCancelParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchCancelParams.kt @@ -55,6 +55,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileBatchCancelParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * .batchId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchCreateParams.kt index d94d823cd..327c5249c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchCreateParams.kt @@ -136,6 +136,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .fileIds() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -265,6 +273,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileBatchCreateParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * .fileIds() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesPage.kt index d3d7aeb9f..6b4753be9 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesPage.kt @@ -132,6 +132,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileBatchListFilesPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesPageAsync.kt index 2323bd19b..71578f302 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesPageAsync.kt @@ -135,6 +135,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileBatchListFilesPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesParams.kt index fe134c6fa..530699fe4 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchListFilesParams.kt @@ -90,6 +90,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileBatchListFilesParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * .batchId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchRetrieveParams.kt index 02f6783b8..ba4e0def1 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileBatchRetrieveParams.kt @@ -42,6 +42,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileBatchRetrieveParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * .batchId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileCreateParams.kt index 0259ca411..6ab4ff49f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileCreateParams.kt @@ -139,6 +139,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -255,6 +263,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileCreateParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileDeleteParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileDeleteParams.kt index e8e48e504..c6bde659c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileDeleteParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileDeleteParams.kt @@ -56,6 +56,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileDeleteParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListPage.kt index 2eb33b54f..a5aa0ec79 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListPage.kt @@ -129,6 +129,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileListPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListPageAsync.kt index 5ff6dff47..687e1a08e 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListPageAsync.kt @@ -132,6 +132,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileListPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListParams.kt index bf3cb9905..cfc2d454c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileListParams.kt @@ -86,6 +86,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileListParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileRetrieveParams.kt index a3e2d9999..522085f2d 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreFileRetrieveParams.kt @@ -42,6 +42,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreFileRetrieveParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListPage.kt index 4b223a8d0..fb97552ca 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListPage.kt @@ -129,6 +129,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaVectorStoreListPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListPageAsync.kt index 742f3af95..fedbf7800 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListPageAsync.kt @@ -132,6 +132,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreListPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListParams.kt index 7239e2a66..2124ffa1a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreListParams.kt @@ -72,6 +72,9 @@ private constructor( @JvmStatic fun none(): BetaVectorStoreListParams = builder().build() + /** + * Returns a mutable builder for constructing an instance of [BetaVectorStoreListParams]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreRetrieveParams.kt index 0894f09fc..8ab587de2 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreRetrieveParams.kt @@ -38,6 +38,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [BetaVectorStoreRetrieveParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreUpdateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreUpdateParams.kt index a36af703e..4fe8d1ec3 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreUpdateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/BetaVectorStoreUpdateParams.kt @@ -156,6 +156,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Body]. */ @JvmStatic fun builder() = Builder() } @@ -272,6 +273,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [BetaVectorStoreUpdateParams]. + * + * The following fields are required: + * ```java + * .vectorStoreId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -518,6 +527,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ExpiresAfter]. + * + * The following fields are required: + * ```java + * .days() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletion.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletion.kt index 9d6a542ba..e57c184eb 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletion.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletion.kt @@ -137,6 +137,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletion]. + * + * The following fields are required: + * ```java + * .id() + * .choices() + * .created() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -354,6 +365,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Choice]. + * + * The following fields are required: + * ```java + * .finishReason() + * .index() + * .logprobs() + * .message() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -629,6 +651,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Logprobs]. + * + * The following fields are required: + * ```java + * .content() + * .refusal() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAssistantMessageParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAssistantMessageParam.kt index 312d18902..a48f1d14b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAssistantMessageParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAssistantMessageParam.kt @@ -153,6 +153,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionAssistantMessageParam]. + */ @JvmStatic fun builder() = Builder() } @@ -366,6 +370,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Audio]. + * + * The following fields are required: + * ```java + * .id() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -858,6 +870,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FunctionCall]. + * + * The following fields are required: + * ```java + * .arguments() + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAudio.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAudio.kt index a7bde7393..9b825b92a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAudio.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAudio.kt @@ -91,6 +91,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionAudio]. + * + * The following fields are required: + * ```java + * .id() + * .data() + * .expiresAt() + * .transcript() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAudioParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAudioParam.kt index 936fc5c2e..c8a31f7af 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAudioParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionAudioParam.kt @@ -77,6 +77,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionAudioParam]. + * + * The following fields are required: + * ```java + * .format() + * .voice() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionChunk.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionChunk.kt index f84f58828..592da1372 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionChunk.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionChunk.kt @@ -160,6 +160,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionChunk]. + * + * The following fields are required: + * ```java + * .id() + * .choices() + * .created() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -407,6 +418,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Choice]. + * + * The following fields are required: + * ```java + * .delta() + * .finishReason() + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -598,6 +619,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Delta]. */ @JvmStatic fun builder() = Builder() } @@ -772,6 +794,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FunctionCall]. */ @JvmStatic fun builder() = Builder() } @@ -1044,6 +1067,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ToolCall]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1176,6 +1207,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Function]. */ @JvmStatic fun builder() = Builder() } @@ -1580,6 +1612,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Logprobs]. + * + * The following fields are required: + * ```java + * .content() + * .refusal() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartImage.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartImage.kt index 13437a3fa..7e1773147 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartImage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartImage.kt @@ -62,6 +62,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionContentPartImage]. + * + * The following fields are required: + * ```java + * .imageUrl() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -164,6 +173,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageUrl]. + * + * The following fields are required: + * ```java + * .url() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartInputAudio.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartInputAudio.kt index fb9aad9e1..1a4e39504 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartInputAudio.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartInputAudio.kt @@ -63,6 +63,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionContentPartInputAudio]. + * + * The following fields are required: + * ```java + * .inputAudio() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -163,6 +172,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [InputAudio]. + * + * The following fields are required: + * ```java + * .data() + * .format() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartRefusal.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartRefusal.kt index 6ee691d89..61962dfa1 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartRefusal.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartRefusal.kt @@ -61,6 +61,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionContentPartRefusal]. + * + * The following fields are required: + * ```java + * .refusal() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartText.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartText.kt index c7edcedc0..034c28efb 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartText.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionContentPartText.kt @@ -60,6 +60,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionContentPartText]. + * + * The following fields are required: + * ```java + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionCreateParams.kt index 65fbe332e..fd424ae72 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionCreateParams.kt @@ -1263,6 +1263,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .messages() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2527,6 +2536,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionCreateParams]. + * + * The following fields are required: + * ```java + * .messages() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -4116,6 +4134,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Function]. + * + * The following fields are required: + * ```java + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -4264,6 +4290,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [LogitBias]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeleteParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeleteParams.kt index edde0e348..2f43c5f27 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeleteParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeleteParams.kt @@ -51,6 +51,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionDeleteParams]. + * + * The following fields are required: + * ```java + * .completionId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeleted.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeleted.kt index 74b5e3a38..885eccc5b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeleted.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeleted.kt @@ -69,6 +69,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionDeleted]. + * + * The following fields are required: + * ```java + * .id() + * .deleted() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeveloperMessageParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeveloperMessageParam.kt index 0574c4f1e..c77ecc302 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeveloperMessageParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionDeveloperMessageParam.kt @@ -90,6 +90,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionDeveloperMessageParam]. + * + * The following fields are required: + * ```java + * .content() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionFunctionCallOption.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionFunctionCallOption.kt index 7ad35cf75..19993eab0 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionFunctionCallOption.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionFunctionCallOption.kt @@ -53,6 +53,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionFunctionCallOption]. + * + * The following fields are required: + * ```java + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionFunctionMessageParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionFunctionMessageParam.kt index 16bfec777..db2bf68f4 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionFunctionMessageParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionFunctionMessageParam.kt @@ -71,6 +71,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionFunctionMessageParam]. + * + * The following fields are required: + * ```java + * .content() + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessage.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessage.kt index d7da00c38..c69b08872 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessage.kt @@ -144,6 +144,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionMessage]. + * + * The following fields are required: + * ```java + * .content() + * .refusal() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -333,6 +342,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FunctionCall]. + * + * The following fields are required: + * ```java + * .arguments() + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListPage.kt index eafba7f08..77e350fc7 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListPage.kt @@ -134,6 +134,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionMessageListPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListPageAsync.kt index 7417066f6..abf7d1971 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListPageAsync.kt @@ -137,6 +137,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionMessageListPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListParams.kt index 9931b0944..71946a486 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageListParams.kt @@ -68,6 +68,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionMessageListParams]. + * + * The following fields are required: + * ```java + * .completionId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageToolCall.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageToolCall.kt index 0903cebc1..52cc157c8 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageToolCall.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionMessageToolCall.kt @@ -69,6 +69,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionMessageToolCall]. + * + * The following fields are required: + * ```java + * .id() + * .function() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -188,6 +198,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Function]. + * + * The following fields are required: + * ```java + * .arguments() + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionNamedToolChoice.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionNamedToolChoice.kt index b07dc3e34..dffafe4c7 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionNamedToolChoice.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionNamedToolChoice.kt @@ -60,6 +60,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionNamedToolChoice]. + * + * The following fields are required: + * ```java + * .function() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -147,6 +156,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Function]. + * + * The following fields are required: + * ```java + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionPredictionContent.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionPredictionContent.kt index aaac9c4a3..389618939 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionPredictionContent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionPredictionContent.kt @@ -84,6 +84,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionPredictionContent]. + * + * The following fields are required: + * ```java + * .content() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionRetrieveParams.kt index 02d291ba6..c063bab80 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionRetrieveParams.kt @@ -41,6 +41,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionRetrieveParams]. + * + * The following fields are required: + * ```java + * .completionId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionStoreMessage.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionStoreMessage.kt index 3d2755641..51ff17e3a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionStoreMessage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionStoreMessage.kt @@ -142,6 +142,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionStoreMessage]. + * + * The following fields are required: + * ```java + * .content() + * .refusal() + * .id() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionStreamOptions.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionStreamOptions.kt index 13d36387c..aef1ce624 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionStreamOptions.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionStreamOptions.kt @@ -65,6 +65,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionStreamOptions]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionSystemMessageParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionSystemMessageParam.kt index 3e35f5352..f3bcd6266 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionSystemMessageParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionSystemMessageParam.kt @@ -90,6 +90,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionSystemMessageParam]. + * + * The following fields are required: + * ```java + * .content() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionTokenLogprob.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionTokenLogprob.kt index 6a43736c7..da8c6e27f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionTokenLogprob.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionTokenLogprob.kt @@ -105,6 +105,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionTokenLogprob]. + * + * The following fields are required: + * ```java + * .token() + * .bytes() + * .logprob() + * .topLogprobs() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -307,6 +318,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TopLogprob]. + * + * The following fields are required: + * ```java + * .token() + * .bytes() + * .logprob() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionTool.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionTool.kt index cdff8a435..206b02565 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionTool.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionTool.kt @@ -61,6 +61,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionTool]. + * + * The following fields are required: + * ```java + * .function() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionToolMessageParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionToolMessageParam.kt index 68639c958..d94268b7b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionToolMessageParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionToolMessageParam.kt @@ -82,6 +82,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionToolMessageParam]. + * + * The following fields are required: + * ```java + * .content() + * .toolCallId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionUpdateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionUpdateParams.kt index 5b7243dde..72a53a9bc 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionUpdateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionUpdateParams.kt @@ -124,6 +124,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .metadata() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -214,6 +222,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ChatCompletionUpdateParams]. + * + * The following fields are required: + * ```java + * .completionId() + * .metadata() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionUserMessageParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionUserMessageParam.kt index 80b530033..ea43dff23 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionUserMessageParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatCompletionUserMessageParam.kt @@ -87,6 +87,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [ChatCompletionUserMessageParam]. + * + * The following fields are required: + * ```java + * .content() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterLogs.kt b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterLogs.kt index 3617a1fb7..e01b1dcfd 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterLogs.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterLogs.kt @@ -69,6 +69,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CodeInterpreterLogs]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterOutputImage.kt b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterOutputImage.kt index 2a97ae236..be2927fec 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterOutputImage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterOutputImage.kt @@ -66,6 +66,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CodeInterpreterOutputImage]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -162,6 +170,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Image]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterTool.kt b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterTool.kt index b02bafcdc..3be2fb783 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterTool.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterTool.kt @@ -49,6 +49,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [CodeInterpreterTool]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterToolCall.kt b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterToolCall.kt index ca1b5a981..449da837b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterToolCall.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterToolCall.kt @@ -88,6 +88,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CodeInterpreterToolCall]. + * + * The following fields are required: + * ```java + * .id() + * .codeInterpreter() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -211,6 +220,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CodeInterpreter]. + * + * The following fields are required: + * ```java + * .input() + * .outputs() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -506,6 +524,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [LogsOutput]. + * + * The following fields are required: + * ```java + * .logs() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -625,6 +651,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageOutput]. + * + * The following fields are required: + * ```java + * .image() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -723,6 +757,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Image]. + * + * The following fields are required: + * ```java + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterToolCallDelta.kt b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterToolCallDelta.kt index bd43e7fba..1c45c004a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterToolCallDelta.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/CodeInterpreterToolCallDelta.kt @@ -97,6 +97,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CodeInterpreterToolCallDelta]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -229,6 +237,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [CodeInterpreter]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Completion.kt b/openai-java-core/src/main/kotlin/com/openai/models/Completion.kt index 0a1563927..e3c5bad18 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Completion.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Completion.kt @@ -128,6 +128,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Completion]. + * + * The following fields are required: + * ```java + * .id() + * .choices() + * .created() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/CompletionChoice.kt b/openai-java-core/src/main/kotlin/com/openai/models/CompletionChoice.kt index db481b2e8..5c764cd49 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/CompletionChoice.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/CompletionChoice.kt @@ -87,6 +87,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CompletionChoice]. + * + * The following fields are required: + * ```java + * .finishReason() + * .index() + * .logprobs() + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -349,6 +360,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Logprobs]. */ @JvmStatic fun builder() = Builder() } @@ -478,6 +490,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [TopLogprob]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/CompletionCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/CompletionCreateParams.kt index 5e2301891..69f968564 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/CompletionCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/CompletionCreateParams.kt @@ -739,6 +739,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .model() + * .prompt() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1468,6 +1477,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CompletionCreateParams]. + * + * The following fields are required: + * ```java + * .model() + * .prompt() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2554,6 +2572,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [LogitBias]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/CompletionUsage.kt b/openai-java-core/src/main/kotlin/com/openai/models/CompletionUsage.kt index 303eaff76..e48f18891 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/CompletionUsage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/CompletionUsage.kt @@ -103,6 +103,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CompletionUsage]. + * + * The following fields are required: + * ```java + * .completionTokens() + * .promptTokens() + * .totalTokens() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -289,6 +299,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CompletionTokensDetails]. + */ @JvmStatic fun builder() = Builder() } @@ -459,6 +472,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [PromptTokensDetails]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/CreateEmbeddingResponse.kt b/openai-java-core/src/main/kotlin/com/openai/models/CreateEmbeddingResponse.kt index 9680ca910..82baad0ed 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/CreateEmbeddingResponse.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/CreateEmbeddingResponse.kt @@ -78,6 +78,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CreateEmbeddingResponse]. + * + * The following fields are required: + * ```java + * .data() + * .model() + * .usage() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -210,6 +220,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Usage]. + * + * The following fields are required: + * ```java + * .promptTokens() + * .totalTokens() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Embedding.kt b/openai-java-core/src/main/kotlin/com/openai/models/Embedding.kt index 171317c65..6f472cb43 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Embedding.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Embedding.kt @@ -77,6 +77,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Embedding]. + * + * The following fields are required: + * ```java + * .embedding() + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/EmbeddingCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/EmbeddingCreateParams.kt index a990cf143..f24213c0d 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/EmbeddingCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/EmbeddingCreateParams.kt @@ -253,6 +253,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .input() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -432,6 +441,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [EmbeddingCreateParams]. + * + * The following fields are required: + * ```java + * .input() + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ErrorObject.kt b/openai-java-core/src/main/kotlin/com/openai/models/ErrorObject.kt index bdb0d735f..bb44e4b03 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ErrorObject.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ErrorObject.kt @@ -68,6 +68,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ErrorObject]. + * + * The following fields are required: + * ```java + * .code() + * .message() + * .param() + * .type() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileCitationAnnotation.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileCitationAnnotation.kt index 330357e63..cb4521add 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileCitationAnnotation.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileCitationAnnotation.kt @@ -90,6 +90,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileCitationAnnotation]. + * + * The following fields are required: + * ```java + * .endIndex() + * .fileCitation() + * .startIndex() + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -202,6 +213,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileCitation]. + * + * The following fields are required: + * ```java + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileCitationDeltaAnnotation.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileCitationDeltaAnnotation.kt index 18067179e..3d91c5018 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileCitationDeltaAnnotation.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileCitationDeltaAnnotation.kt @@ -100,6 +100,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileCitationDeltaAnnotation]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -231,6 +239,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileCitation]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileContentParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileContentParams.kt index a519f9505..b026eae7b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileContentParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileContentParams.kt @@ -38,6 +38,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileContentParams]. + * + * The following fields are required: + * ```java + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileCreateParams.kt index 6a50b282a..02b740283 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileCreateParams.kt @@ -130,6 +130,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .file() + * .purpose() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -199,6 +208,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileCreateParams]. + * + * The following fields are required: + * ```java + * .file() + * .purpose() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileDeleteParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileDeleteParams.kt index cb4b350dd..016822bb9 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileDeleteParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileDeleteParams.kt @@ -48,6 +48,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileDeleteParams]. + * + * The following fields are required: + * ```java + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileDeleted.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileDeleted.kt index c1ec3ab03..482f86b78 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileDeleted.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileDeleted.kt @@ -64,6 +64,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileDeleted]. + * + * The following fields are required: + * ```java + * .id() + * .deleted() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileListPage.kt index be8e03301..5b39b7bd7 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileListPage.kt @@ -124,6 +124,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileListPage]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileListPageAsync.kt index db2bb01ac..518e5ab6f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileListPageAsync.kt @@ -127,6 +127,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileListPageAsync]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileListParams.kt index 41bc4505e..d8d60cf7f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileListParams.kt @@ -68,6 +68,7 @@ private constructor( @JvmStatic fun none(): FileListParams = builder().build() + /** Returns a mutable builder for constructing an instance of [FileListParams]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileObject.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileObject.kt index d354428a3..1b65490a2 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileObject.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileObject.kt @@ -156,6 +156,19 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileObject]. + * + * The following fields are required: + * ```java + * .id() + * .bytes() + * .createdAt() + * .filename() + * .purpose() + * .status() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FilePathAnnotation.kt b/openai-java-core/src/main/kotlin/com/openai/models/FilePathAnnotation.kt index c6f089747..8d1a6d388 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FilePathAnnotation.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FilePathAnnotation.kt @@ -87,6 +87,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FilePathAnnotation]. + * + * The following fields are required: + * ```java + * .endIndex() + * .filePath() + * .startIndex() + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -197,6 +208,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FilePath]. + * + * The following fields are required: + * ```java + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FilePathDeltaAnnotation.kt b/openai-java-core/src/main/kotlin/com/openai/models/FilePathDeltaAnnotation.kt index b0f4797f4..6ab4e7eb4 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FilePathDeltaAnnotation.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FilePathDeltaAnnotation.kt @@ -96,6 +96,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FilePathDeltaAnnotation]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -215,6 +223,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FilePath]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileRetrieveParams.kt index 692fe646c..082562be2 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileRetrieveParams.kt @@ -38,6 +38,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileRetrieveParams]. + * + * The following fields are required: + * ```java + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileSearchTool.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileSearchTool.kt index f3c7861be..9b37e25f5 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileSearchTool.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileSearchTool.kt @@ -66,6 +66,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearchTool]. */ @JvmStatic fun builder() = Builder() } @@ -198,6 +199,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } @@ -353,6 +355,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [RankingOptions]. + * + * The following fields are required: + * ```java + * .scoreThreshold() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCall.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCall.kt index 68ea033ee..f571868af 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCall.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCall.kt @@ -76,6 +76,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileSearchToolCall]. + * + * The following fields are required: + * ```java + * .id() + * .fileSearch() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -191,6 +200,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } @@ -316,6 +326,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [RankingOptions]. + * + * The following fields are required: + * ```java + * .scoreThreshold() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -479,6 +497,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Result]. + * + * The following fields are required: + * ```java + * .fileId() + * .fileName() + * .score() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -627,6 +655,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Content]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCallDelta.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCallDelta.kt index 0455612cb..657497ce9 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCallDelta.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCallDelta.kt @@ -76,6 +76,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileSearchToolCallDelta]. + * + * The following fields are required: + * ```java + * .fileSearch() + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJob.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJob.kt index 5a9f47d4b..138ae1108 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJob.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJob.kt @@ -313,6 +313,27 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FineTuningJob]. + * + * The following fields are required: + * ```java + * .id() + * .createdAt() + * .error() + * .fineTunedModel() + * .finishedAt() + * .hyperparameters() + * .model() + * .organizationId() + * .resultFiles() + * .seed() + * .status() + * .trainedTokens() + * .trainingFile() + * .validationFile() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -752,6 +773,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Error]. + * + * The following fields are required: + * ```java + * .code() + * .message() + * .param() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -931,6 +962,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Hyperparameters]. */ @JvmStatic fun builder() = Builder() } @@ -1714,6 +1746,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Method]. */ @JvmStatic fun builder() = Builder() } @@ -1815,6 +1848,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Dpo]. */ @JvmStatic fun builder() = Builder() } @@ -1968,6 +2002,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Hyperparameters]. + */ @JvmStatic fun builder() = Builder() } @@ -2819,6 +2856,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Supervised]. */ @JvmStatic fun builder() = Builder() } @@ -2957,6 +2995,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Hyperparameters]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCancelParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCancelParams.kt index 06a883235..89f939c95 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCancelParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCancelParams.kt @@ -48,6 +48,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FineTuningJobCancelParams]. + * + * The following fields are required: + * ```java + * .fineTuningJobId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpoint.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpoint.kt index dad53ec5c..f780853f5 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpoint.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpoint.kt @@ -119,6 +119,19 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FineTuningJobCheckpoint]. + * + * The following fields are required: + * ```java + * .id() + * .createdAt() + * .fineTunedModelCheckpoint() + * .fineTuningJobId() + * .metrics() + * .stepNumber() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -320,6 +333,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Metrics]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListPage.kt index 98526f03b..6125ad23f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListPage.kt @@ -133,6 +133,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [FineTuningJobCheckpointListPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListPageAsync.kt index c39fcb5e8..6f897e7aa 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListPageAsync.kt @@ -136,6 +136,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [FineTuningJobCheckpointListPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListParams.kt index b18e8a92d..44eedf69e 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCheckpointListParams.kt @@ -53,6 +53,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [FineTuningJobCheckpointListParams]. + * + * The following fields are required: + * ```java + * .fineTuningJobId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCreateParams.kt index 7588bc366..95c21af28 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCreateParams.kt @@ -407,6 +407,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .model() + * .trainingFile() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -699,6 +708,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FineTuningJobCreateParams]. + * + * The following fields are required: + * ```java + * .model() + * .trainingFile() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1245,6 +1263,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Hyperparameters]. */ @JvmStatic fun builder() = Builder() } @@ -1904,6 +1923,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Integration]. + * + * The following fields are required: + * ```java + * .wandb() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2058,6 +2085,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Wandb]. + * + * The following fields are required: + * ```java + * .project() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2276,6 +2311,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Method]. */ @JvmStatic fun builder() = Builder() } @@ -2377,6 +2413,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Dpo]. */ @JvmStatic fun builder() = Builder() } @@ -2530,6 +2567,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Hyperparameters]. + */ @JvmStatic fun builder() = Builder() } @@ -3381,6 +3421,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Supervised]. */ @JvmStatic fun builder() = Builder() } @@ -3519,6 +3560,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Hyperparameters]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobEvent.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobEvent.kt index f3c804a1a..fd2e1c974 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobEvent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobEvent.kt @@ -102,6 +102,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FineTuningJobEvent]. + * + * The following fields are required: + * ```java + * .id() + * .createdAt() + * .level() + * .message() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsPage.kt index 0f96f648c..e7278879c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsPage.kt @@ -127,6 +127,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [FineTuningJobListEventsPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsPageAsync.kt index 0e638b51e..a71c9b1f1 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsPageAsync.kt @@ -133,6 +133,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [FineTuningJobListEventsPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsParams.kt index c97349b6a..1c7f789b8 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListEventsParams.kt @@ -53,6 +53,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [FineTuningJobListEventsParams]. + * + * The following fields are required: + * ```java + * .fineTuningJobId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListPage.kt index 6b603cb40..d59dd386b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListPage.kt @@ -126,6 +126,9 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FineTuningJobListPage]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListPageAsync.kt index 22432b881..c449d738c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListPageAsync.kt @@ -129,6 +129,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [FineTuningJobListPageAsync]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListParams.kt index 14fa8e2aa..ac77d7672 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListParams.kt @@ -44,6 +44,7 @@ private constructor( @JvmStatic fun none(): FineTuningJobListParams = builder().build() + /** Returns a mutable builder for constructing an instance of [FineTuningJobListParams]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobRetrieveParams.kt index d8e5516c7..9afca4290 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobRetrieveParams.kt @@ -42,6 +42,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FineTuningJobRetrieveParams]. + * + * The following fields are required: + * ```java + * .fineTuningJobId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobWandbIntegration.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobWandbIntegration.kt index 2bcfa5a8b..fb275e1e2 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobWandbIntegration.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobWandbIntegration.kt @@ -102,6 +102,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [FineTuningJobWandbIntegration]. + * + * The following fields are required: + * ```java + * .project() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobWandbIntegrationObject.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobWandbIntegrationObject.kt index 97ca05ee5..109fb2dd4 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobWandbIntegrationObject.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobWandbIntegrationObject.kt @@ -73,6 +73,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [FineTuningJobWandbIntegrationObject]. + * + * The following fields are required: + * ```java + * .wandb() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FunctionDefinition.kt b/openai-java-core/src/main/kotlin/com/openai/models/FunctionDefinition.kt index e29d0beac..0e0179323 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FunctionDefinition.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FunctionDefinition.kt @@ -120,6 +120,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FunctionDefinition]. + * + * The following fields are required: + * ```java + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FunctionParameters.kt b/openai-java-core/src/main/kotlin/com/openai/models/FunctionParameters.kt index ed2423ae1..7950dc12d 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FunctionParameters.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FunctionParameters.kt @@ -45,6 +45,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FunctionParameters]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FunctionTool.kt b/openai-java-core/src/main/kotlin/com/openai/models/FunctionTool.kt index 1d1e70211..f67ddd1ab 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FunctionTool.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FunctionTool.kt @@ -61,6 +61,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FunctionTool]. + * + * The following fields are required: + * ```java + * .function() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FunctionToolCall.kt b/openai-java-core/src/main/kotlin/com/openai/models/FunctionToolCall.kt index 9e0a31d77..76d067a7b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FunctionToolCall.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FunctionToolCall.kt @@ -70,6 +70,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FunctionToolCall]. + * + * The following fields are required: + * ```java + * .id() + * .function() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -197,6 +206,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Function]. + * + * The following fields are required: + * ```java + * .arguments() + * .name() + * .output() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FunctionToolCallDelta.kt b/openai-java-core/src/main/kotlin/com/openai/models/FunctionToolCallDelta.kt index f0f0cdf50..803b4057f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FunctionToolCallDelta.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FunctionToolCallDelta.kt @@ -78,6 +78,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FunctionToolCallDelta]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -214,6 +222,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Function]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Image.kt b/openai-java-core/src/main/kotlin/com/openai/models/Image.kt index 8cc584031..765d4abc6 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Image.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Image.kt @@ -73,6 +73,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Image]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageCreateVariationParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageCreateVariationParams.kt index d848d9dc7..74cca295f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageCreateVariationParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageCreateVariationParams.kt @@ -205,6 +205,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .image() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -357,6 +365,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageCreateVariationParams]. + * + * The following fields are required: + * ```java + * .image() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageEditParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageEditParams.kt index 1fb4a52aa..f79a0e090 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageEditParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageEditParams.kt @@ -239,6 +239,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .image() + * .prompt() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -416,6 +425,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageEditParams]. + * + * The following fields are required: + * ```java + * .image() + * .prompt() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageFile.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageFile.kt index 72e097435..15dbf4270 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageFile.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageFile.kt @@ -78,6 +78,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageFile]. + * + * The following fields are required: + * ```java + * .fileId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageFileContentBlock.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageFileContentBlock.kt index ed29ab7f8..ad3019e13 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageFileContentBlock.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageFileContentBlock.kt @@ -63,6 +63,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageFileContentBlock]. + * + * The following fields are required: + * ```java + * .imageFile() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageFileDelta.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageFileDelta.kt index ac8bde14b..2ffc945a1 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageFileDelta.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageFileDelta.kt @@ -77,6 +77,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ImageFileDelta]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageFileDeltaBlock.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageFileDeltaBlock.kt index e4d6cf917..5509d3afd 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageFileDeltaBlock.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageFileDeltaBlock.kt @@ -75,6 +75,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageFileDeltaBlock]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageGenerateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageGenerateParams.kt index c5e00640d..487b39d21 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageGenerateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageGenerateParams.kt @@ -293,6 +293,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .prompt() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -521,6 +529,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageGenerateParams]. + * + * The following fields are required: + * ```java + * .prompt() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageUrl.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageUrl.kt index 3f695a55d..9f6f2c943 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageUrl.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageUrl.kt @@ -72,6 +72,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageUrl]. + * + * The following fields are required: + * ```java + * .url() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlContentBlock.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlContentBlock.kt index 433703799..60694055a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlContentBlock.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlContentBlock.kt @@ -60,6 +60,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageUrlContentBlock]. + * + * The following fields are required: + * ```java + * .imageUrl() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlDelta.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlDelta.kt index 1e5beadc4..e459400d4 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlDelta.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlDelta.kt @@ -67,6 +67,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ImageUrlDelta]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlDeltaBlock.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlDeltaBlock.kt index 2af663459..9af4655ae 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlDeltaBlock.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImageUrlDeltaBlock.kt @@ -69,6 +69,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageUrlDeltaBlock]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ImagesResponse.kt b/openai-java-core/src/main/kotlin/com/openai/models/ImagesResponse.kt index b2157ce27..5fd5e7abc 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ImagesResponse.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ImagesResponse.kt @@ -58,6 +58,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImagesResponse]. + * + * The following fields are required: + * ```java + * .created() + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Message.kt b/openai-java-core/src/main/kotlin/com/openai/models/Message.kt index e8073562d..e5a4fdde9 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Message.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Message.kt @@ -245,6 +245,26 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Message]. + * + * The following fields are required: + * ```java + * .id() + * .assistantId() + * .attachments() + * .completedAt() + * .content() + * .createdAt() + * .incompleteAt() + * .incompleteDetails() + * .metadata() + * .role() + * .runId() + * .status() + * .threadId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -601,6 +621,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Attachment]. */ @JvmStatic fun builder() = Builder() } @@ -902,6 +923,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [IncompleteDetails]. + * + * The following fields are required: + * ```java + * .reason() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/MessageCreationStepDetails.kt b/openai-java-core/src/main/kotlin/com/openai/models/MessageCreationStepDetails.kt index 6ba450535..3928317f2 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/MessageCreationStepDetails.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/MessageCreationStepDetails.kt @@ -62,6 +62,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [MessageCreationStepDetails]. + * + * The following fields are required: + * ```java + * .messageCreation() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -152,6 +160,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [MessageCreation]. + * + * The following fields are required: + * ```java + * .messageId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/MessageDeleted.kt b/openai-java-core/src/main/kotlin/com/openai/models/MessageDeleted.kt index 8e91e1ce9..c4fbbc2ca 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/MessageDeleted.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/MessageDeleted.kt @@ -64,6 +64,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [MessageDeleted]. + * + * The following fields are required: + * ```java + * .id() + * .deleted() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/MessageDelta.kt b/openai-java-core/src/main/kotlin/com/openai/models/MessageDelta.kt index 9081f66eb..1177c114c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/MessageDelta.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/MessageDelta.kt @@ -66,6 +66,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [MessageDelta]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/MessageDeltaEvent.kt b/openai-java-core/src/main/kotlin/com/openai/models/MessageDeltaEvent.kt index da0561711..d8ea720d4 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/MessageDeltaEvent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/MessageDeltaEvent.kt @@ -70,6 +70,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [MessageDeltaEvent]. + * + * The following fields are required: + * ```java + * .id() + * .delta() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/MessageStreamEvent.kt b/openai-java-core/src/main/kotlin/com/openai/models/MessageStreamEvent.kt index 98a22256e..cd8490748 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/MessageStreamEvent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/MessageStreamEvent.kt @@ -425,6 +425,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageCreated]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -555,6 +563,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageInProgress]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -679,6 +695,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageDelta]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -803,6 +827,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageCompleted]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -933,6 +965,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadMessageIncomplete]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Metadata.kt b/openai-java-core/src/main/kotlin/com/openai/models/Metadata.kt index 17e326d63..7da6c6074 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Metadata.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Metadata.kt @@ -45,6 +45,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Metadata]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Model.kt b/openai-java-core/src/main/kotlin/com/openai/models/Model.kt index 9ba4b949a..0da585fee 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Model.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Model.kt @@ -80,6 +80,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Model]. + * + * The following fields are required: + * ```java + * .id() + * .created() + * .ownedBy() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModelDeleteParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModelDeleteParams.kt index d72931df1..e4bde785d 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModelDeleteParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModelDeleteParams.kt @@ -50,6 +50,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ModelDeleteParams]. + * + * The following fields are required: + * ```java + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModelDeleted.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModelDeleted.kt index 272b9325f..d7296f92b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModelDeleted.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModelDeleted.kt @@ -63,6 +63,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ModelDeleted]. + * + * The following fields are required: + * ```java + * .id() + * .deleted() + * .object_() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModelListPage.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModelListPage.kt index 0cdb73e32..23b9a52cc 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModelListPage.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModelListPage.kt @@ -123,6 +123,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ModelListPage]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModelListPageAsync.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModelListPageAsync.kt index db42be93a..313cd514f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModelListPageAsync.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModelListPageAsync.kt @@ -126,6 +126,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ModelListPageAsync]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModelListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModelListParams.kt index fda00a0ad..162dfd16c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModelListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModelListParams.kt @@ -32,6 +32,7 @@ private constructor( @JvmStatic fun none(): ModelListParams = builder().build() + /** Returns a mutable builder for constructing an instance of [ModelListParams]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModelRetrieveParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModelRetrieveParams.kt index bce4f926e..cf0168628 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModelRetrieveParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModelRetrieveParams.kt @@ -41,6 +41,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ModelRetrieveParams]. + * + * The following fields are required: + * ```java + * .model() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Moderation.kt b/openai-java-core/src/main/kotlin/com/openai/models/Moderation.kt index 223d4f8ef..54170ed41 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Moderation.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Moderation.kt @@ -93,6 +93,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Moderation]. + * + * The following fields are required: + * ```java + * .categories() + * .categoryAppliedInputTypes() + * .categoryScores() + * .flagged() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -405,6 +416,26 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Categories]. + * + * The following fields are required: + * ```java + * .harassment() + * .harassmentThreatening() + * .hate() + * .hateThreatening() + * .illicit() + * .illicitViolent() + * .selfHarm() + * .selfHarmInstructions() + * .selfHarmIntent() + * .sexual() + * .sexualMinors() + * .violence() + * .violenceGraphic() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -875,6 +906,27 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [CategoryAppliedInputTypes]. + * + * The following fields are required: + * ```java + * .harassment() + * .harassmentThreatening() + * .hate() + * .hateThreatening() + * .illicit() + * .illicitViolent() + * .selfHarm() + * .selfHarmInstructions() + * .selfHarmIntent() + * .sexual() + * .sexualMinors() + * .violence() + * .violenceGraphic() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2683,6 +2735,26 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [CategoryScores]. + * + * The following fields are required: + * ```java + * .harassment() + * .harassmentThreatening() + * .hate() + * .hateThreatening() + * .illicit() + * .illicitViolent() + * .selfHarm() + * .selfHarmInstructions() + * .selfHarmIntent() + * .sexual() + * .sexualMinors() + * .violence() + * .violenceGraphic() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModerationCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModerationCreateParams.kt index 9d4ac4c99..3cefb65ec 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModerationCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModerationCreateParams.kt @@ -140,6 +140,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .input() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -246,6 +254,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ModerationCreateParams]. + * + * The following fields are required: + * ```java + * .input() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModerationCreateResponse.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModerationCreateResponse.kt index b8858cbbe..c3f07a42b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModerationCreateResponse.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModerationCreateResponse.kt @@ -69,6 +69,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ModerationCreateResponse]. + * + * The following fields are required: + * ```java + * .id() + * .model() + * .results() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModerationImageUrlInput.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModerationImageUrlInput.kt index 1d193c0d3..a36110f91 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModerationImageUrlInput.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModerationImageUrlInput.kt @@ -62,6 +62,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ModerationImageUrlInput]. + * + * The following fields are required: + * ```java + * .imageUrl() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -150,6 +158,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ImageUrl]. + * + * The following fields are required: + * ```java + * .url() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ModerationTextInput.kt b/openai-java-core/src/main/kotlin/com/openai/models/ModerationTextInput.kt index 38065e6ad..c15a9361c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ModerationTextInput.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ModerationTextInput.kt @@ -60,6 +60,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ModerationTextInput]. + * + * The following fields are required: + * ```java + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/OtherFileChunkingStrategyObject.kt b/openai-java-core/src/main/kotlin/com/openai/models/OtherFileChunkingStrategyObject.kt index ac7a4d1bc..2ba231702 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/OtherFileChunkingStrategyObject.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/OtherFileChunkingStrategyObject.kt @@ -53,6 +53,10 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [OtherFileChunkingStrategyObject]. + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/RefusalContentBlock.kt b/openai-java-core/src/main/kotlin/com/openai/models/RefusalContentBlock.kt index 7201260b6..181ae4ab3 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/RefusalContentBlock.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/RefusalContentBlock.kt @@ -60,6 +60,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [RefusalContentBlock]. + * + * The following fields are required: + * ```java + * .refusal() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/RefusalDeltaBlock.kt b/openai-java-core/src/main/kotlin/com/openai/models/RefusalDeltaBlock.kt index ac7981f56..6ec7e3e50 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/RefusalDeltaBlock.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/RefusalDeltaBlock.kt @@ -69,6 +69,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [RefusalDeltaBlock]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/RequiredActionFunctionToolCall.kt b/openai-java-core/src/main/kotlin/com/openai/models/RequiredActionFunctionToolCall.kt index ce7e04d5d..62e600242 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/RequiredActionFunctionToolCall.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/RequiredActionFunctionToolCall.kt @@ -80,6 +80,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [RequiredActionFunctionToolCall]. + * + * The following fields are required: + * ```java + * .id() + * .function() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -200,6 +210,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Function]. + * + * The following fields are required: + * ```java + * .arguments() + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatJsonObject.kt b/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatJsonObject.kt index d1cd02434..4ae7d086f 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatJsonObject.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatJsonObject.kt @@ -49,6 +49,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ResponseFormatJsonObject]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatJsonSchema.kt b/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatJsonSchema.kt index bc9353482..c02c908a4 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatJsonSchema.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatJsonSchema.kt @@ -62,6 +62,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ResponseFormatJsonSchema]. + * + * The following fields are required: + * ```java + * .jsonSchema() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -204,6 +212,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [JsonSchema]. + * + * The following fields are required: + * ```java + * .name() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -346,6 +362,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [Schema]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatText.kt b/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatText.kt index e8299f53f..ae51ee1f7 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatText.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ResponseFormatText.kt @@ -49,6 +49,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ResponseFormatText]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Run.kt b/openai-java-core/src/main/kotlin/com/openai/models/Run.kt index 312d1ba97..1816eb349 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Run.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Run.kt @@ -474,6 +474,37 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Run]. + * + * The following fields are required: + * ```java + * .id() + * .assistantId() + * .cancelledAt() + * .completedAt() + * .createdAt() + * .expiresAt() + * .failedAt() + * .incompleteDetails() + * .instructions() + * .lastError() + * .maxCompletionTokens() + * .maxPromptTokens() + * .metadata() + * .model() + * .parallelToolCalls() + * .requiredAction() + * .responseFormat() + * .startedAt() + * .status() + * .threadId() + * .toolChoice() + * .tools() + * .truncationStrategy() + * .usage() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1240,6 +1271,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [IncompleteDetails]. */ @JvmStatic fun builder() = Builder() } @@ -1459,6 +1491,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [LastError]. + * + * The following fields are required: + * ```java + * .code() + * .message() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1691,6 +1732,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [RequiredAction]. + * + * The following fields are required: + * ```java + * .submitToolOutputs() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1788,6 +1837,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [SubmitToolOutputs]. + * + * The following fields are required: + * ```java + * .toolCalls() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1953,6 +2010,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TruncationStrategy]. + * + * The following fields are required: + * ```java + * .type() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -2231,6 +2296,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Usage]. + * + * The following fields are required: + * ```java + * .completionTokens() + * .promptTokens() + * .totalTokens() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/RunStep.kt b/openai-java-core/src/main/kotlin/com/openai/models/RunStep.kt index 5acd9859e..c7b17f718 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/RunStep.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/RunStep.kt @@ -259,6 +259,28 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [RunStep]. + * + * The following fields are required: + * ```java + * .id() + * .assistantId() + * .cancelledAt() + * .completedAt() + * .createdAt() + * .expiredAt() + * .failedAt() + * .lastError() + * .metadata() + * .runId() + * .status() + * .stepDetails() + * .threadId() + * .type() + * .usage() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -610,6 +632,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [LastError]. + * + * The following fields are required: + * ```java + * .code() + * .message() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1232,6 +1263,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Usage]. + * + * The following fields are required: + * ```java + * .completionTokens() + * .promptTokens() + * .totalTokens() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/RunStepDelta.kt b/openai-java-core/src/main/kotlin/com/openai/models/RunStepDelta.kt index cecb05c5b..096423e71 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/RunStepDelta.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/RunStepDelta.kt @@ -67,6 +67,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [RunStepDelta]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/RunStepDeltaEvent.kt b/openai-java-core/src/main/kotlin/com/openai/models/RunStepDeltaEvent.kt index 862bffc24..0a5cf9e4e 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/RunStepDeltaEvent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/RunStepDeltaEvent.kt @@ -70,6 +70,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [RunStepDeltaEvent]. + * + * The following fields are required: + * ```java + * .id() + * .delta() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/RunStepDeltaMessageDelta.kt b/openai-java-core/src/main/kotlin/com/openai/models/RunStepDeltaMessageDelta.kt index 613b30d0d..d9c9b947e 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/RunStepDeltaMessageDelta.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/RunStepDeltaMessageDelta.kt @@ -63,6 +63,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [RunStepDeltaMessageDelta]. */ @JvmStatic fun builder() = Builder() } @@ -149,6 +150,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [MessageCreation]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/RunStepStreamEvent.kt b/openai-java-core/src/main/kotlin/com/openai/models/RunStepStreamEvent.kt index 8bd9b8cd8..2188b48a3 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/RunStepStreamEvent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/RunStepStreamEvent.kt @@ -525,6 +525,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepCreated]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -644,6 +652,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepInProgress]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -763,6 +779,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepDelta]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -886,6 +910,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepCompleted]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1004,6 +1036,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepFailed]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1123,6 +1163,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepCancelled]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1241,6 +1289,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunStepExpired]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/RunStreamEvent.kt b/openai-java-core/src/main/kotlin/com/openai/models/RunStreamEvent.kt index cfb6cd2de..f78a46680 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/RunStreamEvent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/RunStreamEvent.kt @@ -601,6 +601,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunCreated]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -729,6 +737,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunQueued]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -857,6 +873,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunInProgress]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -985,6 +1009,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunRequiresAction]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1112,6 +1144,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunCompleted]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1240,6 +1280,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunIncomplete]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1365,6 +1413,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunFailed]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1493,6 +1549,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunCancelling]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1620,6 +1684,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunCancelled]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -1745,6 +1817,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadRunExpired]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategy.kt b/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategy.kt index ebd16f511..7c40c0a71 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategy.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategy.kt @@ -79,6 +79,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [StaticFileChunkingStrategy]. + * + * The following fields are required: + * ```java + * .chunkOverlapTokens() + * .maxChunkSizeTokens() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategyObject.kt b/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategyObject.kt index 85c8107e4..f10b69b97 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategyObject.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategyObject.kt @@ -61,6 +61,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [StaticFileChunkingStrategyObject]. + * + * The following fields are required: + * ```java + * .static_() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategyObjectParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategyObjectParam.kt index e1fe6e81a..1abb53382 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategyObjectParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/StaticFileChunkingStrategyObjectParam.kt @@ -61,6 +61,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of + * [StaticFileChunkingStrategyObjectParam]. + * + * The following fields are required: + * ```java + * .static_() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Text.kt b/openai-java-core/src/main/kotlin/com/openai/models/Text.kt index 27cdf243b..f4c8b03a3 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Text.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Text.kt @@ -60,6 +60,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Text]. + * + * The following fields are required: + * ```java + * .annotations() + * .value() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/TextContentBlock.kt b/openai-java-core/src/main/kotlin/com/openai/models/TextContentBlock.kt index e106505bf..697fcea86 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/TextContentBlock.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/TextContentBlock.kt @@ -58,6 +58,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TextContentBlock]. + * + * The following fields are required: + * ```java + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/TextContentBlockParam.kt b/openai-java-core/src/main/kotlin/com/openai/models/TextContentBlockParam.kt index 5b96ec999..93fa10611 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/TextContentBlockParam.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/TextContentBlockParam.kt @@ -60,6 +60,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TextContentBlockParam]. + * + * The following fields are required: + * ```java + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/TextDelta.kt b/openai-java-core/src/main/kotlin/com/openai/models/TextDelta.kt index c75e569be..4c1ab36c0 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/TextDelta.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/TextDelta.kt @@ -61,6 +61,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [TextDelta]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/TextDeltaBlock.kt b/openai-java-core/src/main/kotlin/com/openai/models/TextDeltaBlock.kt index 645a3dc0f..c14832986 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/TextDeltaBlock.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/TextDeltaBlock.kt @@ -67,6 +67,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TextDeltaBlock]. + * + * The following fields are required: + * ```java + * .index() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Thread.kt b/openai-java-core/src/main/kotlin/com/openai/models/Thread.kt index e23d0ad26..6eb4700bb 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Thread.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Thread.kt @@ -120,6 +120,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Thread]. + * + * The following fields are required: + * ```java + * .id() + * .createdAt() + * .metadata() + * .toolResources() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -299,6 +310,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolResources]. */ @JvmStatic fun builder() = Builder() } @@ -399,6 +411,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [CodeInterpreter]. */ @JvmStatic fun builder() = Builder() } @@ -538,6 +551,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [FileSearch]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ThreadDeleted.kt b/openai-java-core/src/main/kotlin/com/openai/models/ThreadDeleted.kt index 0398f91bb..0fe200463 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ThreadDeleted.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ThreadDeleted.kt @@ -64,6 +64,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadDeleted]. + * + * The following fields are required: + * ```java + * .id() + * .deleted() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ThreadStreamEvent.kt b/openai-java-core/src/main/kotlin/com/openai/models/ThreadStreamEvent.kt index 7df2772d2..ac316128d 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ThreadStreamEvent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ThreadStreamEvent.kt @@ -79,6 +79,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ThreadStreamEvent]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ToolCallDeltaObject.kt b/openai-java-core/src/main/kotlin/com/openai/models/ToolCallDeltaObject.kt index c0e57625c..964de0706 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ToolCallDeltaObject.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ToolCallDeltaObject.kt @@ -72,6 +72,7 @@ private constructor( companion object { + /** Returns a mutable builder for constructing an instance of [ToolCallDeltaObject]. */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ToolCallsStepDetails.kt b/openai-java-core/src/main/kotlin/com/openai/models/ToolCallsStepDetails.kt index 474f90d86..ec705f2f4 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ToolCallsStepDetails.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ToolCallsStepDetails.kt @@ -71,6 +71,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ToolCallsStepDetails]. + * + * The following fields are required: + * ```java + * .toolCalls() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Transcription.kt b/openai-java-core/src/main/kotlin/com/openai/models/Transcription.kt index 8ffc75315..21bc83296 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Transcription.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Transcription.kt @@ -50,6 +50,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Transcription]. + * + * The following fields are required: + * ```java + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionSegment.kt b/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionSegment.kt index 107ab56e6..74a7039e5 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionSegment.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionSegment.kt @@ -152,6 +152,23 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TranscriptionSegment]. + * + * The following fields are required: + * ```java + * .id() + * .avgLogprob() + * .compressionRatio() + * .end() + * .noSpeechProb() + * .seek() + * .start() + * .temperature() + * .text() + * .tokens() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionVerbose.kt b/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionVerbose.kt index 7259f943a..ec901c6cd 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionVerbose.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionVerbose.kt @@ -97,6 +97,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TranscriptionVerbose]. + * + * The following fields are required: + * ```java + * .duration() + * .language() + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionWord.kt b/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionWord.kt index b0f15b38c..15d49d959 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionWord.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/TranscriptionWord.kt @@ -65,6 +65,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TranscriptionWord]. + * + * The following fields are required: + * ```java + * .end() + * .start() + * .word() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Translation.kt b/openai-java-core/src/main/kotlin/com/openai/models/Translation.kt index b619c02a6..19aa8d98c 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Translation.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Translation.kt @@ -47,6 +47,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Translation]. + * + * The following fields are required: + * ```java + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/TranslationVerbose.kt b/openai-java-core/src/main/kotlin/com/openai/models/TranslationVerbose.kt index 814627e04..a9511c697 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/TranslationVerbose.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/TranslationVerbose.kt @@ -84,6 +84,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [TranslationVerbose]. + * + * The following fields are required: + * ```java + * .duration() + * .language() + * .text() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/Upload.kt b/openai-java-core/src/main/kotlin/com/openai/models/Upload.kt index 1c2d91320..9906b9752 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/Upload.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/Upload.kt @@ -138,6 +138,20 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Upload]. + * + * The following fields are required: + * ```java + * .id() + * .bytes() + * .createdAt() + * .expiresAt() + * .filename() + * .purpose() + * .status() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/UploadCancelParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/UploadCancelParams.kt index 8908ba2e2..64af63828 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/UploadCancelParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/UploadCancelParams.kt @@ -48,6 +48,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [UploadCancelParams]. + * + * The following fields are required: + * ```java + * .uploadId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/UploadCompleteParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/UploadCompleteParams.kt index 2962ef708..c91210557 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/UploadCompleteParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/UploadCompleteParams.kt @@ -130,6 +130,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .partIds() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -224,6 +232,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [UploadCompleteParams]. + * + * The following fields are required: + * ```java + * .uploadId() + * .partIds() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/UploadCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/UploadCreateParams.kt index 105f54a3d..4f16a15c9 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/UploadCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/UploadCreateParams.kt @@ -185,6 +185,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .bytes() + * .filename() + * .mimeType() + * .purpose() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -301,6 +312,17 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [UploadCreateParams]. + * + * The following fields are required: + * ```java + * .bytes() + * .filename() + * .mimeType() + * .purpose() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/UploadPart.kt b/openai-java-core/src/main/kotlin/com/openai/models/UploadPart.kt index 020ff9897..16898bd24 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/UploadPart.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/UploadPart.kt @@ -80,6 +80,16 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [UploadPart]. + * + * The following fields are required: + * ```java + * .id() + * .createdAt() + * .uploadId() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/UploadPartCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/UploadPartCreateParams.kt index a5a311609..70f220703 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/UploadPartCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/UploadPartCreateParams.kt @@ -80,6 +80,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [Body]. + * + * The following fields are required: + * ```java + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -120,6 +128,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [UploadPartCreateParams]. + * + * The following fields are required: + * ```java + * .uploadId() + * .data() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/VectorStore.kt b/openai-java-core/src/main/kotlin/com/openai/models/VectorStore.kt index c223a2787..39c09f36a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/VectorStore.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/VectorStore.kt @@ -176,6 +176,21 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [VectorStore]. + * + * The following fields are required: + * ```java + * .id() + * .createdAt() + * .fileCounts() + * .lastActiveAt() + * .metadata() + * .name() + * .status() + * .usageBytes() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -431,6 +446,18 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileCounts]. + * + * The following fields are required: + * ```java + * .cancelled() + * .completed() + * .failed() + * .inProgress() + * .total() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -687,6 +714,14 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [ExpiresAfter]. + * + * The following fields are required: + * ```java + * .days() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreDeleted.kt b/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreDeleted.kt index d4e7f6bd5..a16241761 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreDeleted.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreDeleted.kt @@ -64,6 +64,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [VectorStoreDeleted]. + * + * The following fields are required: + * ```java + * .id() + * .deleted() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFile.kt b/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFile.kt index e75330baf..137cdd361 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFile.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFile.kt @@ -153,6 +153,19 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [VectorStoreFile]. + * + * The following fields are required: + * ```java + * .id() + * .createdAt() + * .lastError() + * .status() + * .usageBytes() + * .vectorStoreId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -361,6 +374,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [LastError]. + * + * The following fields are required: + * ```java + * .code() + * .message() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFileBatch.kt b/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFileBatch.kt index a4e691495..0f53fd6a1 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFileBatch.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFileBatch.kt @@ -117,6 +117,18 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [VectorStoreFileBatch]. + * + * The following fields are required: + * ```java + * .id() + * .createdAt() + * .fileCounts() + * .status() + * .vectorStoreId() + * ``` + */ @JvmStatic fun builder() = Builder() } @@ -296,6 +308,18 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [FileCounts]. + * + * The following fields are required: + * ```java + * .cancelled() + * .completed() + * .failed() + * .inProgress() + * .total() + * ``` + */ @JvmStatic fun builder() = Builder() } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFileDeleted.kt b/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFileDeleted.kt index 02f8b5936..4921d936b 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFileDeleted.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/VectorStoreFileDeleted.kt @@ -64,6 +64,15 @@ private constructor( companion object { + /** + * Returns a mutable builder for constructing an instance of [VectorStoreFileDeleted]. + * + * The following fields are required: + * ```java + * .id() + * .deleted() + * ``` + */ @JvmStatic fun builder() = Builder() } From c029310f6f31d5a78767585a9f4ece4ba076fe2e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 22:18:48 +0000 Subject: [PATCH 2/6] chore(client): expose `Optional`, not nullable, from `ClientOptions` (#274) --- .../src/main/kotlin/com/openai/core/ClientOptions.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/openai-java-core/src/main/kotlin/com/openai/core/ClientOptions.kt b/openai-java-core/src/main/kotlin/com/openai/core/ClientOptions.kt index 56c2a4fe3..570b4943d 100644 --- a/openai-java-core/src/main/kotlin/com/openai/core/ClientOptions.kt +++ b/openai-java-core/src/main/kotlin/com/openai/core/ClientOptions.kt @@ -33,10 +33,14 @@ private constructor( @get:JvmName("timeout") val timeout: Timeout, @get:JvmName("maxRetries") val maxRetries: Int, @get:JvmName("credential") val credential: Credential, - @get:JvmName("organization") val organization: String?, - @get:JvmName("project") val project: String?, + private val organization: String?, + private val project: String?, ) { + fun organization(): Optional = Optional.ofNullable(organization) + + fun project(): Optional = Optional.ofNullable(project) + fun toBuilder() = Builder().from(this) companion object { From e92512f551df43f994ec6a29cfb7ef918e203324 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 21:22:27 +0000 Subject: [PATCH 3/6] fix(api): add missing file rank enum + more metadata (#276) --- .stats.yml | 2 +- .../com/openai/models/FileSearchToolCall.kt | 144 ++++++++++++++++-- .../kotlin/com/openai/models/FineTuningJob.kt | 63 +++++++- .../models/FineTuningJobCreateParams.kt | 113 +++++++++++++- .../openai/models/FineTuningJobListParams.kt | 131 +++++++++++++++- .../openai/models/FileSearchToolCallTest.kt | 2 + .../models/FineTuningJobCreateParamsTest.kt | 13 ++ .../models/FineTuningJobListParamsTest.kt | 25 ++- .../com/openai/models/FineTuningJobTest.kt | 10 ++ .../com/openai/services/ErrorHandlingTest.kt | 46 ++++++ .../async/fineTuning/JobServiceAsyncTest.kt | 7 + .../blocking/fineTuning/JobServiceTest.kt | 7 + 12 files changed, 539 insertions(+), 24 deletions(-) diff --git a/.stats.yml b/.stats.yml index 9790b6efb..20144667e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ configured_endpoints: 72 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai-5d30684c3118d049682ea30cdb4dbef39b97d51667da484689193dc40162af32.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai-b524aed1c2c5c928aa4e2c546f5dbb364e7b4d5027daf05e42e210b05a97c3c6.yml diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCall.kt b/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCall.kt index f571868af..1785f4e4a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCall.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FileSearchToolCall.kt @@ -277,7 +277,7 @@ private constructor( private constructor( @JsonProperty("ranker") @ExcludeMissing - private val ranker: JsonValue = JsonMissing.of(), + private val ranker: JsonField = JsonMissing.of(), @JsonProperty("score_threshold") @ExcludeMissing private val scoreThreshold: JsonField = JsonMissing.of(), @@ -285,8 +285,10 @@ private constructor( private val additionalProperties: Map = immutableEmptyMap(), ) { - /** The ranker used for the file search. */ - @JsonProperty("ranker") @ExcludeMissing fun _ranker(): JsonValue = ranker + /** + * The ranker to use for the file search. If not specified will use the `auto` ranker. + */ + fun ranker(): Ranker = ranker.getRequired("ranker") /** * The score threshold for the file search. All values must be a floating point number @@ -294,6 +296,11 @@ private constructor( */ fun scoreThreshold(): Double = scoreThreshold.getRequired("score_threshold") + /** + * The ranker to use for the file search. If not specified will use the `auto` ranker. + */ + @JsonProperty("ranker") @ExcludeMissing fun _ranker(): JsonField = ranker + /** * The score threshold for the file search. All values must be a floating point number * between 0 and 1. @@ -313,11 +320,7 @@ private constructor( return@apply } - _ranker().let { - if (it != JsonValue.from("default_2024_08_21")) { - throw OpenAIInvalidDataException("'ranker' is invalid, received $it") - } - } + ranker() scoreThreshold() validated = true } @@ -331,6 +334,7 @@ private constructor( * * The following fields are required: * ```java + * .ranker() * .scoreThreshold() * ``` */ @@ -340,7 +344,7 @@ private constructor( /** A builder for [RankingOptions]. */ class Builder internal constructor() { - private var ranker: JsonValue = JsonValue.from("default_2024_08_21") + private var ranker: JsonField? = null private var scoreThreshold: JsonField? = null private var additionalProperties: MutableMap = mutableMapOf() @@ -351,8 +355,17 @@ private constructor( additionalProperties = rankingOptions.additionalProperties.toMutableMap() } - /** The ranker used for the file search. */ - fun ranker(ranker: JsonValue) = apply { this.ranker = ranker } + /** + * The ranker to use for the file search. If not specified will use the `auto` + * ranker. + */ + fun ranker(ranker: Ranker) = ranker(JsonField.of(ranker)) + + /** + * The ranker to use for the file search. If not specified will use the `auto` + * ranker. + */ + fun ranker(ranker: JsonField) = apply { this.ranker = ranker } /** * The score threshold for the file search. All values must be a floating point @@ -393,12 +406,119 @@ private constructor( fun build(): RankingOptions = RankingOptions( - ranker, + checkRequired("ranker", ranker), checkRequired("scoreThreshold", scoreThreshold), additionalProperties.toImmutable(), ) } + /** + * The ranker to use for the file search. If not specified will use the `auto` ranker. + */ + class Ranker @JsonCreator private constructor(private val value: JsonField) : + Enum { + + /** + * Returns this class instance's raw value. + * + * This is usually only useful if this instance was deserialized from data that + * doesn't match any known member, and you want to know that value. For example, if + * the SDK is on an older version than the API, then the API may respond with new + * members that the SDK is unaware of. + */ + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value + + companion object { + + @JvmField val AUTO = of("auto") + + @JvmField val DEFAULT_2024_08_21 = of("default_2024_08_21") + + @JvmStatic fun of(value: String) = Ranker(JsonField.of(value)) + } + + /** An enum containing [Ranker]'s known values. */ + enum class Known { + AUTO, + DEFAULT_2024_08_21, + } + + /** + * An enum containing [Ranker]'s known values, as well as an [_UNKNOWN] member. + * + * An instance of [Ranker] can contain an unknown value in a couple of cases: + * - It was deserialized from data that doesn't match any known member. For example, + * if the SDK is on an older version than the API, then the API may respond with + * new members that the SDK is unaware of. + * - It was constructed with an arbitrary value using the [of] method. + */ + enum class Value { + AUTO, + DEFAULT_2024_08_21, + /** + * An enum member indicating that [Ranker] was instantiated with an unknown + * value. + */ + _UNKNOWN, + } + + /** + * Returns an enum member corresponding to this class instance's value, or + * [Value._UNKNOWN] if the class was instantiated with an unknown value. + * + * Use the [known] method instead if you're certain the value is always known or if + * you want to throw for the unknown case. + */ + fun value(): Value = + when (this) { + AUTO -> Value.AUTO + DEFAULT_2024_08_21 -> Value.DEFAULT_2024_08_21 + else -> Value._UNKNOWN + } + + /** + * Returns an enum member corresponding to this class instance's value. + * + * Use the [value] method instead if you're uncertain the value is always known and + * don't want to throw for the unknown case. + * + * @throws OpenAIInvalidDataException if this class instance's value is a not a + * known member. + */ + fun known(): Known = + when (this) { + AUTO -> Known.AUTO + DEFAULT_2024_08_21 -> Known.DEFAULT_2024_08_21 + else -> throw OpenAIInvalidDataException("Unknown Ranker: $value") + } + + /** + * Returns this class instance's primitive wire representation. + * + * This differs from the [toString] method because that method is primarily for + * debugging and generally doesn't throw. + * + * @throws OpenAIInvalidDataException if this class instance's value does not have + * the expected primitive type. + */ + fun asString(): String = + _value().asString().orElseThrow { + OpenAIInvalidDataException("Value is not a String") + } + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is Ranker && value == other.value /* spotless:on */ + } + + override fun hashCode() = value.hashCode() + + override fun toString() = value.toString() + } + override fun equals(other: Any?): Boolean { if (this === other) { return true diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJob.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJob.kt index 138ae1108..ea6750ffa 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJob.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJob.kt @@ -79,6 +79,9 @@ private constructor( @ExcludeMissing private val integrations: JsonField> = JsonMissing.of(), + @JsonProperty("metadata") + @ExcludeMissing + private val metadata: JsonField = JsonMissing.of(), @JsonProperty("method") @ExcludeMissing private val method: JsonField = JsonMissing.of(), @@ -171,6 +174,16 @@ private constructor( fun integrations(): Optional> = Optional.ofNullable(integrations.getNullable("integrations")) + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for storing + * additional information about the object in a structured format, and querying for objects via + * API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a maximum + * length of 512 characters. + */ + fun metadata(): Optional = Optional.ofNullable(metadata.getNullable("metadata")) + /** The method used for fine-tuning. */ fun method(): Optional = Optional.ofNullable(method.getNullable("method")) @@ -270,6 +283,16 @@ private constructor( @ExcludeMissing fun _integrations(): JsonField> = integrations + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for storing + * additional information about the object in a structured format, and querying for objects via + * API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a maximum + * length of 512 characters. + */ + @JsonProperty("metadata") @ExcludeMissing fun _metadata(): JsonField = metadata + /** The method used for fine-tuning. */ @JsonProperty("method") @ExcludeMissing fun _method(): JsonField = method @@ -305,6 +328,7 @@ private constructor( validationFile() estimatedFinish() integrations().ifPresent { it.forEach { it.validate() } } + metadata().ifPresent { it.validate() } method().ifPresent { it.validate() } validated = true } @@ -358,6 +382,7 @@ private constructor( private var estimatedFinish: JsonField = JsonMissing.of() private var integrations: JsonField>? = null + private var metadata: JsonField = JsonMissing.of() private var method: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -380,6 +405,7 @@ private constructor( validationFile = fineTuningJob.validationFile estimatedFinish = fineTuningJob.estimatedFinish integrations = fineTuningJob.integrations.map { it.toMutableList() } + metadata = fineTuningJob.metadata method = fineTuningJob.method additionalProperties = fineTuningJob.additionalProperties.toMutableMap() } @@ -658,6 +684,36 @@ private constructor( fun addWandbIntegration(wandb: FineTuningJobWandbIntegration) = addIntegration(FineTuningJobWandbIntegrationObject.builder().wandb(wandb).build()) + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying for + * objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(metadata: Metadata?) = metadata(JsonField.ofNullable(metadata)) + + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying for + * objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(metadata: Optional) = metadata(metadata.orElse(null)) + + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying for + * objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(metadata: JsonField) = apply { this.metadata = metadata } + /** The method used for fine-tuning. */ fun method(method: Method) = method(JsonField.of(method)) @@ -702,6 +758,7 @@ private constructor( checkRequired("validationFile", validationFile), estimatedFinish, (integrations ?: JsonMissing.of()).map { it.toImmutable() }, + metadata, method, additionalProperties.toImmutable(), ) @@ -3754,15 +3811,15 @@ private constructor( return true } - return /* spotless:off */ other is FineTuningJob && id == other.id && createdAt == other.createdAt && error == other.error && fineTunedModel == other.fineTunedModel && finishedAt == other.finishedAt && hyperparameters == other.hyperparameters && model == other.model && object_ == other.object_ && organizationId == other.organizationId && resultFiles == other.resultFiles && seed == other.seed && status == other.status && trainedTokens == other.trainedTokens && trainingFile == other.trainingFile && validationFile == other.validationFile && estimatedFinish == other.estimatedFinish && integrations == other.integrations && method == other.method && additionalProperties == other.additionalProperties /* spotless:on */ + return /* spotless:off */ other is FineTuningJob && id == other.id && createdAt == other.createdAt && error == other.error && fineTunedModel == other.fineTunedModel && finishedAt == other.finishedAt && hyperparameters == other.hyperparameters && model == other.model && object_ == other.object_ && organizationId == other.organizationId && resultFiles == other.resultFiles && seed == other.seed && status == other.status && trainedTokens == other.trainedTokens && trainingFile == other.trainingFile && validationFile == other.validationFile && estimatedFinish == other.estimatedFinish && integrations == other.integrations && metadata == other.metadata && method == other.method && additionalProperties == other.additionalProperties /* spotless:on */ } /* spotless:off */ - private val hashCode: Int by lazy { Objects.hash(id, createdAt, error, fineTunedModel, finishedAt, hyperparameters, model, object_, organizationId, resultFiles, seed, status, trainedTokens, trainingFile, validationFile, estimatedFinish, integrations, method, additionalProperties) } + private val hashCode: Int by lazy { Objects.hash(id, createdAt, error, fineTunedModel, finishedAt, hyperparameters, model, object_, organizationId, resultFiles, seed, status, trainedTokens, trainingFile, validationFile, estimatedFinish, integrations, metadata, method, additionalProperties) } /* spotless:on */ override fun hashCode(): Int = hashCode override fun toString() = - "FineTuningJob{id=$id, createdAt=$createdAt, error=$error, fineTunedModel=$fineTunedModel, finishedAt=$finishedAt, hyperparameters=$hyperparameters, model=$model, object_=$object_, organizationId=$organizationId, resultFiles=$resultFiles, seed=$seed, status=$status, trainedTokens=$trainedTokens, trainingFile=$trainingFile, validationFile=$validationFile, estimatedFinish=$estimatedFinish, integrations=$integrations, method=$method, additionalProperties=$additionalProperties}" + "FineTuningJob{id=$id, createdAt=$createdAt, error=$error, fineTunedModel=$fineTunedModel, finishedAt=$finishedAt, hyperparameters=$hyperparameters, model=$model, object_=$object_, organizationId=$organizationId, resultFiles=$resultFiles, seed=$seed, status=$status, trainedTokens=$trainedTokens, trainingFile=$trainingFile, validationFile=$validationFile, estimatedFinish=$estimatedFinish, integrations=$integrations, metadata=$metadata, method=$method, additionalProperties=$additionalProperties}" } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCreateParams.kt index 95c21af28..d24a72cd0 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobCreateParams.kt @@ -85,6 +85,16 @@ private constructor( /** A list of integrations to enable for your fine-tuning job. */ fun integrations(): Optional> = body.integrations() + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for storing + * additional information about the object in a structured format, and querying for objects via + * API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a maximum + * length of 512 characters. + */ + fun metadata(): Optional = body.metadata() + /** The method used for fine-tuning. */ fun method(): Optional = body.method() @@ -155,6 +165,16 @@ private constructor( /** A list of integrations to enable for your fine-tuning job. */ fun _integrations(): JsonField> = body._integrations() + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for storing + * additional information about the object in a structured format, and querying for objects via + * API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a maximum + * length of 512 characters. + */ + fun _metadata(): JsonField = body._metadata() + /** The method used for fine-tuning. */ fun _method(): JsonField = body._method() @@ -216,6 +236,9 @@ private constructor( @JsonProperty("integrations") @ExcludeMissing private val integrations: JsonField> = JsonMissing.of(), + @JsonProperty("metadata") + @ExcludeMissing + private val metadata: JsonField = JsonMissing.of(), @JsonProperty("method") @ExcludeMissing private val method: JsonField = JsonMissing.of(), @@ -269,6 +292,16 @@ private constructor( fun integrations(): Optional> = Optional.ofNullable(integrations.getNullable("integrations")) + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying for + * objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(): Optional = Optional.ofNullable(metadata.getNullable("metadata")) + /** The method used for fine-tuning. */ fun method(): Optional = Optional.ofNullable(method.getNullable("method")) @@ -346,6 +379,16 @@ private constructor( @ExcludeMissing fun _integrations(): JsonField> = integrations + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying for + * objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + @JsonProperty("metadata") @ExcludeMissing fun _metadata(): JsonField = metadata + /** The method used for fine-tuning. */ @JsonProperty("method") @ExcludeMissing fun _method(): JsonField = method @@ -396,6 +439,7 @@ private constructor( trainingFile() hyperparameters().ifPresent { it.validate() } integrations().ifPresent { it.forEach { it.validate() } } + metadata().ifPresent { it.validate() } method().ifPresent { it.validate() } seed() suffix() @@ -426,6 +470,7 @@ private constructor( private var trainingFile: JsonField? = null private var hyperparameters: JsonField = JsonMissing.of() private var integrations: JsonField>? = null + private var metadata: JsonField = JsonMissing.of() private var method: JsonField = JsonMissing.of() private var seed: JsonField = JsonMissing.of() private var suffix: JsonField = JsonMissing.of() @@ -438,6 +483,7 @@ private constructor( trainingFile = body.trainingFile hyperparameters = body.hyperparameters integrations = body.integrations.map { it.toMutableList() } + metadata = body.metadata method = body.method seed = body.seed suffix = body.suffix @@ -545,6 +591,36 @@ private constructor( } } + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying + * for objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(metadata: Metadata?) = metadata(JsonField.ofNullable(metadata)) + + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying + * for objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(metadata: Optional) = metadata(metadata.orElse(null)) + + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying + * for objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(metadata: JsonField) = apply { this.metadata = metadata } + /** The method used for fine-tuning. */ fun method(method: Method) = method(JsonField.of(method)) @@ -678,6 +754,7 @@ private constructor( checkRequired("trainingFile", trainingFile), hyperparameters, (integrations ?: JsonMissing.of()).map { it.toImmutable() }, + metadata, method, seed, suffix, @@ -691,17 +768,17 @@ private constructor( return true } - return /* spotless:off */ other is Body && model == other.model && trainingFile == other.trainingFile && hyperparameters == other.hyperparameters && integrations == other.integrations && method == other.method && seed == other.seed && suffix == other.suffix && validationFile == other.validationFile && additionalProperties == other.additionalProperties /* spotless:on */ + return /* spotless:off */ other is Body && model == other.model && trainingFile == other.trainingFile && hyperparameters == other.hyperparameters && integrations == other.integrations && metadata == other.metadata && method == other.method && seed == other.seed && suffix == other.suffix && validationFile == other.validationFile && additionalProperties == other.additionalProperties /* spotless:on */ } /* spotless:off */ - private val hashCode: Int by lazy { Objects.hash(model, trainingFile, hyperparameters, integrations, method, seed, suffix, validationFile, additionalProperties) } + private val hashCode: Int by lazy { Objects.hash(model, trainingFile, hyperparameters, integrations, metadata, method, seed, suffix, validationFile, additionalProperties) } /* spotless:on */ override fun hashCode(): Int = hashCode override fun toString() = - "Body{model=$model, trainingFile=$trainingFile, hyperparameters=$hyperparameters, integrations=$integrations, method=$method, seed=$seed, suffix=$suffix, validationFile=$validationFile, additionalProperties=$additionalProperties}" + "Body{model=$model, trainingFile=$trainingFile, hyperparameters=$hyperparameters, integrations=$integrations, metadata=$metadata, method=$method, seed=$seed, suffix=$suffix, validationFile=$validationFile, additionalProperties=$additionalProperties}" } fun toBuilder() = Builder().from(this) @@ -832,6 +909,36 @@ private constructor( /** A list of integrations to enable for your fine-tuning job. */ fun addIntegration(integration: Integration) = apply { body.addIntegration(integration) } + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying for + * objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(metadata: Metadata?) = apply { body.metadata(metadata) } + + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying for + * objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(metadata: Optional) = metadata(metadata.orElse(null)) + + /** + * Set of 16 key-value pairs that can be attached to an object. This can be useful for + * storing additional information about the object in a structured format, and querying for + * objects via API or the dashboard. + * + * Keys are strings with a maximum length of 64 characters. Values are strings with a + * maximum length of 512 characters. + */ + fun metadata(metadata: JsonField) = apply { body.metadata(metadata) } + /** The method used for fine-tuning. */ fun method(method: Method) = apply { body.method(method) } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListParams.kt index ac77d7672..9f759fbe8 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/FineTuningJobListParams.kt @@ -14,6 +14,7 @@ class FineTuningJobListParams private constructor( private val after: String?, private val limit: Long?, + private val metadata: Metadata?, private val additionalHeaders: Headers, private val additionalQueryParams: QueryParams, ) : Params { @@ -24,6 +25,12 @@ private constructor( /** Number of fine-tuning jobs to retrieve. */ fun limit(): Optional = Optional.ofNullable(limit) + /** + * Optional metadata filter. To filter, use the syntax `metadata[k]=v`. Alternatively, set + * `metadata=null` to indicate no metadata. + */ + fun metadata(): Optional = Optional.ofNullable(metadata) + fun _additionalHeaders(): Headers = additionalHeaders fun _additionalQueryParams(): QueryParams = additionalQueryParams @@ -34,6 +41,9 @@ private constructor( val queryParams = QueryParams.builder() this.after?.let { queryParams.put("after", listOf(it.toString())) } this.limit?.let { queryParams.put("limit", listOf(it.toString())) } + this.metadata?.forEachQueryParam { key, values -> + queryParams.put("metadata[$key]", values) + } queryParams.putAll(additionalQueryParams) return queryParams.build() } @@ -54,6 +64,7 @@ private constructor( private var after: String? = null private var limit: Long? = null + private var metadata: Metadata? = null private var additionalHeaders: Headers.Builder = Headers.builder() private var additionalQueryParams: QueryParams.Builder = QueryParams.builder() @@ -61,6 +72,7 @@ private constructor( internal fun from(fineTuningJobListParams: FineTuningJobListParams) = apply { after = fineTuningJobListParams.after limit = fineTuningJobListParams.limit + metadata = fineTuningJobListParams.metadata additionalHeaders = fineTuningJobListParams.additionalHeaders.toBuilder() additionalQueryParams = fineTuningJobListParams.additionalQueryParams.toBuilder() } @@ -81,6 +93,18 @@ private constructor( @Suppress("USELESS_CAST") // See https://youtrack.jetbrains.com/issue/KT-74228 fun limit(limit: Optional) = limit(limit.orElse(null) as Long?) + /** + * Optional metadata filter. To filter, use the syntax `metadata[k]=v`. Alternatively, set + * `metadata=null` to indicate no metadata. + */ + fun metadata(metadata: Metadata?) = apply { this.metadata = metadata } + + /** + * Optional metadata filter. To filter, use the syntax `metadata[k]=v`. Alternatively, set + * `metadata=null` to indicate no metadata. + */ + fun metadata(metadata: Optional) = metadata(metadata.orElse(null)) + fun additionalHeaders(additionalHeaders: Headers) = apply { this.additionalHeaders.clear() putAllAdditionalHeaders(additionalHeaders) @@ -183,21 +207,122 @@ private constructor( FineTuningJobListParams( after, limit, + metadata, additionalHeaders.build(), additionalQueryParams.build(), ) } + /** + * Optional metadata filter. To filter, use the syntax `metadata[k]=v`. Alternatively, set + * `metadata=null` to indicate no metadata. + */ + class Metadata private constructor(private val additionalProperties: QueryParams) { + + fun _additionalProperties(): QueryParams = additionalProperties + + @JvmSynthetic + internal fun forEachQueryParam(putParam: (String, List) -> Unit) { + additionalProperties.keys().forEach { putParam(it, additionalProperties.values(it)) } + } + + fun toBuilder() = Builder().from(this) + + companion object { + + /** Returns a mutable builder for constructing an instance of [Metadata]. */ + @JvmStatic fun builder() = Builder() + } + + /** A builder for [Metadata]. */ + class Builder internal constructor() { + + private var additionalProperties: QueryParams.Builder = QueryParams.builder() + + @JvmSynthetic + internal fun from(metadata: Metadata) = apply { + additionalProperties = metadata.additionalProperties.toBuilder() + } + + fun additionalProperties(additionalProperties: QueryParams) = apply { + this.additionalProperties.clear() + putAllAdditionalProperties(additionalProperties) + } + + fun additionalProperties(additionalProperties: Map>) = apply { + this.additionalProperties.clear() + putAllAdditionalProperties(additionalProperties) + } + + fun putAdditionalProperty(key: String, value: String) = apply { + additionalProperties.put(key, value) + } + + fun putAdditionalProperties(key: String, values: Iterable) = apply { + additionalProperties.put(key, values) + } + + fun putAllAdditionalProperties(additionalProperties: QueryParams) = apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun putAllAdditionalProperties(additionalProperties: Map>) = + apply { + this.additionalProperties.putAll(additionalProperties) + } + + fun replaceAdditionalProperties(key: String, value: String) = apply { + additionalProperties.replace(key, value) + } + + fun replaceAdditionalProperties(key: String, values: Iterable) = apply { + additionalProperties.replace(key, values) + } + + fun replaceAllAdditionalProperties(additionalProperties: QueryParams) = apply { + this.additionalProperties.replaceAll(additionalProperties) + } + + fun replaceAllAdditionalProperties( + additionalProperties: Map> + ) = apply { this.additionalProperties.replaceAll(additionalProperties) } + + fun removeAdditionalProperties(key: String) = apply { additionalProperties.remove(key) } + + fun removeAllAdditionalProperties(keys: Set) = apply { + additionalProperties.removeAll(keys) + } + + fun build(): Metadata = Metadata(additionalProperties.build()) + } + + override fun equals(other: Any?): Boolean { + if (this === other) { + return true + } + + return /* spotless:off */ other is Metadata && additionalProperties == other.additionalProperties /* spotless:on */ + } + + /* spotless:off */ + private val hashCode: Int by lazy { Objects.hash(additionalProperties) } + /* spotless:on */ + + override fun hashCode(): Int = hashCode + + override fun toString() = "Metadata{additionalProperties=$additionalProperties}" + } + override fun equals(other: Any?): Boolean { if (this === other) { return true } - return /* spotless:off */ other is FineTuningJobListParams && after == other.after && limit == other.limit && additionalHeaders == other.additionalHeaders && additionalQueryParams == other.additionalQueryParams /* spotless:on */ + return /* spotless:off */ other is FineTuningJobListParams && after == other.after && limit == other.limit && metadata == other.metadata && additionalHeaders == other.additionalHeaders && additionalQueryParams == other.additionalQueryParams /* spotless:on */ } - override fun hashCode(): Int = /* spotless:off */ Objects.hash(after, limit, additionalHeaders, additionalQueryParams) /* spotless:on */ + override fun hashCode(): Int = /* spotless:off */ Objects.hash(after, limit, metadata, additionalHeaders, additionalQueryParams) /* spotless:on */ override fun toString() = - "FineTuningJobListParams{after=$after, limit=$limit, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}" + "FineTuningJobListParams{after=$after, limit=$limit, metadata=$metadata, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}" } diff --git a/openai-java-core/src/test/kotlin/com/openai/models/FileSearchToolCallTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/FileSearchToolCallTest.kt index 94691b6b3..a73a2c02a 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/FileSearchToolCallTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/FileSearchToolCallTest.kt @@ -16,6 +16,7 @@ class FileSearchToolCallTest { FileSearchToolCall.FileSearch.builder() .rankingOptions( FileSearchToolCall.FileSearch.RankingOptions.builder() + .ranker(FileSearchToolCall.FileSearch.RankingOptions.Ranker.AUTO) .scoreThreshold(0.0) .build() ) @@ -44,6 +45,7 @@ class FileSearchToolCallTest { FileSearchToolCall.FileSearch.builder() .rankingOptions( FileSearchToolCall.FileSearch.RankingOptions.builder() + .ranker(FileSearchToolCall.FileSearch.RankingOptions.Ranker.AUTO) .scoreThreshold(0.0) .build() ) diff --git a/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobCreateParamsTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobCreateParamsTest.kt index f5d858b75..ff1e7b20c 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobCreateParamsTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobCreateParamsTest.kt @@ -2,6 +2,7 @@ package com.openai.models +import com.openai.core.JsonValue import kotlin.test.assertNotNull import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test @@ -32,6 +33,9 @@ class FineTuningJobCreateParamsTest { ) .build() ) + .metadata( + Metadata.builder().putAdditionalProperty("foo", JsonValue.from("string")).build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -92,6 +96,11 @@ class FineTuningJobCreateParamsTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -154,6 +163,10 @@ class FineTuningJobCreateParamsTest { .build() ) ) + assertThat(body.metadata()) + .contains( + Metadata.builder().putAdditionalProperty("foo", JsonValue.from("string")).build() + ) assertThat(body.method()) .contains( FineTuningJobCreateParams.Method.builder() diff --git a/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobListParamsTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobListParamsTest.kt index 46b8b4d74..16e9f3c58 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobListParamsTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobListParamsTest.kt @@ -10,15 +10,36 @@ class FineTuningJobListParamsTest { @Test fun create() { - FineTuningJobListParams.builder().after("after").limit(0L).build() + FineTuningJobListParams.builder() + .after("after") + .limit(0L) + .metadata( + FineTuningJobListParams.Metadata.builder() + .putAdditionalProperty("foo", "string") + .build() + ) + .build() } @Test fun queryParams() { - val params = FineTuningJobListParams.builder().after("after").limit(0L).build() + val params = + FineTuningJobListParams.builder() + .after("after") + .limit(0L) + .metadata( + FineTuningJobListParams.Metadata.builder() + .putAdditionalProperty("foo", "string") + .build() + ) + .build() val expected = QueryParams.builder() expected.put("after", "after") expected.put("limit", "0") + FineTuningJobListParams.Metadata.builder() + .putAdditionalProperty("foo", "string") + .build() + .forEachQueryParam { key, values -> expected.put("metadata[$key]", values) } assertThat(params._queryParams()).isEqualTo(expected.build()) } diff --git a/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobTest.kt index ab363aecc..8428a0c8c 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/FineTuningJobTest.kt @@ -2,6 +2,7 @@ package com.openai.models +import com.openai.core.JsonValue import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test @@ -50,6 +51,11 @@ class FineTuningJobTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJob.Method.builder() .dpo( @@ -118,6 +124,10 @@ class FineTuningJobTest { ) .build() ) + assertThat(fineTuningJob.metadata()) + .contains( + Metadata.builder().putAdditionalProperty("foo", JsonValue.from("string")).build() + ) assertThat(fineTuningJob.method()) .contains( FineTuningJob.Method.builder() diff --git a/openai-java-core/src/test/kotlin/com/openai/services/ErrorHandlingTest.kt b/openai-java-core/src/test/kotlin/com/openai/services/ErrorHandlingTest.kt index 4aa3e4a63..be706ae48 100644 --- a/openai-java-core/src/test/kotlin/com/openai/services/ErrorHandlingTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/services/ErrorHandlingTest.kt @@ -24,6 +24,7 @@ import com.openai.errors.UnauthorizedException import com.openai.errors.UnexpectedStatusCodeException import com.openai.errors.UnprocessableEntityException import com.openai.models.FineTuningJobCreateParams +import com.openai.models.Metadata import org.assertj.core.api.Assertions.assertThat import org.assertj.core.api.Assertions.entry import org.junit.jupiter.api.BeforeEach @@ -93,6 +94,11 @@ class ErrorHandlingTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -169,6 +175,11 @@ class ErrorHandlingTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -245,6 +256,11 @@ class ErrorHandlingTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -321,6 +337,11 @@ class ErrorHandlingTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -397,6 +418,11 @@ class ErrorHandlingTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -473,6 +499,11 @@ class ErrorHandlingTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -549,6 +580,11 @@ class ErrorHandlingTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -625,6 +661,11 @@ class ErrorHandlingTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( @@ -701,6 +742,11 @@ class ErrorHandlingTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( diff --git a/openai-java-core/src/test/kotlin/com/openai/services/async/fineTuning/JobServiceAsyncTest.kt b/openai-java-core/src/test/kotlin/com/openai/services/async/fineTuning/JobServiceAsyncTest.kt index c63f30234..386729ff7 100644 --- a/openai-java-core/src/test/kotlin/com/openai/services/async/fineTuning/JobServiceAsyncTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/services/async/fineTuning/JobServiceAsyncTest.kt @@ -4,10 +4,12 @@ package com.openai.services.async.fineTuning import com.openai.TestServerExtension import com.openai.client.okhttp.OpenAIOkHttpClientAsync +import com.openai.core.JsonValue import com.openai.models.FineTuningJobCancelParams import com.openai.models.FineTuningJobCreateParams import com.openai.models.FineTuningJobListEventsParams import com.openai.models.FineTuningJobRetrieveParams +import com.openai.models.Metadata import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith @@ -47,6 +49,11 @@ class JobServiceAsyncTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( diff --git a/openai-java-core/src/test/kotlin/com/openai/services/blocking/fineTuning/JobServiceTest.kt b/openai-java-core/src/test/kotlin/com/openai/services/blocking/fineTuning/JobServiceTest.kt index 609d966b3..f689430c8 100644 --- a/openai-java-core/src/test/kotlin/com/openai/services/blocking/fineTuning/JobServiceTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/services/blocking/fineTuning/JobServiceTest.kt @@ -4,10 +4,12 @@ package com.openai.services.blocking.fineTuning import com.openai.TestServerExtension import com.openai.client.okhttp.OpenAIOkHttpClient +import com.openai.core.JsonValue import com.openai.models.FineTuningJobCancelParams import com.openai.models.FineTuningJobCreateParams import com.openai.models.FineTuningJobListEventsParams import com.openai.models.FineTuningJobRetrieveParams +import com.openai.models.Metadata import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith @@ -47,6 +49,11 @@ class JobServiceTest { ) .build() ) + .metadata( + Metadata.builder() + .putAdditionalProperty("foo", JsonValue.from("string")) + .build() + ) .method( FineTuningJobCreateParams.Method.builder() .dpo( From 2c6a1aa334dec5625a771ddd40452a7ffe32439b Mon Sep 17 00:00:00 2001 From: Tomer Aberbach Date: Wed, 5 Mar 2025 18:15:37 -0500 Subject: [PATCH 4/6] docs: add audio transcription example --- .../AudioTranscriptionsAsyncExample.java | 37 ++++++++++++++++++ .../example/AudioTranscriptionsExample.java | 35 +++++++++++++++++ .../src/main/resources/sports.wav | Bin 0 -> 478124 bytes 3 files changed, 72 insertions(+) create mode 100644 openai-java-example/src/main/java/com/openai/example/AudioTranscriptionsAsyncExample.java create mode 100644 openai-java-example/src/main/java/com/openai/example/AudioTranscriptionsExample.java create mode 100644 openai-java-example/src/main/resources/sports.wav diff --git a/openai-java-example/src/main/java/com/openai/example/AudioTranscriptionsAsyncExample.java b/openai-java-example/src/main/java/com/openai/example/AudioTranscriptionsAsyncExample.java new file mode 100644 index 000000000..94431ee4f --- /dev/null +++ b/openai-java-example/src/main/java/com/openai/example/AudioTranscriptionsAsyncExample.java @@ -0,0 +1,37 @@ +package com.openai.example; + +import com.openai.client.OpenAIClientAsync; +import com.openai.client.okhttp.OpenAIOkHttpClientAsync; +import com.openai.core.MultipartField; +import com.openai.models.AudioModel; +import com.openai.models.AudioTranscriptionCreateParams; +import java.io.IOException; + +public final class AudioTranscriptionsAsyncExample { + private AudioTranscriptionsAsyncExample() {} + + public static void main(String[] args) throws IOException { + // Configures using one of: + // - The `OPENAI_API_KEY` environment variable + // - The `AZURE_OPENAI_ENDPOINT` and `AZURE_OPENAI_KEY` environment variables + OpenAIClientAsync client = OpenAIOkHttpClientAsync.fromEnv(); + + ClassLoader classloader = Thread.currentThread().getContextClassLoader(); + String filename = "sports.wav"; + + AudioTranscriptionCreateParams createParams = AudioTranscriptionCreateParams.builder() + .file(MultipartField.builder() + .value(classloader.getResourceAsStream(filename).readAllBytes()) + .filename(filename) + .build()) + .model(AudioModel.WHISPER_1) + .build(); + + client.audio() + .transcriptions() + .create(createParams) + .thenAccept(response -> + System.out.println(response.asTranscription().text())) + .join(); + } +} diff --git a/openai-java-example/src/main/java/com/openai/example/AudioTranscriptionsExample.java b/openai-java-example/src/main/java/com/openai/example/AudioTranscriptionsExample.java new file mode 100644 index 000000000..e2af4967e --- /dev/null +++ b/openai-java-example/src/main/java/com/openai/example/AudioTranscriptionsExample.java @@ -0,0 +1,35 @@ +package com.openai.example; + +import com.openai.client.OpenAIClient; +import com.openai.client.okhttp.OpenAIOkHttpClient; +import com.openai.core.MultipartField; +import com.openai.models.AudioModel; +import com.openai.models.AudioTranscriptionCreateParams; +import com.openai.models.Transcription; +import java.io.IOException; + +public final class AudioTranscriptionsExample { + private AudioTranscriptionsExample() {} + + public static void main(String[] args) throws IOException { + // Configures using one of: + // - The `OPENAI_API_KEY` environment variable + // - The `AZURE_OPENAI_ENDPOINT` and `AZURE_OPENAI_KEY` environment variables + OpenAIClient client = OpenAIOkHttpClient.fromEnv(); + + ClassLoader classloader = Thread.currentThread().getContextClassLoader(); + String filename = "sports.wav"; + + AudioTranscriptionCreateParams createParams = AudioTranscriptionCreateParams.builder() + .file(MultipartField.builder() + .value(classloader.getResourceAsStream(filename).readAllBytes()) + .filename(filename) + .build()) + .model(AudioModel.WHISPER_1) + .build(); + + Transcription transcription = + client.audio().transcriptions().create(createParams).asTranscription(); + System.out.println(transcription.text()); + } +} diff --git a/openai-java-example/src/main/resources/sports.wav b/openai-java-example/src/main/resources/sports.wav new file mode 100644 index 0000000000000000000000000000000000000000..b0a3abd1ff651f3638ab92c65cbc0ba47075b61b GIT binary patch literal 478124 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

raVI$?l&V*6nu9zw~03G9R?Z4q4 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 z z4EabdjmV=fnrZp@cQ~kpR>C$g$tL(volO;@0SB5EOdHS`D9 zfVr)!f2HRySJ08`c;YZP(>;^?(V;fs@`yg-3BSc{V4?dFMu`O4GLA*GU%Fc+mi>vI zE*9}0u;SsgGn`_e7^yYT#E{XIv?0`?)OcDpy$(zuZJD!JOV}lxI^GFkrNk|b$XJR! zic<ueGrzt}Uu?PTD0O9fPoOWcUxZWS z#d#vtk8T%+}4!e$fhu?+&lKX$vBDPwyW93^BW3?jPu#<-%+g=4Zx%#;c}A)(MUx zx7dF!Kn}Ho$=E1(PT$6BBBS6d8pFQMTOe2{Tqk-U=0sIQw~_@EdsKts`3biY)+NnM z9hQ;Xs9TdKO)IjGHeZ!}C98WQN&2|tlsKuZomj~0$67$YO8EyF2R-`(u-$D=+J{6_ zUQj+lvukXmedvp?t81|Bw0VnZr1_AwyTj+Y229F{Xf0ZW{sl%pt}n@>br#qc*iKlP z))$s{mI+q1ZL<^gJVm!)=>!*P6}gBkBU6#%#2t|>uwh6H(gHJ3xBt99=oQJ%na(#3ubMmr05TAFdMbN6z0a^|pDbPVAUK7eUqKtP99qFd1!{x;sut||8B zR<~Ja?rwc%f9<*f{%f^A+Mnjj^NM|~{38Rg7&UU9xC3cKiKDd#x}uD2asdDK9Tl2;hExD z)K$KX*^kOWgv6>yNtgiJ2QKCgRQqz=kheFp^d~jTY9y6+%Ep#9DNO-eccAK&`e6gz z7`E8#C!o=%bUw4E+fG`pn#LP6+SB#Pn!|O^>c(is)emm?M@!KUHncXD8f~VlkPC`; zyl_T)y7&u%!@?&B?O+t@ylY8I%kXiIGDz%b%oS{ZwfV6vpO^qY*YydPhmI5bhAY7xDbvy5Df zHwvx^jK#Jft++E}f07q9xzjwlRqIydmY(K!n-6V%v)S4vXEWZUI1_rSFgZRuR0sGho+Yr`{0}ys40uYa ztaR%=>m|tHN*%KttsSTBFKj!kPt7Stk&a#8R4uFyl^-jeP!cJom*`8@mK`XsDSux6 zS9#;|VdbyO?v}hNBL2RYkN;d!@cehPKPyTGm3OS(ui=`Tc{YYf#BY@M>?R_o*vzk@ z_aO~}?CE&&1lnLujiifeaB7Rj&zhddu4ta!Vr+}OEe^K`HXqaML8dsNG^!m(MrDwW z5m=;$)VZ8j;$5;EvDLAI;Zp8Mc95COI8L2`+>hviOnk(<+sh8*MvAF!PFR#E zeG$W!ZV;7nF3~5F-Ox@t4>!O5{x{wWo)j=<(tX@O3Z6lvk_S`nk=v8jgpUSs|1iH2 z4Wb3;9Dlm^q>JvTu@WHH+{GU6Jm^{mmKTYK4gWRbedD79E`?5o-Neb1M)bpsF^osF zjuZ`P8&LRv6Ah#TqK@>4N+QBB0lp+6H8wi4UG^z~At6cn>J z)8>-yh1X)uLQR7)f!1iAf2+TTzuY&)HvmWtJN-rer~dBH&^3A$UXiE7wG2oB-ED;y zqNUzUv&i7@8Rj_Ce8U^vA?-@7K(|CUU)M)x(rO#_)Q{C%s2g6FR`**y4tBDg>vn5m zfkxg`_e=L(FEq|Jem1nzZ`HPJ=-seEZ!ia8zrM+R1D%Sk4z>4wH>(;>sK3>|uXWe8 zHPD>z0v8Brl*f?MzRyf$Z|4>Wl#+_*^U~Q-BL!Pn=V@c9<7slR1J00aRrnGXq$Z^| zNjsHXoWP7X#L*KrCmu=?CKo1MNn9O2Q8`flEQTl_rRtOH$!MHa+3ZaAo2I#qTBVLo zpel=Fj!TXSq+B*DLiO=eS?F_julW zEB(4)%W!9+5xGu%$KY{h^N)%wQA=fAVm~UIs%9z;^48LS#YY9VcoJc`1(1x=U4`i(eIO z|8t^*T#0MkmeD>WJOrtvHet5s#*6-z`eG*}0s=pCO$I4tz3Ng-SLnbuie4p05(cM# z$lB4Op_RYo;OrfZo2HLWF(p+bc1(zh+Y-A))+HJfT@wrt%og2>{;lX7|0FS-SRb!b z?2;VfSf~<6OFj(U3Y-B;u*>`2RRP({KBh8LcWXDN#oImT#^Z_4kP{RZZ7DsI$!4GA zyx{)eUFR17P4FkMDz1Q~FHJl{yh*GPJp*%qnz4s6g4h9HAE5i&`k21cV0=2@Y3BLu zUgqxYzTjT%`Omw=|02*I^WzF|l7~YpgS*g+zKBQU3A%TAz5xw(C0ZP~3mN1&q&?Il z@ZC=m!Kftb9pHJ6KMxfV@3WFZ(p$UT=JB8?t3NvyXdgspU_L}F0_sVKtLS> zv(?q1a(oC;0M6~cVAh$z`^Ed4H<){c-3?MR1CehLcZlF;IRBV>YAJPtYerNzs+p%g zRX;&5H)q>WyWDZpHo`L4w9GiklxA(~{OX+^6h&Sk7Frkhzuo7N1dWAWp;g#I=m9tL zMD``dAzChVJoNd$Kq)Jf|iYG&P-I;;-U)YdO;z#HaiRXV%=xfyfZ^`-{C zV<@2~`7JO^1o$y@xVP9f%i)IIuhiMt9rWb-i0Hcjw5RcWaKRkLxR?T~5A_Ky@?)O% zo}OO7zlLx^CUq%uCua;#!(;OVobAll^iA|=#&L#+v7fnu#bnpAQdozWv8;BS_xynP ztMngv3owuWrOb`(tKcdI#V!Lc{pZ9h$=g%)X-N9C)OAV8@ke8i$2608_`Ntv<`kGM zHbxL)ad-rrl-A%K!#=R5lc7i32kA>rrM#hxrH%t<-UCJ!Go2X#_Qh&Q<)uTvGXz|n zKH&Z8Lp73=k&0knpUPDTpH&?!@m8OW@1(i^kE62yZX4^`uxv?|Ei>D37@L&2O&PY# z%*>2iOt;L;%*@Q3a+`9~FvrXcvizU#pUmv;%yyxPZQXm$`##S_chK|R>-Sc9zk5qz z&RYntnpS~60eQdxWR+=wiNWI`MfeX`=?*eiVcS^O*!Riy(0vl~Pl8o|OJ);A*bK(C z@bf@z?{=5T(b{ps5pm|Zk9uqP{|lTBP7d7(y$TsaovAg{8Hx#=Mt^t|eUB~&tIo5? zHt0lNWn2eV+#SdY<^a!alg|YNm!+P*KyXAx^MqpmCsA;4$pg(!H165$An-8Ej{l7)Kg!8xw#zs;!7@E|}kfvZKlXG0$d5~6Mi93k9 zi`n9yBC&8kzd29D^>MzkKNDJ31W$%@%}#VTb1Y*dVv2~7-N+zD2WA3VjlRI1;Q`22 zo`c;NMXn%+a0vDXRt`Q0pN)$ksS##9XANWJ0?~Os&?c<#Py9h=qgR;s7$=Z5k>#`( z=xl3{@#t>W7S2a*0{;=;!ng8o@|*HE^Dc5PlP=DA&VQU{;GtScq_U1@Gd~k1|k-sB+uQxbSY-N`E)(YER=PwT{ zP!OWROCyJn31AU=03PDGtm(ucb_Y%bOsgF^?THbX5!n#_6%6|o{`Lx5m0q8KJ zyu-cG-YdY0`RtzUjt7_BAedUNaUXR@!7Z|`kL5q)w}YW(gRj0v?fheXY*HCo>lSGl zy3=}_afhY7J>dN6@%S^T>5&V}V*D8U82OB=;MLgZ;r8;w0V~>xFh; zMv$!$G5wf25XuW44t@^K3_%+TSdgJ`d$3W$UV<{&G!iwiWriS z(r2=Iihaswsx|7H>fUNAxEFS+ZYgUi8ps3^xoEziC;0L%aW{}{IHkmHR#*HDYGGJ` zoHU2}Co~%vi@87`8|$3~b`pUn!85_*hR>9PzNP;2fsrASZpR?8Qv4KaC@U5hplhIi zu!g!HdKzj(VbDg+iKyWo;0EsJW<(Kb8J30g{sf;2D2-yD!`~-#Cww^aFJg-b=)Q1s zDRED7;aGu+geF(dU%%*<&VqLGSv8IvwJzBoDi*B;9%KFLG&i^Si6*>Z^n18V` zL?&5>Zxc?G+?RzF4E29eH8g}~O4L+!ZIx3|D8C@{N+ya({t^zx%3-pAjdVNIC3rnR z2Vz2dsl4!gdRC+};ztme$o7s*rYpd-V-IubcVPh}s+Wg|(A{8WaCu;o-|JoO>EK@H z8t_9kFhi-+q8C}tl*i8H|n4&MTIY3_6!|6vZ+5F7-!_d|6ML$8$)}PjSw58Sat3nmV@~-92%LbKAD2p!7 zs_0xbS^H8yz|`1U6FORUZ^OX7;ET`+YFyYCmeZ!Nh<-z-AUhc<=5mG-Swn}Yt)Ugc zUxBFsG4PQd`8x%E!=$Asa-?R&5v~zFPW?l5r{+;L zDQT!fptEniNACXYeC=ohImVIDdL8aq?9ez5xZIwAe>EhBucKa;6r6LZ!YFZtWQ6RY z{I6oFa+$Ih*lKpdcm24`Dj6VdAet;ZDR|2N0rsi)NHO=@WPLwFJWByy0k0qup?B35#0^41HIL?%%O@kw!lafCZF;9VI%Eo8kP~Oc*Vk2)&4v_!ne9RXecRyT<*;Ip5LL zj@W)#?wYeruOX3nSFeCB;1YeVL2DXnePlN~lRP|M4gXZgfA@xG5as>o`|5um*cEIU zdKRhIlamG++;peI85|i)K&CT zuz9avC3i5aXSlEr%lkGvXBAQT%x3TNHJ#1SAdsMgcooj+y;~~8%z8L>Aztw-hU&mh) zoKB5{4X9IeC&qR3GTxc^#ok6P;T;#O5L#9p8ufJ-0;F#wg3RcoBVI*P#Zt`J-j=Tm(&O2%WwVQHLhp7=E8JtGC_+#L! z6LkBZ2YkT^)b}tif+G`<%E(H(8?`d9&sz&p>9Ni_(8}BlY~^GA;=sCKc5r7<5!?|F z1cv%4Z?SugbCn?>qo}m;3Y!`Yo-ar$?S5mCX5gBDCV(^NRT^ z_-DAWoS&>1T#flr6DA_+kcar+MVq99<-g^$ELHkL^jt6*a_&Cf7=AWCQLsgjA#@7g zidKs;uy~#l9}|riVla6eMnC+~d39IqGiVUgDkx zcGzux37lEh!Yp_XShh9*xA8FTi5z9rLEB>$utRMElpZOE3)HAZBtqV0pJ!db=ArMH zU4S{dhOvS17FhJt;OSWxU4{-pKQaGh-e-~ixMBD`wUA;_?O|7U75G};y;Yvmp5vayo_u$?YlLgG>yPV_dz5!wz)n?0 zt}zee9wL^Vg=-7)q`loUds7MBD`NbDgP6%0q+jDp=Xh1FuCl;yI~#BzQ97Bf}D^1rXN81 zC>`D-sq{Bw2-b_ufoI$#nCVQGtQWV0*NU3|7`PM#WL@qi?tQKaXviCQ-FPhSP4+E( z4|7N41=TTl9L&I=_Xx~*$9sRmugmanh4*XYz^lN9;HS`= za2+@U>9Blg`nBVH z@9&_WK7_7j$8eKKJ&T97LwZJLMYv#R$V9i|aw3X2gV#q1#>>b%x>mSNaJZLrezjN( zO|>&C|E*YE8LVDySZb}|j)6TF9{wl%2i_OV2q&^OvIAMic*^j?Nnj!^pq+GM28ItO zr;4)W3)JZvw&syKU4<$SDrzZ{$G3=wz8Mw{) z!HpB_6=h1l0%iK5YLTipFiaV;Zj$AqV}fj6JXb(Y<9OIB*ww@^f`+GGOO^_F_{De% zz6%}4*iKWyZ{F*W;pkvpY&~b|>KNg=>v`?N0t3KmbKgJ2-_T#z-_k$Xe+-@sWFRvz zCGa`0HMlJ_pXw7HPoId$8BduFunh1R-oa1fSMlTcNW3+^6`#SnM>OTEA%_Cz;|kYL zR&$=S??e0g1oQ*iBP(eOWe*_FYjN*EbCVG@qZKk@*Wk_EBjX&svK1ps_s|WstT)E)vL5Z<8vzl&ACQSvty}q zEHJXJKtrybCn3L`)Bx1_+R;t`_ug6eK{VhbE<8R`KqbP zyv>&A%JMa$Op!i}Lr8;2bLdnr0{#;-GMh0Fo6bribgX`G6CcJ>vKw>T3$vshm9)CI zCPni{T}$OsJW^a%{#A#gYsPO*JeTx4=~Plw(&EGpiP9ux%B{4*^xGK~=^N7?C;fCcq_yRucl3ryNHa@fbkWk zF})#4RvmcZ+wD=gM%i5!mief0yWxdCUcXXj)E?5l)9%-GfVSXE`$G>upbJb3$ROL6 zwLgJ5b$I9WUd2P9QoDh+~IticZT1Fl+57~j-L9QT|kTPT` zV=8kIx*1!EcV^vVePUf^jb|}fn}Dy0VqxYrMjUby&PnXB1!&!k!u;@dn3G0AO3E2x zg=B%T-dnCE4u<^(@ZicEt=uwShv3|BB0?~E=ma>+dYCJqi~BS(BD_4f%NGOuCx&Z~ z>j}`u_XXmqVRU;q#q?k|^8tw1rX5$EUD>K4v;1e7vn;B-HMrKLm1C>ERNvFBG9=a4d39mc`m;jl9e_<*z zjg~Wq<7x12&chVUB5(=Jgh_}Ty-oOl(R4t-<1Zw;5=?9rBL|tw{ENTfi1}>cIAI^b zV&1>xd$xn90}h}C+|B%6!sVjT;^~ra(g*Sts_D_9gh?s)YAny#pV2OTS1LDYVO-bf zYw88cBXWf-U-Cu#M*E}Df2@_5FP}H)r*k*edK)Zcxc~j8)Cg;d1u*bwb;Hpbgm-LV&7(%Q2+E#^c#J< zeYJeYfxdms)6bLVp6gb+m$=qAhdCD8N7?i2Tj7=(<%)+S>J>O=ee~AzZSt-0&kfEA z-$!bq5-_sl0ufTe>VWq`D-k5JG5k9;FaW7C=Q4XH{CDSCYMDowwwefw0=9iytToJH z;~l+6`?pG0akFB2^&(?GJKH1jM*?}^m)q^{mqv#rvnFLhw(?~eTERZ z4Hk^Wp$UN_@G0ERv)|py9dd1U9d{-;HrX<*|5}DxiYyG4364l z|7Pe9`GKO)l%9y3Wxj_Ug9(fXd`?HsahS6|=llyPv7JDS>dw9a_tAD}Bjzc_Nk$E3 z0L=5hu|)hSR)$8H^_df4GjKFgE7B`+IdV2K0GN9->4NY*m=KivhXAMgp~Gc+X~m$K z(9m+;Y&RV>f{$8PU%R7vbM-JSS3lZFS_*9+orgTFeP6)aaMF9t-OTx~?X~%mkm|ZGocUuS3Ty5`)%Vo(G4YeaotL-*-BY%3ZAgBuYz?af1 z*b>tC+JGof>YL;J;kG#caXhhCI!fJXf#>0L=ux~Rt`Z!U8I5A@0>()+Vq-kV?hzfx zcU%T9ja!3k05j%tL6u~WqLzA2)WoQI>Yd8o3R>=07*)eG6*1r9w#DP|Gh*jP8{zMA zHJ74GVn4^?f=(&{x@v%UOR|2I35d;1vr#i<4xtvS-A(DV(mGqP}Ng5Kj7HI?qZh+H_-HG)W6(Jo$2R;AU-WZhC+2!WaEI8w0 z6$MqP`gNw`R;FXTv%rbFM!Afx^X`$J%bvHMkS72n{t2EB9<8^te|+F^AS-|eX89ey zT;EXtfWVF5C~6+eM}5o`d?MlIJm4h>t3(+RiL{OMmgJUrf~ZO`mEVLni_3vehZE!$ zQcj}4QP=}_{-$VS^ac6@*ge}uzF!eKSF&RzekXm|X zJZDho9o5q+k@A$%cg2m1XA~bT4i~daJC)z8I;)>yF1G%*9kvCm{jBrN-}OY*iqijz z!i6QpughvwMd?SGkJ~S}X&^MG0oAscejmw1Vvt^uAK^nGHqb<>fG*KEd;(48K9%@Y zU!s|@DKROUfa;)fu#&IpudW-#kFu)NO0N8n^qrKcXcu)oPMiF>#=Q()M%PqPe39z2 zxPtqO_znclX6$xcso*CV71M=3_)B@+xf@BG%;H4Avd|6k^efSJjI+?HyF^#e>m$>U zo{R`%5A!B!#|LrN@r~ju@^8v0l}CZgWzy5)fGA096So4!W`@$DI;%FS0*Z;UC*ncE zF8nFnO`HS7K72E}pD`7@A=d&7pU|`0)zMjL?_=9<`E06f{Hi~pyP(ajHdisK230nw zd{Ozms-?EG9y9&4Ots%}?sM1ne)0uiU!EJOV!p+Hv7OxAg2tjO(K%tPpcbzQd5L`i zoLuLKkI=As$X?E2l3LC{P7C%sU?a>1YtJgA2BJkS!mj-c`xo~g;3ymxoel*pE%7j18M#MG6xd4>D04OpU`1Q!{z(-d5WD1`yI<0Q!C>r z!$^a~7%;vu4KdF%W8k3q4O}ox`=ZiNezY{DxJTj1f-41{g13c_ixP`VilD;!Q8%y7%G#Wox6?)^ zBZ>L(X$ij)1IhPOTc%Md=EOs>Z`E>nx;UFZjzkG7{4A>@&*?PqhP6T5%y?D|XB2lF zZxc7bo`x@BoC>D~4c<~$2S&@|p;GHtOaAoqF}tXJa#Pl3U_%@^e@ca!eD zu1zrOzvf=-S?(?OJq@s_gJ6FuWa?nf*dOi4h^0paPkWEJjyoRPAKI<(P8{DQS})t8ysVxIn~y%qA+lZKg+f2S zh!@}{0Ka<>P~pU!*PKV>3+__hOWso6cy2Z40=tmdN8Bbd*b-nr{=@AEvy2n`PyEgN zAWy|>!reoP$(5W_?Ae3?=V3m^efaqdr>=yWh1Lek{e16y=V>cuTB-Y1DJWZ4)Gxnz zZq%=_-v@tX<&6AN^m)bSai4d5Ui#&4&V0z@j{IFKSDp7NKfSPjk-f-KoLM@(++UTe zkFm~lzX)Uj;{l;+h6Mg>XQ^p)_4)F3ptu;V3mP9=rB0Xol>aJq8bR@u

p=sw^f5 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 literal 0 HcmV?d00001 From e1b68de090359c4272435b2236fd021d616331a2 Mon Sep 17 00:00:00 2001 From: Ykoh Date: Thu, 6 Mar 2025 08:18:21 +0900 Subject: [PATCH 5/6] docs: embeddings example (#263) * fix: change model to TEXT_EMBEDDING_3_SMALL due to unsupported dimensions TEXT_EMBEDDING_ADA_002 does not support the `dimensions` option, so the model has been changed to TEXT_EMBEDDING_3_SMALL to ensure proper functionality. * docs: add `EmbeddingsExample` --- .../services/blocking/EmbeddingServiceTest.kt | 2 +- .../example/EmbeddingsAsyncExample.java | 24 +++++++++++++++++++ .../com/openai/example/EmbeddingsExample.java | 24 +++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 openai-java-example/src/main/java/com/openai/example/EmbeddingsAsyncExample.java create mode 100644 openai-java-example/src/main/java/com/openai/example/EmbeddingsExample.java diff --git a/openai-java-core/src/test/kotlin/com/openai/services/blocking/EmbeddingServiceTest.kt b/openai-java-core/src/test/kotlin/com/openai/services/blocking/EmbeddingServiceTest.kt index 0d31b863e..9d97f378f 100644 --- a/openai-java-core/src/test/kotlin/com/openai/services/blocking/EmbeddingServiceTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/services/blocking/EmbeddingServiceTest.kt @@ -25,7 +25,7 @@ class EmbeddingServiceTest { embeddingService.create( EmbeddingCreateParams.builder() .input("The quick brown fox jumped over the lazy dog") - .model(EmbeddingModel.TEXT_EMBEDDING_ADA_002) + .model(EmbeddingModel.TEXT_EMBEDDING_3_SMALL) .dimensions(1L) .encodingFormat(EmbeddingCreateParams.EncodingFormat.FLOAT) .user("user-1234") diff --git a/openai-java-example/src/main/java/com/openai/example/EmbeddingsAsyncExample.java b/openai-java-example/src/main/java/com/openai/example/EmbeddingsAsyncExample.java new file mode 100644 index 000000000..7589738a5 --- /dev/null +++ b/openai-java-example/src/main/java/com/openai/example/EmbeddingsAsyncExample.java @@ -0,0 +1,24 @@ +package com.openai.example; + +import com.openai.client.OpenAIClientAsync; +import com.openai.client.okhttp.OpenAIOkHttpClientAsync; +import com.openai.models.EmbeddingCreateParams; +import com.openai.models.EmbeddingModel; + +public final class EmbeddingsAsyncExample { + private EmbeddingsAsyncExample() {} + + public static void main(String[] args) { + // Configures using one of: + // - The `OPENAI_API_KEY` environment variable + // - The `AZURE_OPENAI_ENDPOINT` and `AZURE_OPENAI_KEY` environment variables + OpenAIClientAsync client = OpenAIOkHttpClientAsync.fromEnv(); + + EmbeddingCreateParams createParams = EmbeddingCreateParams.builder() + .input("The quick brown fox jumped over the lazy dog") + .model(EmbeddingModel.TEXT_EMBEDDING_3_SMALL) + .build(); + + client.embeddings().create(createParams).thenAccept(System.out::println).join(); + } +} diff --git a/openai-java-example/src/main/java/com/openai/example/EmbeddingsExample.java b/openai-java-example/src/main/java/com/openai/example/EmbeddingsExample.java new file mode 100644 index 000000000..bf7a0b721 --- /dev/null +++ b/openai-java-example/src/main/java/com/openai/example/EmbeddingsExample.java @@ -0,0 +1,24 @@ +package com.openai.example; + +import com.openai.client.OpenAIClient; +import com.openai.client.okhttp.OpenAIOkHttpClient; +import com.openai.models.EmbeddingCreateParams; +import com.openai.models.EmbeddingModel; + +public final class EmbeddingsExample { + private EmbeddingsExample() {} + + public static void main(String[] args) { + // Configures using one of: + // - The `OPENAI_API_KEY` environment variable + // - The `AZURE_OPENAI_ENDPOINT` and `AZURE_OPENAI_KEY` environment variables + OpenAIClient client = OpenAIOkHttpClient.fromEnv(); + + EmbeddingCreateParams createParams = EmbeddingCreateParams.builder() + .input("The quick brown fox jumped over the lazy dog") + .model(EmbeddingModel.TEXT_EMBEDDING_3_SMALL) + .build(); + + System.out.println(client.embeddings().create(createParams)); + } +} From b9c9cd975c6d22c4849a7556477074e7f5749487 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 23:18:41 +0000 Subject: [PATCH 6/6] release: 0.31.1 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 20 ++++++++++++++++++++ README.md | 8 ++++---- build.gradle.kts | 2 +- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f81bf9923..8305d4ab7 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.31.0" + ".": "0.31.1" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b49c42c5..f563704ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## 0.31.1 (2025-03-05) + +Full Changelog: [v0.31.0...v0.31.1](https://github.com/openai/openai-java/compare/v0.31.0...v0.31.1) + +### Bug Fixes + +* **api:** add missing file rank enum + more metadata ([#276](https://github.com/openai/openai-java/issues/276)) ([e92512f](https://github.com/openai/openai-java/commit/e92512f551df43f994ec6a29cfb7ef918e203324)) + + +### Chores + +* **client:** expose `Optional`, not nullable, from `ClientOptions` ([#274](https://github.com/openai/openai-java/issues/274)) ([c029310](https://github.com/openai/openai-java/commit/c029310f6f31d5a78767585a9f4ece4ba076fe2e)) + + +### Documentation + +* add audio transcription example ([2c6a1aa](https://github.com/openai/openai-java/commit/2c6a1aa334dec5625a771ddd40452a7ffe32439b)) +* embeddings example ([#263](https://github.com/openai/openai-java/issues/263)) ([e1b68de](https://github.com/openai/openai-java/commit/e1b68de090359c4272435b2236fd021d616331a2)) +* note required fields in `builder` javadoc ([#272](https://github.com/openai/openai-java/issues/272)) ([603b5c9](https://github.com/openai/openai-java/commit/603b5c955ad383fa3ec358c91ce034cbbf7d1446)) + ## 0.31.0 (2025-03-04) Full Changelog: [v0.30.0...v0.31.0](https://github.com/openai/openai-java/compare/v0.30.0...v0.31.0) diff --git a/README.md b/README.md index f732fcf8d..1c3926903 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ -[![Maven Central](https://img.shields.io/maven-central/v/com.openai/openai-java)](https://central.sonatype.com/artifact/com.openai/openai-java/0.31.0) -[![javadoc](https://javadoc.io/badge2/com.openai/openai-java/0.31.0/javadoc.svg)](https://javadoc.io/doc/com.openai/openai-java/0.31.0) +[![Maven Central](https://img.shields.io/maven-central/v/com.openai/openai-java)](https://central.sonatype.com/artifact/com.openai/openai-java/0.31.1) +[![javadoc](https://javadoc.io/badge2/com.openai/openai-java/0.31.1/javadoc.svg)](https://javadoc.io/doc/com.openai/openai-java/0.31.1) @@ -25,7 +25,7 @@ The REST API documentation can be found on [platform.openai.com](https://platfor ### Gradle ```kotlin -implementation("com.openai:openai-java:0.31.0") +implementation("com.openai:openai-java:0.31.1") ``` ### Maven @@ -34,7 +34,7 @@ implementation("com.openai:openai-java:0.31.0") com.openai openai-java - 0.31.0 + 0.31.1 ``` diff --git a/build.gradle.kts b/build.gradle.kts index d91f6a4a8..52be4c723 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ repositories { allprojects { group = "com.openai" - version = "0.31.0" // x-release-please-version + version = "0.31.1" // x-release-please-version } subprojects {

@*jj&}`n+_crRI?K?qeWk~ssaPrf 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 jTrH8^3&cf-FTc09Rm5k=6WYb}IFn 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