Skip to content

Commit 5f47131

Browse files
feat(api): api update
1 parent 1f993de commit 5f47131

6 files changed

Lines changed: 58 additions & 40 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 30
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-d076f9130b9b5c626e52ca3ed9fecb5773255d64bfc57d6ec976a026ff1846ad.yml
3-
openapi_spec_hash: b1d571389ebc7f6010d5d5e6bae3d245
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-d9b4234b0e2a59b51f0152901538c963dfd29a16d744a2b5602ab527606f90bd.yml
3+
openapi_spec_hash: 665bdf1916cf0ddaa3c320e966af1bb4
44
config_hash: bf64816643634a621cd0ffd93d9c4347

arcade-java-core/src/main/kotlin/dev/arcade/models/tools/formatted/FormattedGetResponse.kt

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,23 @@
33
package dev.arcade.models.tools.formatted
44

55
import com.fasterxml.jackson.annotation.JsonAnyGetter
6-
import com.fasterxml.jackson.annotation.JsonAnySetter
76
import com.fasterxml.jackson.annotation.JsonCreator
87
import dev.arcade.core.ExcludeMissing
98
import dev.arcade.core.JsonValue
9+
import dev.arcade.core.toImmutable
1010
import dev.arcade.errors.ArcadeInvalidDataException
11-
import java.util.Collections
1211
import java.util.Objects
1312

