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 @@
-[](https://central.sonatype.com/artifact/com.openai/openai-java/4.49.0)
-[](https://javadoc.io/doc/com.openai/openai-java/4.49.0)
+[](https://central.sonatype.com/artifact/com.openai/openai-java/4.49.1)
+[](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