From eec196b75822485c4507f37f2eed0a503e276d99 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 18:14:21 +0000 Subject: [PATCH 1/3] chore(internal): codegen related update --- scripts/upload-artifacts | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/upload-artifacts b/scripts/upload-artifacts index 10f3c7055..5c1fbefc4 100755 --- a/scripts/upload-artifacts +++ b/scripts/upload-artifacts @@ -91,6 +91,7 @@ generate_instructions() { Maven Repo +

Stainless SDK Maven Repository

From 7f0cbd55a6e7cbfb587d10380f9d891e3c0309ea Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 18:33:48 +0000 Subject: [PATCH 2/3] chore(api): disable stainless codeflow --- .stats.yml | 6 +- .../kotlin/com/openai/models/ChatModel.kt | 6 ++ .../models/beta/responses/BetaResponse.kt | 6 ++ .../BetaResponseFunctionToolCallOutputItem.kt | 89 ++++++++++++++++- .../beta/responses/BetaResponseInputItem.kt | 95 ++++++++++++++++++- .../responses/BetaResponsesClientEvent.kt | 6 ++ .../beta/responses/ResponseCompactParams.kt | 6 ++ .../beta/responses/ResponseCreateParams.kt | 6 ++ .../models/responses/ResponseCompactParams.kt | 6 ++ .../ResponseFunctionToolCallOutputItem.kt | 88 ++++++++++++++++- .../models/responses/ResponseInputItem.kt | 94 +++++++++++++++++- ...aResponseFunctionToolCallOutputItemTest.kt | 6 ++ .../responses/BetaResponseInputItemTest.kt | 4 + .../beta/responses/BetaResponseItemTest.kt | 4 + .../responses/BetaResponseOutputItemTest.kt | 4 + .../items/ConversationItemTest.kt | 4 + .../ResponseFunctionToolCallOutputItemTest.kt | 6 ++ .../models/responses/ResponseInputItemTest.kt | 4 + .../models/responses/ResponseItemTest.kt | 4 + .../responses/ResponseOutputItemTest.kt | 4 + 20 files changed, 432 insertions(+), 16 deletions(-) diff --git a/.stats.yml b/.stats.yml index 284e122e6..e28c9c829 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 278 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai/openai-31fcc3c97e5c432754bf0b72c5d5abbe1493573f0ca888af914baf81188b453e.yml -openapi_spec_hash: f867849a0c2a9c9b838d21f1c720a9e3 -config_hash: fce3820c4f95b555e486349bc7d297d8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai/openai-109bc94104d50d22b22a44ea4d9fdf9ee5ecb09fe8cafbab10c4651cfb1b7d23.yml +openapi_spec_hash: d342651bd77c6cd6ea10a9d889b35bb8 +config_hash: 017f3e1596129b7f06acd753e8a0d6e2 diff --git a/openai-java-core/src/main/kotlin/com/openai/models/ChatModel.kt b/openai-java-core/src/main/kotlin/com/openai/models/ChatModel.kt index 35755e10b..5b480c784 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/ChatModel.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/ChatModel.kt @@ -26,6 +26,8 @@ class ChatModel @JsonCreator private constructor(private val value: JsonField Value.GPT_5_6_SOL GPT_5_6_TERRA -> Value.GPT_5_6_TERRA GPT_5_6_LUNA -> Value.GPT_5_6_LUNA + GPT_5_5 -> Value.GPT_5_5 GPT_5_4 -> Value.GPT_5_4 GPT_5_4_MINI -> Value.GPT_5_4_MINI GPT_5_4_NANO -> Value.GPT_5_4_NANO @@ -473,6 +478,7 @@ class ChatModel @JsonCreator private constructor(private val value: JsonField Known.GPT_5_6_SOL GPT_5_6_TERRA -> Known.GPT_5_6_TERRA GPT_5_6_LUNA -> Known.GPT_5_6_LUNA + GPT_5_5 -> Known.GPT_5_5 GPT_5_4 -> Known.GPT_5_4 GPT_5_4_MINI -> Known.GPT_5_4_MINI GPT_5_4_NANO -> Known.GPT_5_4_NANO diff --git a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponse.kt b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponse.kt index 26b63d89f..ccc9f4f35 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponse.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponse.kt @@ -2970,6 +2970,8 @@ private constructor( @JvmField val GPT_5_6_LUNA = of("gpt-5.6-luna") + @JvmField val GPT_5_5 = of("gpt-5.5") + @JvmField val GPT_5_4 = of("gpt-5.4") @JvmField val GPT_5_4_MINI = of("gpt-5.4-mini") @@ -3164,6 +3166,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -3271,6 +3274,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -3379,6 +3383,7 @@ private constructor( GPT_5_6_SOL -> Value.GPT_5_6_SOL GPT_5_6_TERRA -> Value.GPT_5_6_TERRA GPT_5_6_LUNA -> Value.GPT_5_6_LUNA + GPT_5_5 -> Value.GPT_5_5 GPT_5_4 -> Value.GPT_5_4 GPT_5_4_MINI -> Value.GPT_5_4_MINI GPT_5_4_NANO -> Value.GPT_5_4_NANO @@ -3488,6 +3493,7 @@ private constructor( GPT_5_6_SOL -> Known.GPT_5_6_SOL GPT_5_6_TERRA -> Known.GPT_5_6_TERRA GPT_5_6_LUNA -> Known.GPT_5_6_LUNA + GPT_5_5 -> Known.GPT_5_5 GPT_5_4 -> Known.GPT_5_4 GPT_5_4_MINI -> Known.GPT_5_4_MINI GPT_5_4_NANO -> Known.GPT_5_4_NANO diff --git a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseFunctionToolCallOutputItem.kt b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseFunctionToolCallOutputItem.kt index 591494216..9d73f3320 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseFunctionToolCallOutputItem.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseFunctionToolCallOutputItem.kt @@ -41,6 +41,8 @@ private constructor( private val agent: JsonField, private val caller: JsonField, private val createdBy: JsonField, + private val name: JsonField, + private val namespace: JsonField, private val additionalProperties: MutableMap, ) { @@ -54,7 +56,21 @@ private constructor( @JsonProperty("agent") @ExcludeMissing agent: JsonField = JsonMissing.of(), @JsonProperty("caller") @ExcludeMissing caller: JsonField = JsonMissing.of(), @JsonProperty("created_by") @ExcludeMissing createdBy: JsonField = JsonMissing.of(), - ) : this(id, callId, output, status, type, agent, caller, createdBy, mutableMapOf()) + @JsonProperty("name") @ExcludeMissing name: JsonField = JsonMissing.of(), + @JsonProperty("namespace") @ExcludeMissing namespace: JsonField = JsonMissing.of(), + ) : this( + id, + callId, + output, + status, + type, + agent, + caller, + createdBy, + name, + namespace, + mutableMapOf(), + ) /** * The unique ID of the function call tool output. @@ -127,6 +143,22 @@ private constructor( */ fun createdBy(): Optional = createdBy.getOptional("created_by") + /** + * The name of the tool that produced the output. + * + * @throws OpenAIInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun name(): Optional = name.getOptional("name") + + /** + * The namespace of the tool that produced the output. + * + * @throws OpenAIInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun namespace(): Optional = namespace.getOptional("namespace") + /** * Returns the raw JSON value of [id]. * @@ -176,6 +208,20 @@ private constructor( */ @JsonProperty("created_by") @ExcludeMissing fun _createdBy(): JsonField = createdBy + /** + * Returns the raw JSON value of [name]. + * + * Unlike [name], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("name") @ExcludeMissing fun _name(): JsonField = name + + /** + * Returns the raw JSON value of [namespace]. + * + * Unlike [namespace], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("namespace") @ExcludeMissing fun _namespace(): JsonField = namespace + @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { additionalProperties.put(key, value) @@ -216,6 +262,8 @@ private constructor( private var agent: JsonField = JsonMissing.of() private var caller: JsonField = JsonMissing.of() private var createdBy: JsonField = JsonMissing.of() + private var name: JsonField = JsonMissing.of() + private var namespace: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic @@ -230,6 +278,8 @@ private constructor( agent = betaResponseFunctionToolCallOutputItem.agent caller = betaResponseFunctionToolCallOutputItem.caller createdBy = betaResponseFunctionToolCallOutputItem.createdBy + name = betaResponseFunctionToolCallOutputItem.name + namespace = betaResponseFunctionToolCallOutputItem.namespace additionalProperties = betaResponseFunctionToolCallOutputItem.additionalProperties.toMutableMap() } @@ -362,6 +412,29 @@ private constructor( */ fun createdBy(createdBy: JsonField) = apply { this.createdBy = createdBy } + /** The name of the tool that produced the output. */ + fun name(name: String) = name(JsonField.of(name)) + + /** + * Sets [Builder.name] to an arbitrary JSON value. + * + * You should usually call [Builder.name] with a well-typed [String] value instead. This + * method is primarily for setting the field to an undocumented or not yet supported value. + */ + fun name(name: JsonField) = apply { this.name = name } + + /** The namespace of the tool that produced the output. */ + fun namespace(namespace: String) = namespace(JsonField.of(namespace)) + + /** + * Sets [Builder.namespace] to an arbitrary JSON value. + * + * You should usually call [Builder.namespace] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet supported + * value. + */ + fun namespace(namespace: JsonField) = apply { this.namespace = namespace } + fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() putAllAdditionalProperties(additionalProperties) @@ -406,6 +479,8 @@ private constructor( agent, caller, createdBy, + name, + namespace, additionalProperties.toMutableMap(), ) } @@ -437,6 +512,8 @@ private constructor( agent().ifPresent { it.validate() } caller().ifPresent { it.validate() } createdBy() + name() + namespace() validated = true } @@ -462,7 +539,9 @@ private constructor( type.let { if (it == JsonValue.from("function_call_output")) 1 else 0 } + (agent.asKnown().getOrNull()?.validity() ?: 0) + (caller.asKnown().getOrNull()?.validity() ?: 0) + - (if (createdBy.asKnown().isPresent) 1 else 0) + (if (createdBy.asKnown().isPresent) 1 else 0) + + (if (name.asKnown().isPresent) 1 else 0) + + (if (namespace.asKnown().isPresent) 1 else 0) /** * The output from the function call generated by your code. Can be a string or an list of @@ -1743,6 +1822,8 @@ private constructor( agent == other.agent && caller == other.caller && createdBy == other.createdBy && + name == other.name && + namespace == other.namespace && additionalProperties == other.additionalProperties } @@ -1756,6 +1837,8 @@ private constructor( agent, caller, createdBy, + name, + namespace, additionalProperties, ) } @@ -1763,5 +1846,5 @@ private constructor( override fun hashCode(): Int = hashCode override fun toString() = - "BetaResponseFunctionToolCallOutputItem{id=$id, callId=$callId, output=$output, status=$status, type=$type, agent=$agent, caller=$caller, createdBy=$createdBy, additionalProperties=$additionalProperties}" + "BetaResponseFunctionToolCallOutputItem{id=$id, callId=$callId, output=$output, status=$status, type=$type, agent=$agent, caller=$caller, createdBy=$createdBy, name=$name, namespace=$namespace, additionalProperties=$additionalProperties}" } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseInputItem.kt b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseInputItem.kt index 91b4ac0b1..b13b77689 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseInputItem.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseInputItem.kt @@ -3608,6 +3608,8 @@ private constructor( private val id: JsonField, private val agent: JsonField, private val caller: JsonField, + private val name: JsonField, + private val namespace: JsonField, private val status: JsonField, private val additionalProperties: MutableMap, ) { @@ -3620,8 +3622,12 @@ private constructor( @JsonProperty("id") @ExcludeMissing id: JsonField = JsonMissing.of(), @JsonProperty("agent") @ExcludeMissing agent: JsonField = JsonMissing.of(), @JsonProperty("caller") @ExcludeMissing caller: JsonField = JsonMissing.of(), + @JsonProperty("name") @ExcludeMissing name: JsonField = JsonMissing.of(), + @JsonProperty("namespace") + @ExcludeMissing + namespace: JsonField = JsonMissing.of(), @JsonProperty("status") @ExcludeMissing status: JsonField = JsonMissing.of(), - ) : this(callId, output, type, id, agent, caller, status, mutableMapOf()) + ) : this(callId, output, type, id, agent, caller, name, namespace, status, mutableMapOf()) /** * The unique ID of the function tool call generated by the model. @@ -3677,6 +3683,22 @@ private constructor( */ fun caller(): Optional = caller.getOptional("caller") + /** + * The name of the tool that produced the output. + * + * @throws OpenAIInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun name(): Optional = name.getOptional("name") + + /** + * The namespace of the tool that produced the output. + * + * @throws OpenAIInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun namespace(): Optional = namespace.getOptional("namespace") + /** * The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated * when items are returned via API. @@ -3721,6 +3743,20 @@ private constructor( */ @JsonProperty("caller") @ExcludeMissing fun _caller(): JsonField = caller + /** + * Returns the raw JSON value of [name]. + * + * Unlike [name], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("name") @ExcludeMissing fun _name(): JsonField = name + + /** + * Returns the raw JSON value of [namespace]. + * + * Unlike [namespace], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("namespace") @ExcludeMissing fun _namespace(): JsonField = namespace + /** * Returns the raw JSON value of [status]. * @@ -3763,6 +3799,8 @@ private constructor( private var id: JsonField = JsonMissing.of() private var agent: JsonField = JsonMissing.of() private var caller: JsonField = JsonMissing.of() + private var name: JsonField = JsonMissing.of() + private var namespace: JsonField = JsonMissing.of() private var status: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -3774,6 +3812,8 @@ private constructor( id = functionCallOutput.id agent = functionCallOutput.agent caller = functionCallOutput.caller + name = functionCallOutput.name + namespace = functionCallOutput.namespace status = functionCallOutput.status additionalProperties = functionCallOutput.additionalProperties.toMutableMap() } @@ -3897,6 +3937,36 @@ private constructor( fun programCaller(callerId: String) = caller(Caller.Program.builder().callerId(callerId).build()) + /** The name of the tool that produced the output. */ + fun name(name: String?) = name(JsonField.ofNullable(name)) + + /** Alias for calling [Builder.name] with `name.orElse(null)`. */ + fun name(name: Optional) = name(name.getOrNull()) + + /** + * Sets [Builder.name] to an arbitrary JSON value. + * + * You should usually call [Builder.name] with a well-typed [String] value instead. This + * method is primarily for setting the field to an undocumented or not yet supported + * value. + */ + fun name(name: JsonField) = apply { this.name = name } + + /** The namespace of the tool that produced the output. */ + fun namespace(namespace: String?) = namespace(JsonField.ofNullable(namespace)) + + /** Alias for calling [Builder.namespace] with `namespace.orElse(null)`. */ + fun namespace(namespace: Optional) = namespace(namespace.getOrNull()) + + /** + * Sets [Builder.namespace] to an arbitrary JSON value. + * + * You should usually call [Builder.namespace] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun namespace(namespace: JsonField) = apply { this.namespace = namespace } + /** * The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated * when items are returned via API. @@ -3955,6 +4025,8 @@ private constructor( id, agent, caller, + name, + namespace, status, additionalProperties.toMutableMap(), ) @@ -3986,6 +4058,8 @@ private constructor( id() agent().ifPresent { it.validate() } caller().ifPresent { it.validate() } + name() + namespace() status().ifPresent { it.validate() } validated = true } @@ -4012,6 +4086,8 @@ private constructor( (if (id.asKnown().isPresent) 1 else 0) + (agent.asKnown().getOrNull()?.validity() ?: 0) + (caller.asKnown().getOrNull()?.validity() ?: 0) + + (if (name.asKnown().isPresent) 1 else 0) + + (if (namespace.asKnown().isPresent) 1 else 0) + (status.asKnown().getOrNull()?.validity() ?: 0) /** Text, image, or file output of the function tool call. */ @@ -5053,18 +5129,31 @@ private constructor( id == other.id && agent == other.agent && caller == other.caller && + name == other.name && + namespace == other.namespace && status == other.status && additionalProperties == other.additionalProperties } private val hashCode: Int by lazy { - Objects.hash(callId, output, type, id, agent, caller, status, additionalProperties) + Objects.hash( + callId, + output, + type, + id, + agent, + caller, + name, + namespace, + status, + additionalProperties, + ) } override fun hashCode(): Int = hashCode override fun toString() = - "FunctionCallOutput{callId=$callId, output=$output, type=$type, id=$id, agent=$agent, caller=$caller, status=$status, additionalProperties=$additionalProperties}" + "FunctionCallOutput{callId=$callId, output=$output, type=$type, id=$id, agent=$agent, caller=$caller, name=$name, namespace=$namespace, status=$status, additionalProperties=$additionalProperties}" } /** A message routed between agents. */ diff --git a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponsesClientEvent.kt b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponsesClientEvent.kt index c0ae3b1f8..47d59415a 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponsesClientEvent.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponsesClientEvent.kt @@ -3347,6 +3347,8 @@ private constructor( @JvmField val GPT_5_6_LUNA = of("gpt-5.6-luna") + @JvmField val GPT_5_5 = of("gpt-5.5") + @JvmField val GPT_5_4 = of("gpt-5.4") @JvmField val GPT_5_4_MINI = of("gpt-5.4-mini") @@ -3549,6 +3551,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -3656,6 +3659,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -3766,6 +3770,7 @@ private constructor( GPT_5_6_SOL -> Value.GPT_5_6_SOL GPT_5_6_TERRA -> Value.GPT_5_6_TERRA GPT_5_6_LUNA -> Value.GPT_5_6_LUNA + GPT_5_5 -> Value.GPT_5_5 GPT_5_4 -> Value.GPT_5_4 GPT_5_4_MINI -> Value.GPT_5_4_MINI GPT_5_4_NANO -> Value.GPT_5_4_NANO @@ -3877,6 +3882,7 @@ private constructor( GPT_5_6_SOL -> Known.GPT_5_6_SOL GPT_5_6_TERRA -> Known.GPT_5_6_TERRA GPT_5_6_LUNA -> Known.GPT_5_6_LUNA + GPT_5_5 -> Known.GPT_5_5 GPT_5_4 -> Known.GPT_5_4 GPT_5_4_MINI -> Known.GPT_5_4_MINI GPT_5_4_NANO -> Known.GPT_5_4_NANO diff --git a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/ResponseCompactParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/ResponseCompactParams.kt index 7f906e18a..1edb5e284 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/ResponseCompactParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/ResponseCompactParams.kt @@ -1274,6 +1274,8 @@ private constructor( @JvmField val GPT_5_6_LUNA = of("gpt-5.6-luna") + @JvmField val GPT_5_5 = of("gpt-5.5") + @JvmField val GPT_5_4 = of("gpt-5.4") @JvmField val GPT_5_4_MINI = of("gpt-5.4-mini") @@ -1468,6 +1470,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -1575,6 +1578,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -1683,6 +1687,7 @@ private constructor( GPT_5_6_SOL -> Value.GPT_5_6_SOL GPT_5_6_TERRA -> Value.GPT_5_6_TERRA GPT_5_6_LUNA -> Value.GPT_5_6_LUNA + GPT_5_5 -> Value.GPT_5_5 GPT_5_4 -> Value.GPT_5_4 GPT_5_4_MINI -> Value.GPT_5_4_MINI GPT_5_4_NANO -> Value.GPT_5_4_NANO @@ -1792,6 +1797,7 @@ private constructor( GPT_5_6_SOL -> Known.GPT_5_6_SOL GPT_5_6_TERRA -> Known.GPT_5_6_TERRA GPT_5_6_LUNA -> Known.GPT_5_6_LUNA + GPT_5_5 -> Known.GPT_5_5 GPT_5_4 -> Known.GPT_5_4 GPT_5_4_MINI -> Known.GPT_5_4_MINI GPT_5_4_NANO -> Known.GPT_5_4_NANO diff --git a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/ResponseCreateParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/ResponseCreateParams.kt index 2a712a06c..b1fdfaac2 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/ResponseCreateParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/beta/responses/ResponseCreateParams.kt @@ -4820,6 +4820,8 @@ private constructor( @JvmField val GPT_5_6_LUNA = of("gpt-5.6-luna") + @JvmField val GPT_5_5 = of("gpt-5.5") + @JvmField val GPT_5_4 = of("gpt-5.4") @JvmField val GPT_5_4_MINI = of("gpt-5.4-mini") @@ -5014,6 +5016,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -5121,6 +5124,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -5229,6 +5233,7 @@ private constructor( GPT_5_6_SOL -> Value.GPT_5_6_SOL GPT_5_6_TERRA -> Value.GPT_5_6_TERRA GPT_5_6_LUNA -> Value.GPT_5_6_LUNA + GPT_5_5 -> Value.GPT_5_5 GPT_5_4 -> Value.GPT_5_4 GPT_5_4_MINI -> Value.GPT_5_4_MINI GPT_5_4_NANO -> Value.GPT_5_4_NANO @@ -5338,6 +5343,7 @@ private constructor( GPT_5_6_SOL -> Known.GPT_5_6_SOL GPT_5_6_TERRA -> Known.GPT_5_6_TERRA GPT_5_6_LUNA -> Known.GPT_5_6_LUNA + GPT_5_5 -> Known.GPT_5_5 GPT_5_4 -> Known.GPT_5_4 GPT_5_4_MINI -> Known.GPT_5_4_MINI GPT_5_4_NANO -> Known.GPT_5_4_NANO diff --git a/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseCompactParams.kt b/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseCompactParams.kt index 08171a5ae..78f0f2d86 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseCompactParams.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseCompactParams.kt @@ -1244,6 +1244,8 @@ private constructor( @JvmField val GPT_5_6_LUNA = of("gpt-5.6-luna") + @JvmField val GPT_5_5 = of("gpt-5.5") + @JvmField val GPT_5_4 = of("gpt-5.4") @JvmField val GPT_5_4_MINI = of("gpt-5.4-mini") @@ -1438,6 +1440,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -1545,6 +1548,7 @@ private constructor( GPT_5_6_SOL, GPT_5_6_TERRA, GPT_5_6_LUNA, + GPT_5_5, GPT_5_4, GPT_5_4_MINI, GPT_5_4_NANO, @@ -1653,6 +1657,7 @@ private constructor( GPT_5_6_SOL -> Value.GPT_5_6_SOL GPT_5_6_TERRA -> Value.GPT_5_6_TERRA GPT_5_6_LUNA -> Value.GPT_5_6_LUNA + GPT_5_5 -> Value.GPT_5_5 GPT_5_4 -> Value.GPT_5_4 GPT_5_4_MINI -> Value.GPT_5_4_MINI GPT_5_4_NANO -> Value.GPT_5_4_NANO @@ -1762,6 +1767,7 @@ private constructor( GPT_5_6_SOL -> Known.GPT_5_6_SOL GPT_5_6_TERRA -> Known.GPT_5_6_TERRA GPT_5_6_LUNA -> Known.GPT_5_6_LUNA + GPT_5_5 -> Known.GPT_5_5 GPT_5_4 -> Known.GPT_5_4 GPT_5_4_MINI -> Known.GPT_5_4_MINI GPT_5_4_NANO -> Known.GPT_5_4_NANO diff --git a/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionToolCallOutputItem.kt b/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionToolCallOutputItem.kt index 50b7b9a73..599b5be04 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionToolCallOutputItem.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionToolCallOutputItem.kt @@ -40,6 +40,8 @@ private constructor( private val type: JsonValue, private val caller: JsonField, private val createdBy: JsonField, + private val name: JsonField, + private val namespace: JsonField, private val additionalProperties: MutableMap, ) { @@ -52,7 +54,9 @@ private constructor( @JsonProperty("type") @ExcludeMissing type: JsonValue = JsonMissing.of(), @JsonProperty("caller") @ExcludeMissing caller: JsonField = JsonMissing.of(), @JsonProperty("created_by") @ExcludeMissing createdBy: JsonField = JsonMissing.of(), - ) : this(id, callId, output, status, type, caller, createdBy, mutableMapOf()) + @JsonProperty("name") @ExcludeMissing name: JsonField = JsonMissing.of(), + @JsonProperty("namespace") @ExcludeMissing namespace: JsonField = JsonMissing.of(), + ) : this(id, callId, output, status, type, caller, createdBy, name, namespace, mutableMapOf()) /** * The unique ID of the function call tool output. @@ -117,6 +121,22 @@ private constructor( */ fun createdBy(): Optional = createdBy.getOptional("created_by") + /** + * The name of the tool that produced the output. + * + * @throws OpenAIInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun name(): Optional = name.getOptional("name") + + /** + * The namespace of the tool that produced the output. + * + * @throws OpenAIInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun namespace(): Optional = namespace.getOptional("namespace") + /** * Returns the raw JSON value of [id]. * @@ -159,6 +179,20 @@ private constructor( */ @JsonProperty("created_by") @ExcludeMissing fun _createdBy(): JsonField = createdBy + /** + * Returns the raw JSON value of [name]. + * + * Unlike [name], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("name") @ExcludeMissing fun _name(): JsonField = name + + /** + * Returns the raw JSON value of [namespace]. + * + * Unlike [namespace], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("namespace") @ExcludeMissing fun _namespace(): JsonField = namespace + @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { additionalProperties.put(key, value) @@ -198,6 +232,8 @@ private constructor( private var type: JsonValue = JsonValue.from("function_call_output") private var caller: JsonField = JsonMissing.of() private var createdBy: JsonField = JsonMissing.of() + private var name: JsonField = JsonMissing.of() + private var namespace: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic @@ -210,6 +246,8 @@ private constructor( type = responseFunctionToolCallOutputItem.type caller = responseFunctionToolCallOutputItem.caller createdBy = responseFunctionToolCallOutputItem.createdBy + name = responseFunctionToolCallOutputItem.name + namespace = responseFunctionToolCallOutputItem.namespace additionalProperties = responseFunctionToolCallOutputItem.additionalProperties.toMutableMap() } @@ -328,6 +366,29 @@ private constructor( */ fun createdBy(createdBy: JsonField) = apply { this.createdBy = createdBy } + /** The name of the tool that produced the output. */ + fun name(name: String) = name(JsonField.of(name)) + + /** + * Sets [Builder.name] to an arbitrary JSON value. + * + * You should usually call [Builder.name] with a well-typed [String] value instead. This + * method is primarily for setting the field to an undocumented or not yet supported value. + */ + fun name(name: JsonField) = apply { this.name = name } + + /** The namespace of the tool that produced the output. */ + fun namespace(namespace: String) = namespace(JsonField.of(namespace)) + + /** + * Sets [Builder.namespace] to an arbitrary JSON value. + * + * You should usually call [Builder.namespace] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet supported + * value. + */ + fun namespace(namespace: JsonField) = apply { this.namespace = namespace } + fun additionalProperties(additionalProperties: Map) = apply { this.additionalProperties.clear() putAllAdditionalProperties(additionalProperties) @@ -371,6 +432,8 @@ private constructor( type, caller, createdBy, + name, + namespace, additionalProperties.toMutableMap(), ) } @@ -401,6 +464,8 @@ private constructor( } caller().ifPresent { it.validate() } createdBy() + name() + namespace() validated = true } @@ -425,7 +490,9 @@ private constructor( (status.asKnown().getOrNull()?.validity() ?: 0) + type.let { if (it == JsonValue.from("function_call_output")) 1 else 0 } + (caller.asKnown().getOrNull()?.validity() ?: 0) + - (if (createdBy.asKnown().isPresent) 1 else 0) + (if (createdBy.asKnown().isPresent) 1 else 0) + + (if (name.asKnown().isPresent) 1 else 0) + + (if (namespace.asKnown().isPresent) 1 else 0) /** * The output from the function call generated by your code. Can be a string or an list of @@ -1521,15 +1588,28 @@ private constructor( type == other.type && caller == other.caller && createdBy == other.createdBy && + name == other.name && + namespace == other.namespace && additionalProperties == other.additionalProperties } private val hashCode: Int by lazy { - Objects.hash(id, callId, output, status, type, caller, createdBy, additionalProperties) + Objects.hash( + id, + callId, + output, + status, + type, + caller, + createdBy, + name, + namespace, + additionalProperties, + ) } override fun hashCode(): Int = hashCode override fun toString() = - "ResponseFunctionToolCallOutputItem{id=$id, callId=$callId, output=$output, status=$status, type=$type, caller=$caller, createdBy=$createdBy, additionalProperties=$additionalProperties}" + "ResponseFunctionToolCallOutputItem{id=$id, callId=$callId, output=$output, status=$status, type=$type, caller=$caller, createdBy=$createdBy, name=$name, namespace=$namespace, additionalProperties=$additionalProperties}" } diff --git a/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseInputItem.kt b/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseInputItem.kt index b2b64717f..ea907fed1 100644 --- a/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseInputItem.kt +++ b/openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseInputItem.kt @@ -3058,6 +3058,8 @@ private constructor( private val type: JsonValue, private val id: JsonField, private val caller: JsonField, + private val name: JsonField, + private val namespace: JsonField, private val status: JsonField, private val additionalProperties: MutableMap, ) { @@ -3069,8 +3071,12 @@ private constructor( @JsonProperty("type") @ExcludeMissing type: JsonValue = JsonMissing.of(), @JsonProperty("id") @ExcludeMissing id: JsonField = JsonMissing.of(), @JsonProperty("caller") @ExcludeMissing caller: JsonField = JsonMissing.of(), + @JsonProperty("name") @ExcludeMissing name: JsonField = JsonMissing.of(), + @JsonProperty("namespace") + @ExcludeMissing + namespace: JsonField = JsonMissing.of(), @JsonProperty("status") @ExcludeMissing status: JsonField = JsonMissing.of(), - ) : this(callId, output, type, id, caller, status, mutableMapOf()) + ) : this(callId, output, type, id, caller, name, namespace, status, mutableMapOf()) /** * The unique ID of the function tool call generated by the model. @@ -3118,6 +3124,22 @@ private constructor( */ fun caller(): Optional = caller.getOptional("caller") + /** + * The name of the tool that produced the output. + * + * @throws OpenAIInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun name(): Optional = name.getOptional("name") + + /** + * The namespace of the tool that produced the output. + * + * @throws OpenAIInvalidDataException if the JSON field has an unexpected type (e.g. if the + * server responded with an unexpected value). + */ + fun namespace(): Optional = namespace.getOptional("namespace") + /** * The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated * when items are returned via API. @@ -3155,6 +3177,20 @@ private constructor( */ @JsonProperty("caller") @ExcludeMissing fun _caller(): JsonField = caller + /** + * Returns the raw JSON value of [name]. + * + * Unlike [name], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("name") @ExcludeMissing fun _name(): JsonField = name + + /** + * Returns the raw JSON value of [namespace]. + * + * Unlike [namespace], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("namespace") @ExcludeMissing fun _namespace(): JsonField = namespace + /** * Returns the raw JSON value of [status]. * @@ -3196,6 +3232,8 @@ private constructor( private var type: JsonValue = JsonValue.from("function_call_output") private var id: JsonField = JsonMissing.of() private var caller: JsonField = JsonMissing.of() + private var name: JsonField = JsonMissing.of() + private var namespace: JsonField = JsonMissing.of() private var status: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -3206,6 +3244,8 @@ private constructor( type = functionCallOutput.type id = functionCallOutput.id caller = functionCallOutput.caller + name = functionCallOutput.name + namespace = functionCallOutput.namespace status = functionCallOutput.status additionalProperties = functionCallOutput.additionalProperties.toMutableMap() } @@ -3320,6 +3360,36 @@ private constructor( fun programCaller(callerId: String) = caller(Caller.Program.builder().callerId(callerId).build()) + /** The name of the tool that produced the output. */ + fun name(name: String?) = name(JsonField.ofNullable(name)) + + /** Alias for calling [Builder.name] with `name.orElse(null)`. */ + fun name(name: Optional) = name(name.getOrNull()) + + /** + * Sets [Builder.name] to an arbitrary JSON value. + * + * You should usually call [Builder.name] with a well-typed [String] value instead. This + * method is primarily for setting the field to an undocumented or not yet supported + * value. + */ + fun name(name: JsonField) = apply { this.name = name } + + /** The namespace of the tool that produced the output. */ + fun namespace(namespace: String?) = namespace(JsonField.ofNullable(namespace)) + + /** Alias for calling [Builder.namespace] with `namespace.orElse(null)`. */ + fun namespace(namespace: Optional) = namespace(namespace.getOrNull()) + + /** + * Sets [Builder.namespace] to an arbitrary JSON value. + * + * You should usually call [Builder.namespace] with a well-typed [String] value instead. + * This method is primarily for setting the field to an undocumented or not yet + * supported value. + */ + fun namespace(namespace: JsonField) = apply { this.namespace = namespace } + /** * The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated * when items are returned via API. @@ -3377,6 +3447,8 @@ private constructor( type, id, caller, + name, + namespace, status, additionalProperties.toMutableMap(), ) @@ -3407,6 +3479,8 @@ private constructor( } id() caller().ifPresent { it.validate() } + name() + namespace() status().ifPresent { it.validate() } validated = true } @@ -3432,6 +3506,8 @@ private constructor( type.let { if (it == JsonValue.from("function_call_output")) 1 else 0 } + (if (id.asKnown().isPresent) 1 else 0) + (caller.asKnown().getOrNull()?.validity() ?: 0) + + (if (name.asKnown().isPresent) 1 else 0) + + (if (namespace.asKnown().isPresent) 1 else 0) + (status.asKnown().getOrNull()?.validity() ?: 0) /** Text, image, or file output of the function tool call. */ @@ -4284,18 +4360,30 @@ private constructor( type == other.type && id == other.id && caller == other.caller && + name == other.name && + namespace == other.namespace && status == other.status && additionalProperties == other.additionalProperties } private val hashCode: Int by lazy { - Objects.hash(callId, output, type, id, caller, status, additionalProperties) + Objects.hash( + callId, + output, + type, + id, + caller, + name, + namespace, + status, + additionalProperties, + ) } override fun hashCode(): Int = hashCode override fun toString() = - "FunctionCallOutput{callId=$callId, output=$output, type=$type, id=$id, caller=$caller, status=$status, additionalProperties=$additionalProperties}" + "FunctionCallOutput{callId=$callId, output=$output, type=$type, id=$id, caller=$caller, name=$name, namespace=$namespace, status=$status, additionalProperties=$additionalProperties}" } class ToolSearchCall diff --git a/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseFunctionToolCallOutputItemTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseFunctionToolCallOutputItemTest.kt index 653f8c375..1d4389800 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseFunctionToolCallOutputItemTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseFunctionToolCallOutputItemTest.kt @@ -24,6 +24,8 @@ internal class BetaResponseFunctionToolCallOutputItemTest { ) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() assertThat(betaResponseFunctionToolCallOutputItem.id()).isEqualTo("id") @@ -41,6 +43,8 @@ internal class BetaResponseFunctionToolCallOutputItemTest { assertThat(betaResponseFunctionToolCallOutputItem.caller()) .contains(BetaResponseFunctionToolCallOutputItem.Caller.ofDirect()) assertThat(betaResponseFunctionToolCallOutputItem.createdBy()).contains("created_by") + assertThat(betaResponseFunctionToolCallOutputItem.name()).contains("name") + assertThat(betaResponseFunctionToolCallOutputItem.namespace()).contains("namespace") } @Test @@ -59,6 +63,8 @@ internal class BetaResponseFunctionToolCallOutputItemTest { ) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() val roundtrippedBetaResponseFunctionToolCallOutputItem = diff --git a/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseInputItemTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseInputItemTest.kt index 33354115b..83fc5e54b 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseInputItemTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseInputItemTest.kt @@ -826,6 +826,8 @@ internal class BetaResponseInputItemTest { .build() ) .callerDirect() + .name("x") + .namespace("namespace") .status(BetaResponseInputItem.FunctionCallOutput.Status.IN_PROGRESS) .build() @@ -883,6 +885,8 @@ internal class BetaResponseInputItemTest { .build() ) .callerDirect() + .name("x") + .namespace("namespace") .status(BetaResponseInputItem.FunctionCallOutput.Status.IN_PROGRESS) .build() ) diff --git a/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseItemTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseItemTest.kt index bd7389cf2..5efe2befc 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseItemTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseItemTest.kt @@ -736,6 +736,8 @@ internal class BetaResponseItemTest { ) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() val betaResponseItem = BetaResponseItem.ofFunctionCallOutput(functionCallOutput) @@ -791,6 +793,8 @@ internal class BetaResponseItemTest { ) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() ) diff --git a/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseOutputItemTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseOutputItemTest.kt index 283a29b60..17c690604 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseOutputItemTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseOutputItemTest.kt @@ -326,6 +326,8 @@ internal class BetaResponseOutputItemTest { ) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() val betaResponseOutputItem = BetaResponseOutputItem.ofFunctionCallOutput(functionCallOutput) @@ -380,6 +382,8 @@ internal class BetaResponseOutputItemTest { ) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() ) diff --git a/openai-java-core/src/test/kotlin/com/openai/models/conversations/items/ConversationItemTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/conversations/items/ConversationItemTest.kt index cbaa8a534..5d9ade110 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/conversations/items/ConversationItemTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/conversations/items/ConversationItemTest.kt @@ -200,6 +200,8 @@ internal class ConversationItemTest { .status(ResponseFunctionToolCallOutputItem.Status.IN_PROGRESS) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() val conversationItem = ConversationItem.ofFunctionCallOutput(functionCallOutput) @@ -246,6 +248,8 @@ internal class ConversationItemTest { .status(ResponseFunctionToolCallOutputItem.Status.IN_PROGRESS) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() ) diff --git a/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseFunctionToolCallOutputItemTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseFunctionToolCallOutputItemTest.kt index 2ec0580db..46b9ceec4 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseFunctionToolCallOutputItemTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseFunctionToolCallOutputItemTest.kt @@ -19,6 +19,8 @@ internal class ResponseFunctionToolCallOutputItemTest { .status(ResponseFunctionToolCallOutputItem.Status.IN_PROGRESS) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() assertThat(responseFunctionToolCallOutputItem.id()).isEqualTo("id") @@ -30,6 +32,8 @@ internal class ResponseFunctionToolCallOutputItemTest { assertThat(responseFunctionToolCallOutputItem.caller()) .contains(ResponseFunctionToolCallOutputItem.Caller.ofDirect()) assertThat(responseFunctionToolCallOutputItem.createdBy()).contains("created_by") + assertThat(responseFunctionToolCallOutputItem.name()).contains("name") + assertThat(responseFunctionToolCallOutputItem.namespace()).contains("namespace") } @Test @@ -43,6 +47,8 @@ internal class ResponseFunctionToolCallOutputItemTest { .status(ResponseFunctionToolCallOutputItem.Status.IN_PROGRESS) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() val roundtrippedResponseFunctionToolCallOutputItem = diff --git a/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseInputItemTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseInputItemTest.kt index 2280460cb..3e74c2239 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseInputItemTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseInputItemTest.kt @@ -748,6 +748,8 @@ internal class ResponseInputItemTest { .output("string") .id("fc_123") .callerDirect() + .name("x") + .namespace("namespace") .status(ResponseInputItem.FunctionCallOutput.Status.IN_PROGRESS) .build() @@ -797,6 +799,8 @@ internal class ResponseInputItemTest { .output("string") .id("fc_123") .callerDirect() + .name("x") + .namespace("namespace") .status(ResponseInputItem.FunctionCallOutput.Status.IN_PROGRESS) .build() ) diff --git a/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseItemTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseItemTest.kt index cab1c89d4..d014ec44d 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseItemTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseItemTest.kt @@ -665,6 +665,8 @@ internal class ResponseItemTest { .status(ResponseFunctionToolCallOutputItem.Status.IN_PROGRESS) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() val responseItem = ResponseItem.ofFunctionCallOutput(functionCallOutput) @@ -712,6 +714,8 @@ internal class ResponseItemTest { .status(ResponseFunctionToolCallOutputItem.Status.IN_PROGRESS) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() ) diff --git a/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseOutputItemTest.kt b/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseOutputItemTest.kt index 92c64aae0..f520b64fd 100644 --- a/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseOutputItemTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseOutputItemTest.kt @@ -296,6 +296,8 @@ internal class ResponseOutputItemTest { .status(ResponseFunctionToolCallOutputItem.Status.IN_PROGRESS) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() val responseOutputItem = ResponseOutputItem.ofFunctionCallOutput(functionCallOutput) @@ -342,6 +344,8 @@ internal class ResponseOutputItemTest { .status(ResponseFunctionToolCallOutputItem.Status.IN_PROGRESS) .callerDirect() .createdBy("created_by") + .name("name") + .namespace("namespace") .build() ) From 9ce0a4c28803185a3e05b7e3a6ad943c748107d8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 18:35:14 +0000 Subject: [PATCH 3/3] release: 4.49.1 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 10 ++++++++++ CONTRIBUTING.md | 4 ++-- README.md | 12 ++++++------ bedrock.md | 4 ++-- build.gradle.kts | 2 +- 6 files changed, 22 insertions(+), 12 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index d351f029a..b554b5713 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.49.0" + ".": "4.49.1" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 25218ff1d..049591039 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## 4.49.1 (2026-08-03) + +Full Changelog: [v4.49.0...v4.49.1](https://github.com/openai/openai-java/compare/v4.49.0...v4.49.1) + +### Chores + +* **api:** disable stainless codeflow ([7f0cbd5](https://github.com/openai/openai-java/commit/7f0cbd55a6e7cbfb587d10380f9d891e3c0309ea)) +* **internal:** codegen related update ([eec196b](https://github.com/openai/openai-java/commit/eec196b75822485c4507f37f2eed0a503e276d99)) +* remove retired Spring Boot 2 starter ([#827](https://github.com/openai/openai-java/issues/827)) ([52e3c64](https://github.com/openai/openai-java/commit/52e3c64215b647aeebe1e9123c1c857a7bbe95af)) + ## 4.49.0 (2026-07-31) Full Changelog: [v4.48.0...v4.49.0](https://github.com/openai/openai-java/compare/v4.48.0...v4.49.0) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 000a814bd..ab1320988 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -76,14 +76,14 @@ Then in your project's `build.gradle.kts` or `pom.xml`, reference the locally pu ```kotlin -implementation("com.openai:openai-java:2.9.1") +implementation("com.openai:openai-java:4.49.1") ``` ```xml com.openai openai-java - 2.9.1 + 4.49.1 ``` diff --git a/README.md b/README.md index 92a2c5cad..9d32ea11b 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ -[![Maven Central](https://img.shields.io/maven-central/v/com.openai/openai-java)](https://central.sonatype.com/artifact/com.openai/openai-java/4.49.0) -[![javadoc](https://javadoc.io/badge2/com.openai/openai-java/4.49.0/javadoc.svg)](https://javadoc.io/doc/com.openai/openai-java/4.49.0) +[![Maven Central](https://img.shields.io/maven-central/v/com.openai/openai-java)](https://central.sonatype.com/artifact/com.openai/openai-java/4.49.1) +[![javadoc](https://javadoc.io/badge2/com.openai/openai-java/4.49.1/javadoc.svg)](https://javadoc.io/doc/com.openai/openai-java/4.49.1) @@ -11,7 +11,7 @@ The OpenAI Java SDK provides convenient access to the [OpenAI REST API](https:// -The REST API documentation can be found on [platform.openai.com](https://platform.openai.com/docs). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.openai/openai-java/4.49.0). +The REST API documentation can be found on [platform.openai.com](https://platform.openai.com/docs). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.openai/openai-java/4.49.1). @@ -22,7 +22,7 @@ The REST API documentation can be found on [platform.openai.com](https://platfor ### Gradle ```kotlin -implementation("com.openai:openai-java:4.49.0") +implementation("com.openai:openai-java:4.49.1") ``` ### Maven @@ -31,7 +31,7 @@ implementation("com.openai:openai-java:4.49.0") com.openai openai-java - 4.49.0 + 4.49.1 ``` @@ -94,7 +94,7 @@ with normal AWS credentials: ```kotlin -implementation("com.openai:openai-java-bedrock:4.49.0") +implementation("com.openai:openai-java-bedrock:4.49.1") ``` diff --git a/bedrock.md b/bedrock.md index ee85180fe..18c95fc21 100644 --- a/bedrock.md +++ b/bedrock.md @@ -11,14 +11,14 @@ Use this artifact instead of adding AWS dependencies to the base OpenAI package ```kotlin -implementation("com.openai:openai-java-bedrock:4.49.0") +implementation("com.openai:openai-java-bedrock:4.49.1") ``` ```xml com.openai openai-java-bedrock - 4.49.0 + 4.49.1 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 7cc3806e8..a413be840 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,7 +30,7 @@ repositories { allprojects { group = "com.openai" - version = "4.49.0" // x-release-please-version + version = "4.49.1" // x-release-please-version // Dokka 2.1.0 depends on Jackson 2.15.3. Keep its isolated build-tool classpaths on a // secure, internally aligned Jackson release without changing the SDK's published or