1413
class FormattedGetResponse
15-
@JsonCreator(mode = JsonCreator.Mode.DISABLED)
16-
private constructor(private val additionalProperties: MutableMap<String, JsonValue>) {
17-
18-
@JsonCreator private constructor() : this(mutableMapOf())
19-
20-
@JsonAnySetter
21-
private fun putAdditionalProperty(key: String, value: JsonValue) {
22-
additionalProperties.put(key, value)
23-
}
14+
@JsonCreator
15+
private constructor(
16+
@com.fasterxml.jackson.annotation.JsonValue
17+
private val additionalProperties: Map<String, JsonValue>
18+
) {
2419

2520
@JsonAnyGetter
2621
@ExcludeMissing
27-
fun _additionalProperties(): Map<String, JsonValue> =
28-
Collections.unmodifiableMap(additionalProperties)
22+
fun _additionalProperties(): Map<String, JsonValue> = additionalProperties
2923

3024
fun toBuilder() = Builder().from(this)
3125

@@ -69,8 +63,7 @@ private constructor(private val additionalProperties: MutableMap<String, JsonVal
6963
*
7064
* Further updates to this [Builder] will not mutate the returned instance.
7165
*/
72-
fun build(): FormattedGetResponse =
73-
FormattedGetResponse(additionalProperties.toMutableMap())
66+
fun build(): FormattedGetResponse = FormattedGetResponse(additionalProperties.toImmutable())
7467
}
7568

7669
private var validated: Boolean = false
@@ -96,7 +89,9 @@ private constructor(private val additionalProperties: MutableMap<String, JsonVal
9689
*
9790
* Used for best match union deserialization.
9891
*/
99-
@JvmSynthetic internal fun validity(): Int = 0
92+
@JvmSynthetic
93+
internal fun validity(): Int =
94+
additionalProperties.count { (_, value) -> !value.isNull() && !value.isMissing() }
10095

10196
override fun equals(other: Any?): Boolean {
10297
if (this === other) {

arcade-java-core/src/main/kotlin/dev/arcade/models/tools/formatted/FormattedListResponse.kt

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,23 @@
33
package dev.arcade.models.tools.formatted
44

55
import com.fasterxml.jackson.annotation.JsonAnyGetter
6-
import com.fasterxml.jackson.annotation.JsonAnySetter
76
import com.fasterxml.jackson.annotation.JsonCreator
87
import dev.arcade.core.ExcludeMissing
98
import dev.arcade.core.JsonValue
9+
import dev.arcade.core.toImmutable
1010
import dev.arcade.errors.ArcadeInvalidDataException
11-
import java.util.Collections
1211
import java.util.Objects
1312

1413
class FormattedListResponse
15-
@JsonCreator(mode = JsonCreator.Mode.DISABLED)
16-
private constructor(private val additionalProperties: MutableMap<String, JsonValue>) {
17-
18-
@JsonCreator private constructor() : this(mutableMapOf())
19-
20-
@JsonAnySetter
21-
private fun putAdditionalProperty(key: String, value: JsonValue) {
22-
additionalProperties.put(key, value)
23-
}
14+
@JsonCreator
15+
private constructor(
16+
@com.fasterxml.jackson.annotation.JsonValue
17+
private val additionalProperties: Map<String, JsonValue>
18+
) {
2419

2520
@JsonAnyGetter
2621
@ExcludeMissing
27-
fun _additionalProperties(): Map<String, JsonValue> =
28-
Collections.unmodifiableMap(additionalProperties)
22+
fun _additionalProperties(): Map<String, JsonValue> = additionalProperties
2923

3024
fun toBuilder() = Builder().from(this)
3125

@@ -70,7 +64,7 @@ private constructor(private val additionalProperties: MutableMap<String, JsonVal
7064
* Further updates to this [Builder] will not mutate the returned instance.
7165
*/
7266
fun build(): FormattedListResponse =
73-
FormattedListResponse(additionalProperties.toMutableMap())
67+
FormattedListResponse(additionalProperties.toImmutable())
7468
}
7569

7670
private var validated: Boolean = false
@@ -96,7 +90,9 @@ private constructor(private val additionalProperties: MutableMap<String, JsonVal
9690
*
9791
* Used for best match union deserialization.
9892
*/
99-
@JvmSynthetic internal fun validity(): Int = 0
93+
@JvmSynthetic
94+
internal fun validity(): Int =
95+
additionalProperties.count { (_, value) -> !value.isNull() && !value.isMissing() }
10096

10197
override fun equals(other: Any?): Boolean {
10298
if (this === other) {

arcade-java-core/src/test/kotlin/dev/arcade/models/tools/formatted/FormattedGetResponseTest.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package dev.arcade.models.tools.formatted
44

55
import com.fasterxml.jackson.module.kotlin.jacksonTypeRef
6+
import dev.arcade.core.JsonValue
67
import dev.arcade.core.jsonMapper
78
import org.assertj.core.api.Assertions.assertThat
89
import org.junit.jupiter.api.Test
@@ -11,13 +12,19 @@ internal class FormattedGetResponseTest {
1112

1213
@Test
1314
fun create() {
14-
val formattedGetResponse = FormattedGetResponse.builder().build()
15+
val formattedGetResponse =
16+
FormattedGetResponse.builder()
17+
.putAdditionalProperty("foo", JsonValue.from("bar"))
18+
.build()
1519
}
1620

1721
@Test
1822
fun roundtrip() {
1923
val jsonMapper = jsonMapper()
20-
val formattedGetResponse = FormattedGetResponse.builder().build()
24+
val formattedGetResponse =
25+
FormattedGetResponse.builder()
26+
.putAdditionalProperty("foo", JsonValue.from("bar"))
27+
.build()
2128

2229
val roundtrippedFormattedGetResponse =
2330
jsonMapper.readValue(

arcade-java-core/src/test/kotlin/dev/arcade/models/tools/formatted/FormattedListPageResponseTest.kt

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package dev.arcade.models.tools.formatted
44

55
import com.fasterxml.jackson.module.kotlin.jacksonTypeRef
6+
import dev.arcade.core.JsonValue
67
import dev.arcade.core.jsonMapper
78
import kotlin.jvm.optionals.getOrNull
89
import org.assertj.core.api.Assertions.assertThat
@@ -14,15 +15,23 @@ internal class FormattedListPageResponseTest {
1415
fun create() {
1516
val formattedListPageResponse =
1617
FormattedListPageResponse.builder()
17-
.addItem(FormattedListResponse.builder().build())
18+
.addItem(
19+
FormattedListResponse.builder()
20+
.putAdditionalProperty("foo", JsonValue.from("bar"))
21+
.build()
22+
)
1823
.limit(0L)
1924
.offset(0L)
2025
.pageCount(0L)
2126
.totalCount(0L)
2227
.build()
2328

2429
assertThat(formattedListPageResponse.items().getOrNull())
25-
.containsExactly(FormattedListResponse.builder().build())
30+
.containsExactly(
31+
FormattedListResponse.builder()
32+
.putAdditionalProperty("foo", JsonValue.from("bar"))
33+
.build()
34+
)
2635
assertThat(formattedListPageResponse.limit()).contains(0L)
2736
assertThat(formattedListPageResponse.offset()).contains(0L)
2837
assertThat(formattedListPageResponse.pageCount()).contains(0L)
@@ -34,7 +43,11 @@ internal class FormattedListPageResponseTest {
3443
val jsonMapper = jsonMapper()
3544
val formattedListPageResponse =
3645
FormattedListPageResponse.builder()
37-
.addItem(FormattedListResponse.builder().build())
46+
.addItem(
47+
FormattedListResponse.builder()
48+
.putAdditionalProperty("foo", JsonValue.from("bar"))
49+
.build()
50+
)
3851
.limit(0L)
3952
.offset(0L)
4053
.pageCount(0L)

arcade-java-core/src/test/kotlin/dev/arcade/models/tools/formatted/FormattedListResponseTest.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package dev.arcade.models.tools.formatted
44

55
import com.fasterxml.jackson.module.kotlin.jacksonTypeRef
6+
import dev.arcade.core.JsonValue
67
import dev.arcade.core.jsonMapper
78
import org.assertj.core.api.Assertions.assertThat
89
import org.junit.jupiter.api.Test
@@ -11,13 +12,19 @@ internal class FormattedListResponseTest {
1112

1213
@Test
1314
fun create() {
14-
val formattedListResponse = FormattedListResponse.builder().build()
15+
val formattedListResponse =
16+
FormattedListResponse.builder()
17+
.putAdditionalProperty("foo", JsonValue.from("bar"))
18+
.build()
1519
}
1620

1721
@Test
1822
fun roundtrip() {
1923
val jsonMapper = jsonMapper()
20-
val formattedListResponse = FormattedListResponse.builder().build()
24+
val formattedListResponse =
25+
FormattedListResponse.builder()
26+
.putAdditionalProperty("foo", JsonValue.from("bar"))
27+
.build()
2128

2229
val roundtrippedFormattedListResponse =
2330
jsonMapper.readValue(

0 commit comments

Comments
 (0)