diff --git a/.fern/metadata.json b/.fern/metadata.json index 1389994..2334d80 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,9 +1,10 @@ { - "cliVersion": "3.50.1", + "cliVersion": "4.23.0", "generatorName": "fernapi/fern-java-sdk", - "generatorVersion": "3.34.5", + "generatorVersion": "3.42.7", "generatorConfig": { "client-class-name": "Cohere" }, - "sdkVersion": "1.9.5" + "originGitCommit": "7ffcb80a5edaf952524b88ad8960151e148ff39b", + "sdkVersion": "1.8.0" } \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5d868be..1983791 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,6 +2,10 @@ name: ci on: [push] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: false + jobs: compile: runs-on: ubuntu-latest diff --git a/build.gradle b/build.gradle index a9328cd..205a9a1 100644 --- a/build.gradle +++ b/build.gradle @@ -15,9 +15,9 @@ repositories { dependencies { api 'com.squareup.okhttp3:okhttp:5.2.1' - api 'com.fasterxml.jackson.core:jackson-databind:2.18.2' - api 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.18.2' - api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.2' + api 'com.fasterxml.jackson.core:jackson-databind:2.18.6' + api 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.18.6' + api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.6' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2' testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.2' @@ -47,7 +47,7 @@ java { group = 'com.cohere' -version = '1.9.5' +version = '1.8.0' jar { dependsOn(":generatePomFileForMavenPublication") @@ -78,7 +78,7 @@ publishing { maven(MavenPublication) { groupId = 'com.cohere' artifactId = 'cohere-java' - version = '1.9.5' + version = '1.8.0' from components.java pom { name = 'cohere' diff --git a/reference.md b/reference.md index d2bbdee..a33b867 100644 --- a/reference.md +++ b/reference.md @@ -1572,11 +1572,31 @@ client.rerank( .query("What is the capital of the United States?") .documents( Arrays.asList( - RerankRequestDocumentsItem.of(), - RerankRequestDocumentsItem.of(), - RerankRequestDocumentsItem.of(), - RerankRequestDocumentsItem.of(), - RerankRequestDocumentsItem.of() + RerankRequestDocumentsItem.of( + new HashMap() {{ + put("text", "Carson City is the capital city of the American state of Nevada."); + }} + ), + RerankRequestDocumentsItem.of( + new HashMap() {{ + put("text", "The Commonwealth of the Northern Mariana Islands is a group of islands in the Pacific Ocean. Its capital is Saipan."); + }} + ), + RerankRequestDocumentsItem.of( + new HashMap() {{ + put("text", "Capitalization or capitalisation in English grammar is the use of a capital letter at the start of a word. English usage varies from capitalization in other languages."); + }} + ), + RerankRequestDocumentsItem.of( + new HashMap() {{ + put("text", "Washington, D.C. (also known as simply Washington or D.C., and officially as the District of Columbia) is the capital of the United States. It is a federal district."); + }} + ), + RerankRequestDocumentsItem.of( + new HashMap() {{ + put("text", "Capital punishment has existed in the United States since beforethe United States was a country. As of 2017, capital punishment is legal in 30 of the 50 states."); + }} + ) ) ) .model("rerank-v4.0-pro") @@ -5045,3 +5065,50 @@ Maximum number of results to be returned by the server. If 0, defaults to + +## Audio Transcriptions +
client.audio.transcriptions.create(request) -> AudioTranscriptionsCreateResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Transcribe an audio file. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.audio().transcriptions().create( + TranscriptionsCreateRequest + .builder() + .model("model") + .language("language") + .build() +); +``` +
+
+
+
+ + +
+
+
+ diff --git a/src/main/java/com/cohere/api/AsyncCohere.java b/src/main/java/com/cohere/api/AsyncCohere.java index ca894ac..c1ffb91 100644 --- a/src/main/java/com/cohere/api/AsyncCohere.java +++ b/src/main/java/com/cohere/api/AsyncCohere.java @@ -16,6 +16,7 @@ import com.cohere.api.requests.RerankRequest; import com.cohere.api.requests.SummarizeRequest; import com.cohere.api.requests.TokenizeRequest; +import com.cohere.api.resources.audio.AsyncAudioClient; import com.cohere.api.resources.batches.AsyncBatchesClient; import com.cohere.api.resources.connectors.AsyncConnectorsClient; import com.cohere.api.resources.datasets.AsyncDatasetsClient; @@ -56,6 +57,8 @@ public class AsyncCohere { protected final Supplier finetuningClient; + protected final Supplier audioClient; + public AsyncCohere(ClientOptions clientOptions) { this.clientOptions = clientOptions; this.rawClient = new AsyncRawCohere(clientOptions); @@ -66,6 +69,7 @@ public AsyncCohere(ClientOptions clientOptions) { this.connectorsClient = Suppliers.memoize(() -> new AsyncConnectorsClient(clientOptions)); this.modelsClient = Suppliers.memoize(() -> new AsyncModelsClient(clientOptions)); this.finetuningClient = Suppliers.memoize(() -> new AsyncFinetuningClient(clientOptions)); + this.audioClient = Suppliers.memoize(() -> new AsyncAudioClient(clientOptions)); } /** @@ -305,6 +309,10 @@ public AsyncFinetuningClient finetuning() { return this.finetuningClient.get(); } + public AsyncAudioClient audio() { + return this.audioClient.get(); + } + public static AsyncCohereBuilder builder() { return new AsyncCohereBuilder(); } diff --git a/src/main/java/com/cohere/api/AsyncCohereBuilder.java b/src/main/java/com/cohere/api/AsyncCohereBuilder.java index 05d0c12..52f71b0 100644 --- a/src/main/java/com/cohere/api/AsyncCohereBuilder.java +++ b/src/main/java/com/cohere/api/AsyncCohereBuilder.java @@ -5,6 +5,7 @@ import com.cohere.api.core.ClientOptions; import com.cohere.api.core.Environment; +import com.cohere.api.core.LogConfig; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -25,6 +26,8 @@ public class AsyncCohereBuilder { private OkHttpClient httpClient; + private Optional logging = Optional.empty(); + /** * Sets token. * Defaults to the CO_API_KEY environment variable. @@ -76,6 +79,14 @@ public AsyncCohereBuilder httpClient(OkHttpClient httpClient) { return this; } + /** + * Configure logging for the SDK. Silent by default — no log output unless explicitly configured. + */ + public AsyncCohereBuilder logging(LogConfig logging) { + this.logging = Optional.of(logging); + return this; + } + /** * Add a custom header to be sent with all requests. * For headers that need to be computed dynamically or conditionally, use the setAdditional() method override instead. @@ -97,6 +108,7 @@ protected ClientOptions buildClientOptions() { setHttpClient(builder); setTimeouts(builder); setRetries(builder); + setLogging(builder); for (Map.Entry header : this.customHeaders.entrySet()) { builder.addHeader(header.getKey(), header.getValue()); } @@ -192,6 +204,18 @@ protected void setHttpClient(ClientOptions.Builder builder) { } } + /** + * Sets the logging configuration for the SDK. + * Override this method to customize logging behavior. + * + * @param builder The ClientOptions.Builder to configure + */ + protected void setLogging(ClientOptions.Builder builder) { + if (this.logging.isPresent()) { + builder.logging(this.logging.get()); + } + } + /** * Override this method to add any additional configuration to the client. * This method is called at the end of the configuration chain, allowing you to add diff --git a/src/main/java/com/cohere/api/AsyncRawCohere.java b/src/main/java/com/cohere/api/AsyncRawCohere.java index d332913..a4cbe72 100644 --- a/src/main/java/com/cohere/api/AsyncRawCohere.java +++ b/src/main/java/com/cohere/api/AsyncRawCohere.java @@ -48,6 +48,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import java.io.IOException; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; import okhttp3.Call; import okhttp3.Callback; import okhttp3.Headers; @@ -108,6 +109,7 @@ public CompletableFuture>> cha if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); } + client = client.newBuilder().callTimeout(0, TimeUnit.SECONDS).build(); CompletableFuture>> future = new CompletableFuture<>(); client.newCall(okhttpRequest).enqueue(new Callback() { @Override @@ -386,6 +388,7 @@ public CompletableFuture>> if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); } + client = client.newBuilder().callTimeout(0, TimeUnit.SECONDS).build(); CompletableFuture>> future = new CompletableFuture<>(); client.newCall(okhttpRequest).enqueue(new Callback() { @Override diff --git a/src/main/java/com/cohere/api/Cohere.java b/src/main/java/com/cohere/api/Cohere.java index f591479..ccee33b 100644 --- a/src/main/java/com/cohere/api/Cohere.java +++ b/src/main/java/com/cohere/api/Cohere.java @@ -16,6 +16,7 @@ import com.cohere.api.requests.RerankRequest; import com.cohere.api.requests.SummarizeRequest; import com.cohere.api.requests.TokenizeRequest; +import com.cohere.api.resources.audio.AudioClient; import com.cohere.api.resources.batches.BatchesClient; import com.cohere.api.resources.connectors.ConnectorsClient; import com.cohere.api.resources.datasets.DatasetsClient; @@ -55,6 +56,8 @@ public class Cohere { protected final Supplier finetuningClient; + protected final Supplier audioClient; + public Cohere(ClientOptions clientOptions) { this.clientOptions = clientOptions; this.rawClient = new RawCohere(clientOptions); @@ -65,6 +68,7 @@ public Cohere(ClientOptions clientOptions) { this.connectorsClient = Suppliers.memoize(() -> new ConnectorsClient(clientOptions)); this.modelsClient = Suppliers.memoize(() -> new ModelsClient(clientOptions)); this.finetuningClient = Suppliers.memoize(() -> new FinetuningClient(clientOptions)); + this.audioClient = Suppliers.memoize(() -> new AudioClient(clientOptions)); } /** @@ -303,6 +307,10 @@ public FinetuningClient finetuning() { return this.finetuningClient.get(); } + public AudioClient audio() { + return this.audioClient.get(); + } + public static CohereBuilder builder() { return new CohereBuilder(); } diff --git a/src/main/java/com/cohere/api/CohereBuilder.java b/src/main/java/com/cohere/api/CohereBuilder.java index 9fabaad..972d8ef 100644 --- a/src/main/java/com/cohere/api/CohereBuilder.java +++ b/src/main/java/com/cohere/api/CohereBuilder.java @@ -5,6 +5,7 @@ import com.cohere.api.core.ClientOptions; import com.cohere.api.core.Environment; +import com.cohere.api.core.LogConfig; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -25,6 +26,8 @@ public class CohereBuilder { private OkHttpClient httpClient; + private Optional logging = Optional.empty(); + /** * Sets token. * Defaults to the CO_API_KEY environment variable. @@ -76,6 +79,14 @@ public CohereBuilder httpClient(OkHttpClient httpClient) { return this; } + /** + * Configure logging for the SDK. Silent by default — no log output unless explicitly configured. + */ + public CohereBuilder logging(LogConfig logging) { + this.logging = Optional.of(logging); + return this; + } + /** * Add a custom header to be sent with all requests. * For headers that need to be computed dynamically or conditionally, use the setAdditional() method override instead. @@ -97,6 +108,7 @@ protected ClientOptions buildClientOptions() { setHttpClient(builder); setTimeouts(builder); setRetries(builder); + setLogging(builder); for (Map.Entry header : this.customHeaders.entrySet()) { builder.addHeader(header.getKey(), header.getValue()); } @@ -192,6 +204,18 @@ protected void setHttpClient(ClientOptions.Builder builder) { } } + /** + * Sets the logging configuration for the SDK. + * Override this method to customize logging behavior. + * + * @param builder The ClientOptions.Builder to configure + */ + protected void setLogging(ClientOptions.Builder builder) { + if (this.logging.isPresent()) { + builder.logging(this.logging.get()); + } + } + /** * Override this method to add any additional configuration to the client. * This method is called at the end of the configuration chain, allowing you to add diff --git a/src/main/java/com/cohere/api/RawCohere.java b/src/main/java/com/cohere/api/RawCohere.java index a035211..804bf3e 100644 --- a/src/main/java/com/cohere/api/RawCohere.java +++ b/src/main/java/com/cohere/api/RawCohere.java @@ -47,6 +47,7 @@ import com.cohere.api.types.TokenizeResponse; import com.fasterxml.jackson.core.JsonProcessingException; import java.io.IOException; +import java.util.concurrent.TimeUnit; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -104,6 +105,7 @@ public CohereHttpResponse> chatStream( if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); } + client = client.newBuilder().callTimeout(0, TimeUnit.SECONDS).build(); try { Response response = client.newCall(okhttpRequest).execute(); ResponseBody responseBody = response.body(); @@ -305,6 +307,7 @@ public CohereHttpResponse> generateStream( if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); } + client = client.newBuilder().callTimeout(0, TimeUnit.SECONDS).build(); try { Response response = client.newCall(okhttpRequest).execute(); ResponseBody responseBody = response.body(); diff --git a/src/main/java/com/cohere/api/core/ClientOptions.java b/src/main/java/com/cohere/api/core/ClientOptions.java index 980a4e6..498d56e 100644 --- a/src/main/java/com/cohere/api/core/ClientOptions.java +++ b/src/main/java/com/cohere/api/core/ClientOptions.java @@ -23,28 +23,32 @@ public final class ClientOptions { private final int maxRetries; + private final Optional logging; + private ClientOptions( Environment environment, Map headers, Map> headerSuppliers, OkHttpClient httpClient, int timeout, - int maxRetries) { + int maxRetries, + Optional logging) { this.environment = environment; this.headers = new HashMap<>(); this.headers.putAll(headers); this.headers.putAll(new HashMap() { { - put("User-Agent", "com.cohere:cohere-java/1.9.5"); + put("User-Agent", "com.cohere:cohere-java/1.8.0"); put("X-Fern-Language", "JAVA"); put("X-Fern-SDK-Name", "com.cohere.fern:api-sdk"); - put("X-Fern-SDK-Version", "1.9.5"); + put("X-Fern-SDK-Version", "1.8.0"); } }); this.headerSuppliers = headerSuppliers; this.httpClient = httpClient; this.timeout = timeout; this.maxRetries = maxRetries; + this.logging = logging; } public Environment environment() { @@ -90,6 +94,10 @@ public int maxRetries() { return this.maxRetries; } + public Optional logging() { + return this.logging; + } + public static Builder builder() { return new Builder(); } @@ -107,6 +115,8 @@ public static class Builder { private OkHttpClient httpClient = null; + private Optional logging = Optional.empty(); + public Builder environment(Environment environment) { this.environment = environment; return this; @@ -151,6 +161,14 @@ public Builder httpClient(OkHttpClient httpClient) { return this; } + /** + * Configure logging for the SDK. Silent by default — no log output unless explicitly configured. + */ + public Builder logging(LogConfig logging) { + this.logging = Optional.of(logging); + return this; + } + public ClientOptions build() { OkHttpClient.Builder httpClientBuilder = this.httpClient != null ? this.httpClient.newBuilder() : new OkHttpClient.Builder(); @@ -170,11 +188,20 @@ public ClientOptions build() { .addInterceptor(new RetryInterceptor(this.maxRetries)); } + Logger logger = Logger.from(this.logging); + httpClientBuilder.addInterceptor(new LoggingInterceptor(logger)); + this.httpClient = httpClientBuilder.build(); this.timeout = Optional.of(httpClient.callTimeoutMillis() / 1000); return new ClientOptions( - environment, headers, headerSuppliers, httpClient, this.timeout.get(), this.maxRetries); + environment, + headers, + headerSuppliers, + httpClient, + this.timeout.get(), + this.maxRetries, + this.logging); } /** @@ -188,6 +215,7 @@ public static Builder from(ClientOptions clientOptions) { builder.headers.putAll(clientOptions.headers); builder.headerSuppliers.putAll(clientOptions.headerSuppliers); builder.maxRetries = clientOptions.maxRetries(); + builder.logging = clientOptions.logging(); return builder; } } diff --git a/src/main/java/com/cohere/api/core/ConsoleLogger.java b/src/main/java/com/cohere/api/core/ConsoleLogger.java new file mode 100644 index 0000000..6d13bea --- /dev/null +++ b/src/main/java/com/cohere/api/core/ConsoleLogger.java @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.core; + +import java.util.logging.Level; + +/** + * Default logger implementation that writes to the console using {@link java.util.logging.Logger}. + * + *

Uses the "fern" logger name with a simple format of "LEVEL - message". + */ +public final class ConsoleLogger implements ILogger { + + private static final java.util.logging.Logger logger = java.util.logging.Logger.getLogger("fern"); + + static { + if (logger.getHandlers().length == 0) { + java.util.logging.ConsoleHandler handler = new java.util.logging.ConsoleHandler(); + handler.setFormatter(new java.util.logging.SimpleFormatter() { + @Override + public String format(java.util.logging.LogRecord record) { + return record.getLevel() + " - " + record.getMessage() + System.lineSeparator(); + } + }); + logger.addHandler(handler); + logger.setUseParentHandlers(false); + logger.setLevel(Level.ALL); + } + } + + @Override + public void debug(String message) { + logger.log(Level.FINE, message); + } + + @Override + public void info(String message) { + logger.log(Level.INFO, message); + } + + @Override + public void warn(String message) { + logger.log(Level.WARNING, message); + } + + @Override + public void error(String message) { + logger.log(Level.SEVERE, message); + } +} diff --git a/src/main/java/com/cohere/api/core/ILogger.java b/src/main/java/com/cohere/api/core/ILogger.java new file mode 100644 index 0000000..8fa1063 --- /dev/null +++ b/src/main/java/com/cohere/api/core/ILogger.java @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.core; + +/** + * Interface for custom logger implementations. + * + *

Implement this interface to provide a custom logging backend for the SDK. + * The SDK will call the appropriate method based on the log level. + * + *

Example: + *

{@code
+ * public class MyCustomLogger implements ILogger {
+ *     public void debug(String message) {
+ *         System.out.println("[DBG] " + message);
+ *     }
+ *     public void info(String message) {
+ *         System.out.println("[INF] " + message);
+ *     }
+ *     public void warn(String message) {
+ *         System.out.println("[WRN] " + message);
+ *     }
+ *     public void error(String message) {
+ *         System.out.println("[ERR] " + message);
+ *     }
+ * }
+ * }
+ */ +public interface ILogger { + void debug(String message); + + void info(String message); + + void warn(String message); + + void error(String message); +} diff --git a/src/main/java/com/cohere/api/core/LogConfig.java b/src/main/java/com/cohere/api/core/LogConfig.java new file mode 100644 index 0000000..b2dab64 --- /dev/null +++ b/src/main/java/com/cohere/api/core/LogConfig.java @@ -0,0 +1,98 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.core; + +/** + * Configuration for SDK logging. + * + *

Use the builder to configure logging behavior: + *

{@code
+ * LogConfig config = LogConfig.builder()
+ *     .level(LogLevel.DEBUG)
+ *     .silent(false)
+ *     .build();
+ * }
+ * + *

Or with a custom logger: + *

{@code
+ * LogConfig config = LogConfig.builder()
+ *     .level(LogLevel.DEBUG)
+ *     .logger(new MyCustomLogger())
+ *     .silent(false)
+ *     .build();
+ * }
+ * + *

Defaults: + *

    + *
  • {@code level} — {@link LogLevel#INFO}
  • + *
  • {@code logger} — {@link ConsoleLogger} (writes to stderr via java.util.logging)
  • + *
  • {@code silent} — {@code true} (no output unless explicitly enabled)
  • + *
+ */ +public final class LogConfig { + + private final LogLevel level; + private final ILogger logger; + private final boolean silent; + + private LogConfig(LogLevel level, ILogger logger, boolean silent) { + this.level = level; + this.logger = logger; + this.silent = silent; + } + + public LogLevel level() { + return level; + } + + public ILogger logger() { + return logger; + } + + public boolean silent() { + return silent; + } + + public static Builder builder() { + return new Builder(); + } + + public static final class Builder { + private LogLevel level = LogLevel.INFO; + private ILogger logger = new ConsoleLogger(); + private boolean silent = true; + + private Builder() {} + + /** + * Set the minimum log level. Only messages at this level or above will be logged. + * Defaults to {@link LogLevel#INFO}. + */ + public Builder level(LogLevel level) { + this.level = level; + return this; + } + + /** + * Set a custom logger implementation. Defaults to {@link ConsoleLogger}. + */ + public Builder logger(ILogger logger) { + this.logger = logger; + return this; + } + + /** + * Set whether logging is silent (disabled). Defaults to {@code true}. + * Set to {@code false} to enable log output. + */ + public Builder silent(boolean silent) { + this.silent = silent; + return this; + } + + public LogConfig build() { + return new LogConfig(level, logger, silent); + } + } +} diff --git a/src/main/java/com/cohere/api/core/LogLevel.java b/src/main/java/com/cohere/api/core/LogLevel.java new file mode 100644 index 0000000..b3e63f1 --- /dev/null +++ b/src/main/java/com/cohere/api/core/LogLevel.java @@ -0,0 +1,36 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.core; + +/** + * Log levels for SDK logging configuration. + * Silent by default — no log output unless explicitly configured. + */ +public enum LogLevel { + DEBUG(1), + INFO(2), + WARN(3), + ERROR(4); + + private final int value; + + LogLevel(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + /** + * Parse a log level from a string (case-insensitive). + * + * @param level the level string (debug, info, warn, error) + * @return the corresponding LogLevel + * @throws IllegalArgumentException if the string does not match any level + */ + public static LogLevel fromString(String level) { + return LogLevel.valueOf(level.toUpperCase()); + } +} diff --git a/src/main/java/com/cohere/api/core/Logger.java b/src/main/java/com/cohere/api/core/Logger.java new file mode 100644 index 0000000..e487a69 --- /dev/null +++ b/src/main/java/com/cohere/api/core/Logger.java @@ -0,0 +1,97 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.core; + +/** + * SDK logger that filters messages based on level and silent mode. + * + *

Silent by default — no log output unless explicitly configured. + * Create via {@link LogConfig} or directly: + *

{@code
+ * Logger logger = new Logger(LogLevel.DEBUG, new ConsoleLogger(), false);
+ * logger.debug("request sent");
+ * }
+ */ +public final class Logger { + + private static final Logger DEFAULT = new Logger(LogLevel.INFO, new ConsoleLogger(), true); + + private final LogLevel level; + private final ILogger logger; + private final boolean silent; + + public Logger(LogLevel level, ILogger logger, boolean silent) { + this.level = level; + this.logger = logger; + this.silent = silent; + } + + /** + * Returns a default silent logger (no output). + */ + public static Logger getDefault() { + return DEFAULT; + } + + /** + * Creates a Logger from a {@link LogConfig}. If config is {@code null}, returns the default silent logger. + */ + public static Logger from(LogConfig config) { + if (config == null) { + return DEFAULT; + } + return new Logger(config.level(), config.logger(), config.silent()); + } + + /** + * Creates a Logger from an {@code Optional}. If empty, returns the default silent logger. + */ + public static Logger from(java.util.Optional config) { + return config.map(Logger::from).orElse(DEFAULT); + } + + private boolean shouldLog(LogLevel messageLevel) { + return !silent && level.getValue() <= messageLevel.getValue(); + } + + public boolean isDebug() { + return shouldLog(LogLevel.DEBUG); + } + + public boolean isInfo() { + return shouldLog(LogLevel.INFO); + } + + public boolean isWarn() { + return shouldLog(LogLevel.WARN); + } + + public boolean isError() { + return shouldLog(LogLevel.ERROR); + } + + public void debug(String message) { + if (isDebug()) { + logger.debug(message); + } + } + + public void info(String message) { + if (isInfo()) { + logger.info(message); + } + } + + public void warn(String message) { + if (isWarn()) { + logger.warn(message); + } + } + + public void error(String message) { + if (isError()) { + logger.error(message); + } + } +} diff --git a/src/main/java/com/cohere/api/core/LoggingInterceptor.java b/src/main/java/com/cohere/api/core/LoggingInterceptor.java new file mode 100644 index 0000000..ee5341c --- /dev/null +++ b/src/main/java/com/cohere/api/core/LoggingInterceptor.java @@ -0,0 +1,104 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.core; + +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; +import okhttp3.Interceptor; +import okhttp3.Request; +import okhttp3.Response; + +/** + * OkHttp interceptor that logs HTTP requests and responses. + * + *

Logs request method, URL, and headers (with sensitive values redacted) at debug level. + * Logs response status at debug level, and 4xx/5xx responses at error level. + * Does nothing if the logger is silent. + */ +public final class LoggingInterceptor implements Interceptor { + + private static final Set SENSITIVE_HEADERS = new HashSet<>(Arrays.asList( + "authorization", + "www-authenticate", + "x-api-key", + "api-key", + "apikey", + "x-api-token", + "x-auth-token", + "auth-token", + "proxy-authenticate", + "proxy-authorization", + "cookie", + "set-cookie", + "x-csrf-token", + "x-xsrf-token", + "x-session-token", + "x-access-token")); + + private final Logger logger; + + public LoggingInterceptor(Logger logger) { + this.logger = logger; + } + + @Override + public Response intercept(Chain chain) throws IOException { + Request request = chain.request(); + + if (logger.isDebug()) { + StringBuilder sb = new StringBuilder(); + sb.append("HTTP Request: ").append(request.method()).append(" ").append(request.url()); + sb.append(" headers={"); + boolean first = true; + for (String name : request.headers().names()) { + if (!first) { + sb.append(", "); + } + sb.append(name).append("="); + if (SENSITIVE_HEADERS.contains(name.toLowerCase())) { + sb.append("[REDACTED]"); + } else { + sb.append(request.header(name)); + } + first = false; + } + sb.append("}"); + sb.append(" has_body=").append(request.body() != null); + logger.debug(sb.toString()); + } + + Response response = chain.proceed(request); + + if (logger.isDebug()) { + StringBuilder sb = new StringBuilder(); + sb.append("HTTP Response: status=").append(response.code()); + sb.append(" url=").append(response.request().url()); + sb.append(" headers={"); + boolean first = true; + for (String name : response.headers().names()) { + if (!first) { + sb.append(", "); + } + sb.append(name).append("="); + if (SENSITIVE_HEADERS.contains(name.toLowerCase())) { + sb.append("[REDACTED]"); + } else { + sb.append(response.header(name)); + } + first = false; + } + sb.append("}"); + logger.debug(sb.toString()); + } + + if (response.code() >= 400 && logger.isError()) { + logger.error("HTTP Error: status=" + response.code() + " url=" + + response.request().url()); + } + + return response; + } +} diff --git a/src/main/java/com/cohere/api/core/Rfc2822DateTimeDeserializer.java b/src/main/java/com/cohere/api/core/Rfc2822DateTimeDeserializer.java new file mode 100644 index 0000000..c7d0126 --- /dev/null +++ b/src/main/java/com/cohere/api/core/Rfc2822DateTimeDeserializer.java @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.core; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; + +/** + * Custom deserializer that handles converting RFC 2822 (RFC 1123) dates into {@link OffsetDateTime} objects. + * This is used for fields with format "date-time-rfc-2822", such as Twilio's dateCreated, dateSent, dateUpdated. + */ +public class Rfc2822DateTimeDeserializer extends JsonDeserializer { + + @Override + public OffsetDateTime deserialize(JsonParser parser, DeserializationContext context) throws IOException { + String raw = parser.getValueAsString(); + return ZonedDateTime.parse(raw, DateTimeFormatter.RFC_1123_DATE_TIME).toOffsetDateTime(); + } +} diff --git a/src/main/java/com/cohere/api/core/SseEvent.java b/src/main/java/com/cohere/api/core/SseEvent.java new file mode 100644 index 0000000..c78ecf3 --- /dev/null +++ b/src/main/java/com/cohere/api/core/SseEvent.java @@ -0,0 +1,114 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.core; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; +import java.util.Optional; + +/** + * Represents a Server-Sent Event with all standard fields. + * Used for event-level discrimination where the discriminator is at the SSE envelope level. + * + * @param The type of the data field + */ +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonIgnoreProperties(ignoreUnknown = true) +public final class SseEvent { + private final String event; + private final T data; + private final String id; + private final Long retry; + + private SseEvent(String event, T data, String id, Long retry) { + this.event = event; + this.data = data; + this.id = id; + this.retry = retry; + } + + @JsonProperty("event") + public Optional getEvent() { + return Optional.ofNullable(event); + } + + @JsonProperty("data") + public T getData() { + return data; + } + + @JsonProperty("id") + public Optional getId() { + return Optional.ofNullable(id); + } + + @JsonProperty("retry") + public Optional getRetry() { + return Optional.ofNullable(retry); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SseEvent sseEvent = (SseEvent) o; + return Objects.equals(event, sseEvent.event) + && Objects.equals(data, sseEvent.data) + && Objects.equals(id, sseEvent.id) + && Objects.equals(retry, sseEvent.retry); + } + + @Override + public int hashCode() { + return Objects.hash(event, data, id, retry); + } + + @Override + public String toString() { + return "SseEvent{" + "event='" + + event + '\'' + ", data=" + + data + ", id='" + + id + '\'' + ", retry=" + + retry + '}'; + } + + public static Builder builder() { + return new Builder<>(); + } + + public static final class Builder { + private String event; + private T data; + private String id; + private Long retry; + + private Builder() {} + + public Builder event(String event) { + this.event = event; + return this; + } + + public Builder data(T data) { + this.data = data; + return this; + } + + public Builder id(String id) { + this.id = id; + return this; + } + + public Builder retry(Long retry) { + this.retry = retry; + return this; + } + + public SseEvent build() { + return new SseEvent<>(event, data, id, retry); + } + } +} diff --git a/src/main/java/com/cohere/api/core/SseEventParser.java b/src/main/java/com/cohere/api/core/SseEventParser.java new file mode 100644 index 0000000..5430c97 --- /dev/null +++ b/src/main/java/com/cohere/api/core/SseEventParser.java @@ -0,0 +1,228 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.core; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.core.type.TypeReference; +import java.lang.reflect.Field; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Optional; +import java.util.Set; + +/** + * Utility class for parsing Server-Sent Events with support for discriminated unions. + *

+ * Handles two discrimination patterns: + *

    + *
  1. Data-level discrimination: The discriminator (e.g., 'type') is inside the JSON data payload. + * Jackson's polymorphic deserialization handles this automatically.
  2. + *
  3. Event-level discrimination: The discriminator (e.g., 'event') is at the SSE envelope level. + * This requires constructing the full SSE envelope for Jackson to process.
  4. + *
+ */ +public final class SseEventParser { + + private static final Set SSE_ENVELOPE_FIELDS = new HashSet<>(Arrays.asList("event", "data", "id", "retry")); + + private SseEventParser() { + // Utility class + } + + /** + * Parse an SSE event using event-level discrimination. + *

+ * Constructs the full SSE envelope object with event, data, id, and retry fields, + * then deserializes it to the target union type. + * + * @param eventType The SSE event type (from event: field) + * @param data The SSE data content (from data: field) + * @param id The SSE event ID (from id: field), may be null + * @param retry The SSE retry value (from retry: field), may be null + * @param unionClass The target union class + * @param discriminatorProperty The property name used for discrimination (e.g., "event") + * @param The target type + * @return The deserialized object + */ + public static T parseEventLevelUnion( + String eventType, String data, String id, Long retry, Class unionClass, String discriminatorProperty) { + try { + // Determine if data should be parsed as JSON based on the variant's expected type + Object parsedData = parseDataForVariant(eventType, data, unionClass, discriminatorProperty); + + // Construct the SSE envelope object + Map envelope = new HashMap<>(); + envelope.put(discriminatorProperty, eventType); + envelope.put("data", parsedData); + if (id != null) { + envelope.put("id", id); + } + if (retry != null) { + envelope.put("retry", retry); + } + + // Serialize to JSON and deserialize to target type + String envelopeJson = ObjectMappers.JSON_MAPPER.writeValueAsString(envelope); + return ObjectMappers.JSON_MAPPER.readValue(envelopeJson, unionClass); + } catch (Exception e) { + throw new RuntimeException("Failed to parse SSE event with event-level discrimination", e); + } + } + + /** + * Parse an SSE event using data-level discrimination. + *

+ * Simply parses the data field as JSON and deserializes it to the target type. + * Jackson's polymorphic deserialization handles the discrimination automatically. + * + * @param data The SSE data content (from data: field) + * @param valueType The target type + * @param The target type + * @return The deserialized object + */ + public static T parseDataLevelUnion(String data, Class valueType) { + try { + return ObjectMappers.JSON_MAPPER.readValue(data, valueType); + } catch (Exception e) { + throw new RuntimeException("Failed to parse SSE data with data-level discrimination", e); + } + } + + /** + * Determines if the given discriminator property indicates event-level discrimination. + * Event-level discrimination occurs when the discriminator is an SSE envelope field. + * + * @param discriminatorProperty The discriminator property name + * @return true if event-level discrimination, false otherwise + */ + public static boolean isEventLevelDiscrimination(String discriminatorProperty) { + return SSE_ENVELOPE_FIELDS.contains(discriminatorProperty); + } + + /** + * Attempts to find the discriminator property from the union class's Jackson annotations. + * + * @param unionClass The union class to inspect + * @return The discriminator property name, or empty if not found + */ + public static Optional findDiscriminatorProperty(Class unionClass) { + try { + // Look for JsonTypeInfo on the class itself + JsonTypeInfo typeInfo = unionClass.getAnnotation(JsonTypeInfo.class); + if (typeInfo != null && !typeInfo.property().isEmpty()) { + return Optional.of(typeInfo.property()); + } + + // Look for inner Value interface with JsonTypeInfo + for (Class innerClass : unionClass.getDeclaredClasses()) { + typeInfo = innerClass.getAnnotation(JsonTypeInfo.class); + if (typeInfo != null && !typeInfo.property().isEmpty()) { + return Optional.of(typeInfo.property()); + } + } + } catch (Exception e) { + // Ignore reflection errors + } + return Optional.empty(); + } + + /** + * Parse the data field based on what the matching variant expects. + * If the variant expects a String for its data field, returns the raw string. + * Otherwise, parses the data as JSON. + */ + private static Object parseDataForVariant( + String eventType, String data, Class unionClass, String discriminatorProperty) { + if (data == null || data.isEmpty()) { + return data; + } + + try { + // Try to find the variant class that matches this event type + Class variantClass = findVariantClass(unionClass, eventType, discriminatorProperty); + if (variantClass != null) { + // Check if the variant expects a String for the data field + Field dataField = findField(variantClass, "data"); + if (dataField != null && String.class.equals(dataField.getType())) { + // Variant expects String - return raw data + return data; + } + } + + // Try to parse as JSON + return ObjectMappers.JSON_MAPPER.readValue(data, new TypeReference>() {}); + } catch (Exception e) { + // If JSON parsing fails, return as string + return data; + } + } + + /** + * Find the variant class that matches the given discriminator value. + */ + private static Class findVariantClass( + Class unionClass, String discriminatorValue, String discriminatorProperty) { + try { + // Look for JsonSubTypes annotation + JsonSubTypes subTypes = findJsonSubTypes(unionClass); + if (subTypes == null) { + return null; + } + + for (JsonSubTypes.Type subType : subTypes.value()) { + JsonTypeName typeName = subType.value().getAnnotation(JsonTypeName.class); + if (typeName != null && typeName.value().equals(discriminatorValue)) { + return subType.value(); + } + // Also check the name attribute of @JsonSubTypes.Type + if (subType.name().equals(discriminatorValue)) { + return subType.value(); + } + } + } catch (Exception e) { + // Ignore reflection errors + } + return null; + } + + /** + * Find JsonSubTypes annotation on the class or its inner classes. + */ + private static JsonSubTypes findJsonSubTypes(Class unionClass) { + // Check the class itself + JsonSubTypes subTypes = unionClass.getAnnotation(JsonSubTypes.class); + if (subTypes != null) { + return subTypes; + } + + // Check inner classes (for Fern-style unions with inner Value interface) + for (Class innerClass : unionClass.getDeclaredClasses()) { + subTypes = innerClass.getAnnotation(JsonSubTypes.class); + if (subTypes != null) { + return subTypes; + } + } + return null; + } + + /** + * Find a field by name in a class, including private fields. + */ + private static Field findField(Class clazz, String fieldName) { + try { + return clazz.getDeclaredField(fieldName); + } catch (NoSuchFieldException e) { + // Check superclass + Class superClass = clazz.getSuperclass(); + if (superClass != null && superClass != Object.class) { + return findField(superClass, fieldName); + } + return null; + } + } +} diff --git a/src/main/java/com/cohere/api/core/Stream.java b/src/main/java/com/cohere/api/core/Stream.java index 3ee1c8a..2e82fbd 100644 --- a/src/main/java/com/cohere/api/core/Stream.java +++ b/src/main/java/com/cohere/api/core/Stream.java @@ -28,7 +28,8 @@ public final class Stream implements Iterable, Closeable { public enum StreamType { JSON, - SSE + SSE, + SSE_EVENT_DISCRIMINATED } private final Class valueType; @@ -37,6 +38,7 @@ public enum StreamType { private final String messageTerminator; private final String streamTerminator; private final Reader sseReader; + private final String discriminatorProperty; private boolean isClosed = false; /** @@ -53,11 +55,18 @@ public Stream(Class valueType, Reader reader, String delimiter) { this.messageTerminator = delimiter; this.streamTerminator = null; this.sseReader = null; + this.discriminatorProperty = null; } private Stream(Class valueType, StreamType type, Reader reader, String terminator) { + this(valueType, type, reader, terminator, null); + } + + private Stream( + Class valueType, StreamType type, Reader reader, String terminator, String discriminatorProperty) { this.valueType = valueType; this.streamType = type; + this.discriminatorProperty = discriminatorProperty; if (type == StreamType.JSON) { this.scanner = new Scanner(reader).useDelimiter(terminator); this.messageTerminator = terminator; @@ -87,6 +96,38 @@ public static Stream fromSse(Class valueType, Reader sseReader, String return new Stream<>(valueType, StreamType.SSE, sseReader, streamTerminator); } + /** + * Creates a stream from SSE data with event-level discrimination support. + * Use this when the SSE payload is a discriminated union where the discriminator + * is an SSE envelope field (e.g., 'event'). + * + * @param valueType The class of the objects in the stream. + * @param sseReader The reader that provides the SSE data. + * @param discriminatorProperty The property name used for discrimination (e.g., "event"). + * @param The type of objects in the stream. + * @return A new Stream instance configured for SSE with event-level discrimination. + */ + public static Stream fromSseWithEventDiscrimination( + Class valueType, Reader sseReader, String discriminatorProperty) { + return new Stream<>(valueType, StreamType.SSE_EVENT_DISCRIMINATED, sseReader, null, discriminatorProperty); + } + + /** + * Creates a stream from SSE data with event-level discrimination support and a stream terminator. + * + * @param valueType The class of the objects in the stream. + * @param sseReader The reader that provides the SSE data. + * @param discriminatorProperty The property name used for discrimination (e.g., "event"). + * @param streamTerminator The terminator string that signals end of stream (e.g., "[DONE]"). + * @param The type of objects in the stream. + * @return A new Stream instance configured for SSE with event-level discrimination. + */ + public static Stream fromSseWithEventDiscrimination( + Class valueType, Reader sseReader, String discriminatorProperty, String streamTerminator) { + return new Stream<>( + valueType, StreamType.SSE_EVENT_DISCRIMINATED, sseReader, streamTerminator, discriminatorProperty); + } + @Override public void close() throws IOException { if (!isClosed) { @@ -112,10 +153,14 @@ private boolean isStreamClosed() { */ @Override public Iterator iterator() { - if (streamType == StreamType.SSE) { - return new SSEIterator(); - } else { - return new JsonIterator(); + switch (streamType) { + case SSE: + return new SSEIterator(); + case SSE_EVENT_DISCRIMINATED: + return new SSEEventDiscriminatedIterator(); + case JSON: + default: + return new JsonIterator(); } } @@ -299,4 +344,170 @@ private boolean readNextMessage() { } } } + + /** + * Iterator for SSE streams with event-level discrimination. + * Uses SseEventParser to construct the full SSE envelope for Jackson deserialization. + */ + private final class SSEEventDiscriminatedIterator implements Iterator { + private Scanner sseScanner; + private T nextItem; + private boolean hasNextItem = false; + private boolean endOfStream = false; + private StringBuilder eventDataBuffer = new StringBuilder(); + private String currentEventType = null; + private String currentEventId = null; + private Long currentRetry = null; + + private SSEEventDiscriminatedIterator() { + if (sseReader != null && !isStreamClosed()) { + this.sseScanner = new Scanner(sseReader); + } else { + this.endOfStream = true; + } + } + + @Override + public boolean hasNext() { + if (isStreamClosed() || endOfStream) { + return false; + } + + if (hasNextItem) { + return true; + } + + return readNextMessage(); + } + + @Override + public T next() { + if (!hasNext()) { + throw new NoSuchElementException("No more elements in stream"); + } + + T result = nextItem; + nextItem = null; + hasNextItem = false; + return result; + } + + @Override + public void remove() { + throw new UnsupportedOperationException(); + } + + private boolean readNextMessage() { + if (sseScanner == null || isStreamClosed()) { + endOfStream = true; + return false; + } + + try { + while (sseScanner.hasNextLine()) { + String line = sseScanner.nextLine(); + + if (line.trim().isEmpty()) { + if (eventDataBuffer.length() > 0 || currentEventType != null) { + try { + // Use SseEventParser for event-level discrimination + nextItem = SseEventParser.parseEventLevelUnion( + currentEventType, + eventDataBuffer.toString(), + currentEventId, + currentRetry, + valueType, + discriminatorProperty); + hasNextItem = true; + resetEventState(); + return true; + } catch (Exception parseEx) { + System.err.println("Failed to parse SSE event: " + parseEx.getMessage()); + resetEventState(); + continue; + } + } + continue; + } + + if (line.startsWith(DATA_PREFIX)) { + String dataContent = line.substring(DATA_PREFIX.length()); + if (dataContent.startsWith(" ")) { + dataContent = dataContent.substring(1); + } + + if (eventDataBuffer.length() == 0 + && streamTerminator != null + && dataContent.trim().equals(streamTerminator)) { + endOfStream = true; + return false; + } + + if (eventDataBuffer.length() > 0) { + eventDataBuffer.append('\n'); + } + eventDataBuffer.append(dataContent); + } else if (line.startsWith("event:")) { + String eventValue = line.length() > 6 ? line.substring(6) : ""; + if (eventValue.startsWith(" ")) { + eventValue = eventValue.substring(1); + } + currentEventType = eventValue; + } else if (line.startsWith("id:")) { + String idValue = line.length() > 3 ? line.substring(3) : ""; + if (idValue.startsWith(" ")) { + idValue = idValue.substring(1); + } + currentEventId = idValue; + } else if (line.startsWith("retry:")) { + String retryValue = line.length() > 6 ? line.substring(6) : ""; + if (retryValue.startsWith(" ")) { + retryValue = retryValue.substring(1); + } + try { + currentRetry = Long.parseLong(retryValue.trim()); + } catch (NumberFormatException e) { + // Ignore invalid retry values + } + } else if (line.startsWith(":")) { + // Comment line (ignored) + } + } + + // Handle any remaining buffered data at end of stream + if (eventDataBuffer.length() > 0 || currentEventType != null) { + try { + nextItem = SseEventParser.parseEventLevelUnion( + currentEventType, + eventDataBuffer.toString(), + currentEventId, + currentRetry, + valueType, + discriminatorProperty); + hasNextItem = true; + resetEventState(); + return true; + } catch (Exception parseEx) { + System.err.println("Failed to parse final SSE event: " + parseEx.getMessage()); + resetEventState(); + } + } + + endOfStream = true; + return false; + + } catch (Exception e) { + System.err.println("Failed to parse SSE stream: " + e.getMessage()); + endOfStream = true; + return false; + } + } + + private void resetEventState() { + eventDataBuffer.setLength(0); + currentEventType = null; + currentEventId = null; + currentRetry = null; + } + } } diff --git a/src/main/java/com/cohere/api/requests/ChatRequest.java b/src/main/java/com/cohere/api/requests/ChatRequest.java index 005d1e3..9d826da 100644 --- a/src/main/java/com/cohere/api/requests/ChatRequest.java +++ b/src/main/java/com/cohere/api/requests/ChatRequest.java @@ -534,6 +534,10 @@ public interface MessageStage { public interface _FinalStage { ChatRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Pass text/event-stream to receive the streamed response as server-sent events. The default is \n delimited events.

*/ @@ -1580,5 +1584,17 @@ public ChatRequest build() { safetyMode, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/requests/ChatStreamRequest.java b/src/main/java/com/cohere/api/requests/ChatStreamRequest.java index f3f1f75..2ffdcae 100644 --- a/src/main/java/com/cohere/api/requests/ChatStreamRequest.java +++ b/src/main/java/com/cohere/api/requests/ChatStreamRequest.java @@ -534,6 +534,10 @@ public interface MessageStage { public interface _FinalStage { ChatStreamRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Pass text/event-stream to receive the streamed response as server-sent events. The default is \n delimited events.

*/ @@ -1580,5 +1584,17 @@ public ChatStreamRequest build() { safetyMode, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/requests/ClassifyRequest.java b/src/main/java/com/cohere/api/requests/ClassifyRequest.java index ff7aebc..1500ba6 100644 --- a/src/main/java/com/cohere/api/requests/ClassifyRequest.java +++ b/src/main/java/com/cohere/api/requests/ClassifyRequest.java @@ -243,5 +243,15 @@ public Builder truncate(ClassifyRequestTruncate truncate) { public ClassifyRequest build() { return new ClassifyRequest(inputs, examples, model, preset, truncate, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/requests/DetokenizeRequest.java b/src/main/java/com/cohere/api/requests/DetokenizeRequest.java index 45b2d14..a195f5e 100644 --- a/src/main/java/com/cohere/api/requests/DetokenizeRequest.java +++ b/src/main/java/com/cohere/api/requests/DetokenizeRequest.java @@ -91,6 +91,10 @@ public interface ModelStage { public interface _FinalStage { DetokenizeRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The list of tokens to be detokenized.

*/ @@ -170,5 +174,17 @@ public _FinalStage tokens(List tokens) { public DetokenizeRequest build() { return new DetokenizeRequest(tokens, model, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/requests/EmbedRequest.java b/src/main/java/com/cohere/api/requests/EmbedRequest.java index e8af641..f1caa36 100644 --- a/src/main/java/com/cohere/api/requests/EmbedRequest.java +++ b/src/main/java/com/cohere/api/requests/EmbedRequest.java @@ -269,5 +269,15 @@ public Builder truncate(EmbedRequestTruncate truncate) { public EmbedRequest build() { return new EmbedRequest(texts, images, model, inputType, embeddingTypes, truncate, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/requests/GenerateRequest.java b/src/main/java/com/cohere/api/requests/GenerateRequest.java index 016c610..89e2aa9 100644 --- a/src/main/java/com/cohere/api/requests/GenerateRequest.java +++ b/src/main/java/com/cohere/api/requests/GenerateRequest.java @@ -330,6 +330,10 @@ public interface PromptStage { public interface _FinalStage { GenerateRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The identifier of the model to generate with. Currently available models are command (default), command-nightly (experimental), command-light, and command-light-nightly (experimental). * Smaller, "light" models are faster, while larger models will perform better. Custom models can also be supplied with their full ID.

@@ -885,5 +889,17 @@ public GenerateRequest build() { rawPrompting, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/requests/GenerateStreamRequest.java b/src/main/java/com/cohere/api/requests/GenerateStreamRequest.java index 062535b..e8b4cc6 100644 --- a/src/main/java/com/cohere/api/requests/GenerateStreamRequest.java +++ b/src/main/java/com/cohere/api/requests/GenerateStreamRequest.java @@ -330,6 +330,10 @@ public interface PromptStage { public interface _FinalStage { GenerateStreamRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The identifier of the model to generate with. Currently available models are command (default), command-nightly (experimental), command-light, and command-light-nightly (experimental). * Smaller, "light" models are faster, while larger models will perform better. Custom models can also be supplied with their full ID.

@@ -885,5 +889,17 @@ public GenerateStreamRequest build() { rawPrompting, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/requests/RerankRequest.java b/src/main/java/com/cohere/api/requests/RerankRequest.java index 46c22ab..dfa56f0 100644 --- a/src/main/java/com/cohere/api/requests/RerankRequest.java +++ b/src/main/java/com/cohere/api/requests/RerankRequest.java @@ -175,6 +175,10 @@ public interface QueryStage { public interface _FinalStage { RerankRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The identifier of the model to use, eg rerank-v3.5.

*/ @@ -426,5 +430,17 @@ public RerankRequest build() { return new RerankRequest( model, query, documents, topN, rankFields, returnDocuments, maxChunksPerDoc, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/requests/SummarizeRequest.java b/src/main/java/com/cohere/api/requests/SummarizeRequest.java index 4f330f7..9efa465 100644 --- a/src/main/java/com/cohere/api/requests/SummarizeRequest.java +++ b/src/main/java/com/cohere/api/requests/SummarizeRequest.java @@ -169,6 +169,10 @@ public interface TextStage { public interface _FinalStage { SummarizeRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

One of short, medium, long, or auto defaults to auto. Indicates the approximate length of the summary. If auto is selected, the best option will be picked based on the input text.

*/ @@ -382,5 +386,17 @@ public SummarizeRequest build() { return new SummarizeRequest( text, length, format, model, extractiveness, temperature, additionalCommand, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/requests/TokenizeRequest.java b/src/main/java/com/cohere/api/requests/TokenizeRequest.java index e054912..8c239ea 100644 --- a/src/main/java/com/cohere/api/requests/TokenizeRequest.java +++ b/src/main/java/com/cohere/api/requests/TokenizeRequest.java @@ -94,6 +94,10 @@ public interface ModelStage { public interface _FinalStage { TokenizeRequest build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -142,5 +146,17 @@ public _FinalStage model(@NotNull String model) { public TokenizeRequest build() { return new TokenizeRequest(text, model, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/audio/AsyncAudioClient.java b/src/main/java/com/cohere/api/resources/audio/AsyncAudioClient.java new file mode 100644 index 0000000..a511ba3 --- /dev/null +++ b/src/main/java/com/cohere/api/resources/audio/AsyncAudioClient.java @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.resources.audio; + +import com.cohere.api.core.ClientOptions; +import com.cohere.api.core.Suppliers; +import com.cohere.api.resources.audio.transcriptions.AsyncTranscriptionsClient; +import java.util.function.Supplier; + +public class AsyncAudioClient { + protected final ClientOptions clientOptions; + + protected final Supplier transcriptionsClient; + + public AsyncAudioClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + this.transcriptionsClient = Suppliers.memoize(() -> new AsyncTranscriptionsClient(clientOptions)); + } + + public AsyncTranscriptionsClient transcriptions() { + return this.transcriptionsClient.get(); + } +} diff --git a/src/main/java/com/cohere/api/resources/audio/AudioClient.java b/src/main/java/com/cohere/api/resources/audio/AudioClient.java new file mode 100644 index 0000000..90ca7db --- /dev/null +++ b/src/main/java/com/cohere/api/resources/audio/AudioClient.java @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.resources.audio; + +import com.cohere.api.core.ClientOptions; +import com.cohere.api.core.Suppliers; +import com.cohere.api.resources.audio.transcriptions.TranscriptionsClient; +import java.util.function.Supplier; + +public class AudioClient { + protected final ClientOptions clientOptions; + + protected final Supplier transcriptionsClient; + + public AudioClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + this.transcriptionsClient = Suppliers.memoize(() -> new TranscriptionsClient(clientOptions)); + } + + public TranscriptionsClient transcriptions() { + return this.transcriptionsClient.get(); + } +} diff --git a/src/main/java/com/cohere/api/resources/audio/transcriptions/AsyncRawTranscriptionsClient.java b/src/main/java/com/cohere/api/resources/audio/transcriptions/AsyncRawTranscriptionsClient.java new file mode 100644 index 0000000..48ec5ab --- /dev/null +++ b/src/main/java/com/cohere/api/resources/audio/transcriptions/AsyncRawTranscriptionsClient.java @@ -0,0 +1,658 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.resources.audio.transcriptions; + +import com.cohere.api.core.ClientOptions; +import com.cohere.api.core.CohereApiException; +import com.cohere.api.core.CohereException; +import com.cohere.api.core.CohereHttpResponse; +import com.cohere.api.core.FileStream; +import com.cohere.api.core.ObjectMappers; +import com.cohere.api.core.RequestOptions; +import com.cohere.api.errors.BadRequestError; +import com.cohere.api.errors.ClientClosedRequestError; +import com.cohere.api.errors.ForbiddenError; +import com.cohere.api.errors.GatewayTimeoutError; +import com.cohere.api.errors.InternalServerError; +import com.cohere.api.errors.InvalidTokenError; +import com.cohere.api.errors.NotFoundError; +import com.cohere.api.errors.NotImplementedError; +import com.cohere.api.errors.ServiceUnavailableError; +import com.cohere.api.errors.TooManyRequestsError; +import com.cohere.api.errors.UnauthorizedError; +import com.cohere.api.errors.UnprocessableEntityError; +import com.cohere.api.resources.audio.transcriptions.requests.TranscriptionsCreateRequest; +import com.cohere.api.resources.audio.transcriptions.types.AudioTranscriptionsCreateResponse; +import com.fasterxml.jackson.core.JsonProcessingException; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.util.concurrent.CompletableFuture; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.MediaType; +import okhttp3.MultipartBody; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; +import okhttp3.ResponseBody; +import org.jetbrains.annotations.NotNull; + +public class AsyncRawTranscriptionsClient { + protected final ClientOptions clientOptions; + + public AsyncRawTranscriptionsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + /** + * Transcribe an audio file. + */ + public CompletableFuture> create( + File file, TranscriptionsCreateRequest request) { + return create(file, request, null); + } + + /** + * Transcribe an audio file. + */ + public CompletableFuture> create( + File file, TranscriptionsCreateRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + try { + multipartBodyBuilder.addFormDataPart( + "model", ObjectMappers.JSON_MAPPER.writeValueAsString(request.getModel())); + multipartBodyBuilder.addFormDataPart( + "language", ObjectMappers.JSON_MAPPER.writeValueAsString(request.getLanguage())); + if (request.getTemperature().isPresent()) { + multipartBodyBuilder.addFormDataPart( + "temperature", + ObjectMappers.JSON_MAPPER.writeValueAsString( + request.getTemperature().get())); + } + String fileMimeType = Files.probeContentType(file.toPath()); + MediaType fileMimeTypeMediaType = fileMimeType != null ? MediaType.parse(fileMimeType) : null; + multipartBodyBuilder.addFormDataPart( + "file", file.getName(), RequestBody.create(file, fileMimeTypeMediaType)); + } catch (Exception e) { + throw new RuntimeException(e); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("POST", multipartBodyBuilder.build()) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 422: + future.completeExceptionally(new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 429: + future.completeExceptionally(new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 498: + future.completeExceptionally(new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 499: + future.completeExceptionally(new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 501: + future.completeExceptionally(new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 503: + future.completeExceptionally(new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 504: + future.completeExceptionally(new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> create( + InputStream stream, String filename) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + FileStream fs = new FileStream(stream, filename, null); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(null))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 422: + future.completeExceptionally(new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 429: + future.completeExceptionally(new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 498: + future.completeExceptionally(new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 499: + future.completeExceptionally(new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 501: + future.completeExceptionally(new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 503: + future.completeExceptionally(new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 504: + future.completeExceptionally(new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> create( + InputStream stream, String filename, MediaType mediaType) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + FileStream fs = new FileStream(stream, filename, mediaType); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(null))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 422: + future.completeExceptionally(new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 429: + future.completeExceptionally(new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 498: + future.completeExceptionally(new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 499: + future.completeExceptionally(new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 501: + future.completeExceptionally(new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 503: + future.completeExceptionally(new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 504: + future.completeExceptionally(new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> create( + InputStream stream, String filename, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + FileStream fs = new FileStream(stream, filename, null); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 422: + future.completeExceptionally(new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 429: + future.completeExceptionally(new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 498: + future.completeExceptionally(new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 499: + future.completeExceptionally(new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 501: + future.completeExceptionally(new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 503: + future.completeExceptionally(new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 504: + future.completeExceptionally(new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> create( + InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + FileStream fs = new FileStream(stream, filename, mediaType); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 422: + future.completeExceptionally(new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 429: + future.completeExceptionally(new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 498: + future.completeExceptionally(new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 499: + future.completeExceptionally(new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 501: + future.completeExceptionally(new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 503: + future.completeExceptionally(new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 504: + future.completeExceptionally(new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CohereException("Network error executing HTTP request", e)); + } + }); + return future; + } +} diff --git a/src/main/java/com/cohere/api/resources/audio/transcriptions/AsyncTranscriptionsClient.java b/src/main/java/com/cohere/api/resources/audio/transcriptions/AsyncTranscriptionsClient.java new file mode 100644 index 0000000..f53f784 --- /dev/null +++ b/src/main/java/com/cohere/api/resources/audio/transcriptions/AsyncTranscriptionsClient.java @@ -0,0 +1,67 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.resources.audio.transcriptions; + +import com.cohere.api.core.ClientOptions; +import com.cohere.api.core.RequestOptions; +import com.cohere.api.resources.audio.transcriptions.requests.TranscriptionsCreateRequest; +import com.cohere.api.resources.audio.transcriptions.types.AudioTranscriptionsCreateResponse; +import java.io.File; +import java.io.InputStream; +import java.util.concurrent.CompletableFuture; +import okhttp3.MediaType; + +public class AsyncTranscriptionsClient { + protected final ClientOptions clientOptions; + + private final AsyncRawTranscriptionsClient rawClient; + + public AsyncTranscriptionsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + this.rawClient = new AsyncRawTranscriptionsClient(clientOptions); + } + + /** + * Get responses with HTTP metadata like headers + */ + public AsyncRawTranscriptionsClient withRawResponse() { + return this.rawClient; + } + + /** + * Transcribe an audio file. + */ + public CompletableFuture create(File file, TranscriptionsCreateRequest request) { + return this.rawClient.create(file, request).thenApply(response -> response.body()); + } + + /** + * Transcribe an audio file. + */ + public CompletableFuture create( + File file, TranscriptionsCreateRequest request, RequestOptions requestOptions) { + return this.rawClient.create(file, request, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture create(InputStream stream, String filename) { + return this.rawClient.create(stream, filename).thenApply(response -> response.body()); + } + + public CompletableFuture create( + InputStream stream, String filename, MediaType mediaType) { + return this.rawClient.create(stream, filename, mediaType).thenApply(response -> response.body()); + } + + public CompletableFuture create( + InputStream stream, String filename, RequestOptions requestOptions) { + return this.rawClient.create(stream, filename, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture create( + InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) { + return this.rawClient + .create(stream, filename, mediaType, requestOptions) + .thenApply(response -> response.body()); + } +} diff --git a/src/main/java/com/cohere/api/resources/audio/transcriptions/RawTranscriptionsClient.java b/src/main/java/com/cohere/api/resources/audio/transcriptions/RawTranscriptionsClient.java new file mode 100644 index 0000000..4357cb9 --- /dev/null +++ b/src/main/java/com/cohere/api/resources/audio/transcriptions/RawTranscriptionsClient.java @@ -0,0 +1,468 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.resources.audio.transcriptions; + +import com.cohere.api.core.ClientOptions; +import com.cohere.api.core.CohereApiException; +import com.cohere.api.core.CohereException; +import com.cohere.api.core.CohereHttpResponse; +import com.cohere.api.core.FileStream; +import com.cohere.api.core.ObjectMappers; +import com.cohere.api.core.RequestOptions; +import com.cohere.api.errors.BadRequestError; +import com.cohere.api.errors.ClientClosedRequestError; +import com.cohere.api.errors.ForbiddenError; +import com.cohere.api.errors.GatewayTimeoutError; +import com.cohere.api.errors.InternalServerError; +import com.cohere.api.errors.InvalidTokenError; +import com.cohere.api.errors.NotFoundError; +import com.cohere.api.errors.NotImplementedError; +import com.cohere.api.errors.ServiceUnavailableError; +import com.cohere.api.errors.TooManyRequestsError; +import com.cohere.api.errors.UnauthorizedError; +import com.cohere.api.errors.UnprocessableEntityError; +import com.cohere.api.resources.audio.transcriptions.requests.TranscriptionsCreateRequest; +import com.cohere.api.resources.audio.transcriptions.types.AudioTranscriptionsCreateResponse; +import com.fasterxml.jackson.core.JsonProcessingException; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.MediaType; +import okhttp3.MultipartBody; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; +import okhttp3.ResponseBody; + +public class RawTranscriptionsClient { + protected final ClientOptions clientOptions; + + public RawTranscriptionsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + /** + * Transcribe an audio file. + */ + public CohereHttpResponse create( + File file, TranscriptionsCreateRequest request) { + return create(file, request, null); + } + + /** + * Transcribe an audio file. + */ + public CohereHttpResponse create( + File file, TranscriptionsCreateRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + try { + multipartBodyBuilder.addFormDataPart( + "model", ObjectMappers.JSON_MAPPER.writeValueAsString(request.getModel())); + multipartBodyBuilder.addFormDataPart( + "language", ObjectMappers.JSON_MAPPER.writeValueAsString(request.getLanguage())); + if (request.getTemperature().isPresent()) { + multipartBodyBuilder.addFormDataPart( + "temperature", + ObjectMappers.JSON_MAPPER.writeValueAsString( + request.getTemperature().get())); + } + String fileMimeType = Files.probeContentType(file.toPath()); + MediaType fileMimeTypeMediaType = fileMimeType != null ? MediaType.parse(fileMimeType) : null; + multipartBodyBuilder.addFormDataPart( + "file", file.getName(), RequestBody.create(file, fileMimeTypeMediaType)); + } catch (Exception e) { + throw new RuntimeException(e); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("POST", multipartBodyBuilder.build()) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 422: + throw new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 429: + throw new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 498: + throw new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 499: + throw new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 501: + throw new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 503: + throw new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 504: + throw new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new CohereException("Network error executing HTTP request", e); + } + } + + public CohereHttpResponse create(InputStream stream, String filename) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + FileStream fs = new FileStream(stream, filename, null); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(null))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 422: + throw new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 429: + throw new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 498: + throw new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 499: + throw new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 501: + throw new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 503: + throw new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 504: + throw new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new CohereException("Network error executing HTTP request", e); + } + } + + public CohereHttpResponse create( + InputStream stream, String filename, MediaType mediaType) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + FileStream fs = new FileStream(stream, filename, mediaType); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(null))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 422: + throw new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 429: + throw new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 498: + throw new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 499: + throw new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 501: + throw new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 503: + throw new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 504: + throw new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new CohereException("Network error executing HTTP request", e); + } + } + + public CohereHttpResponse create( + InputStream stream, String filename, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + FileStream fs = new FileStream(stream, filename, null); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 422: + throw new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 429: + throw new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 498: + throw new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 499: + throw new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 501: + throw new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 503: + throw new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 504: + throw new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new CohereException("Network error executing HTTP request", e); + } + } + + public CohereHttpResponse create( + InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v2/audio/transcriptions"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + FileStream fs = new FileStream(stream, filename, mediaType); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CohereHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, AudioTranscriptionsCreateResponse.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 422: + throw new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 429: + throw new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 498: + throw new InvalidTokenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 499: + throw new ClientClosedRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 501: + throw new NotImplementedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 503: + throw new ServiceUnavailableError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 504: + throw new GatewayTimeoutError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CohereApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new CohereException("Network error executing HTTP request", e); + } + } +} diff --git a/src/main/java/com/cohere/api/resources/audio/transcriptions/TranscriptionsClient.java b/src/main/java/com/cohere/api/resources/audio/transcriptions/TranscriptionsClient.java new file mode 100644 index 0000000..ecbc7f0 --- /dev/null +++ b/src/main/java/com/cohere/api/resources/audio/transcriptions/TranscriptionsClient.java @@ -0,0 +1,65 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.resources.audio.transcriptions; + +import com.cohere.api.core.ClientOptions; +import com.cohere.api.core.RequestOptions; +import com.cohere.api.resources.audio.transcriptions.requests.TranscriptionsCreateRequest; +import com.cohere.api.resources.audio.transcriptions.types.AudioTranscriptionsCreateResponse; +import java.io.File; +import java.io.InputStream; +import okhttp3.MediaType; + +public class TranscriptionsClient { + protected final ClientOptions clientOptions; + + private final RawTranscriptionsClient rawClient; + + public TranscriptionsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + this.rawClient = new RawTranscriptionsClient(clientOptions); + } + + /** + * Get responses with HTTP metadata like headers + */ + public RawTranscriptionsClient withRawResponse() { + return this.rawClient; + } + + /** + * Transcribe an audio file. + */ + public AudioTranscriptionsCreateResponse create(File file, TranscriptionsCreateRequest request) { + return this.rawClient.create(file, request).body(); + } + + /** + * Transcribe an audio file. + */ + public AudioTranscriptionsCreateResponse create( + File file, TranscriptionsCreateRequest request, RequestOptions requestOptions) { + return this.rawClient.create(file, request, requestOptions).body(); + } + + public AudioTranscriptionsCreateResponse create(InputStream stream, String filename) { + return this.rawClient.create(stream, filename).body(); + } + + public AudioTranscriptionsCreateResponse create(InputStream stream, String filename, MediaType mediaType) { + return this.rawClient.create(stream, filename, mediaType).body(); + } + + public AudioTranscriptionsCreateResponse create( + InputStream stream, String filename, RequestOptions requestOptions) { + return this.rawClient.create(stream, filename, requestOptions).body(); + } + + public AudioTranscriptionsCreateResponse create( + InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) { + return this.rawClient + .create(stream, filename, mediaType, requestOptions) + .body(); + } +} diff --git a/src/main/java/com/cohere/api/resources/audio/transcriptions/requests/TranscriptionsCreateRequest.java b/src/main/java/com/cohere/api/resources/audio/transcriptions/requests/TranscriptionsCreateRequest.java new file mode 100644 index 0000000..af0fcf0 --- /dev/null +++ b/src/main/java/com/cohere/api/resources/audio/transcriptions/requests/TranscriptionsCreateRequest.java @@ -0,0 +1,206 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.resources.audio.transcriptions.requests; + +import com.cohere.api.core.ObjectMappers; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TranscriptionsCreateRequest.Builder.class) +public final class TranscriptionsCreateRequest { + private final String model; + + private final String language; + + private final Optional temperature; + + private final Map additionalProperties; + + private TranscriptionsCreateRequest( + String model, String language, Optional temperature, Map additionalProperties) { + this.model = model; + this.language = language; + this.temperature = temperature; + this.additionalProperties = additionalProperties; + } + + /** + * @return ID of the model to use. + */ + @JsonProperty("model") + public String getModel() { + return model; + } + + /** + * @return The language of the input audio, supplied in ISO-639-1 format. + */ + @JsonProperty("language") + public String getLanguage() { + return language; + } + + /** + * @return The sampling temperature, between 0 and 1. Higher values like 0.8 make the output more random, while lower values like 0.2 make it more focused and deterministic. + */ + @JsonProperty("temperature") + public Optional getTemperature() { + return temperature; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TranscriptionsCreateRequest && equalTo((TranscriptionsCreateRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TranscriptionsCreateRequest other) { + return model.equals(other.model) && language.equals(other.language) && temperature.equals(other.temperature); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.model, this.language, this.temperature); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ModelStage builder() { + return new Builder(); + } + + public interface ModelStage { + /** + *

ID of the model to use.

+ */ + LanguageStage model(@NotNull String model); + + Builder from(TranscriptionsCreateRequest other); + } + + public interface LanguageStage { + /** + *

The language of the input audio, supplied in ISO-639-1 format.

+ */ + _FinalStage language(@NotNull String language); + } + + public interface _FinalStage { + TranscriptionsCreateRequest build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + /** + *

The sampling temperature, between 0 and 1. Higher values like 0.8 make the output more random, while lower values like 0.2 make it more focused and deterministic.

+ */ + _FinalStage temperature(Optional temperature); + + _FinalStage temperature(Double temperature); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ModelStage, LanguageStage, _FinalStage { + private String model; + + private String language; + + private Optional temperature = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TranscriptionsCreateRequest other) { + model(other.getModel()); + language(other.getLanguage()); + temperature(other.getTemperature()); + return this; + } + + /** + *

ID of the model to use.

+ *

ID of the model to use.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("model") + public LanguageStage model(@NotNull String model) { + this.model = Objects.requireNonNull(model, "model must not be null"); + return this; + } + + /** + *

The language of the input audio, supplied in ISO-639-1 format.

+ *

The language of the input audio, supplied in ISO-639-1 format.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("language") + public _FinalStage language(@NotNull String language) { + this.language = Objects.requireNonNull(language, "language must not be null"); + return this; + } + + /** + *

The sampling temperature, between 0 and 1. Higher values like 0.8 make the output more random, while lower values like 0.2 make it more focused and deterministic.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage temperature(Double temperature) { + this.temperature = Optional.ofNullable(temperature); + return this; + } + + /** + *

The sampling temperature, between 0 and 1. Higher values like 0.8 make the output more random, while lower values like 0.2 make it more focused and deterministic.

+ */ + @java.lang.Override + @JsonSetter(value = "temperature", nulls = Nulls.SKIP) + public _FinalStage temperature(Optional temperature) { + this.temperature = temperature; + return this; + } + + @java.lang.Override + public TranscriptionsCreateRequest build() { + return new TranscriptionsCreateRequest(model, language, temperature, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/cohere/api/resources/audio/transcriptions/types/AudioTranscriptionsCreateResponse.java b/src/main/java/com/cohere/api/resources/audio/transcriptions/types/AudioTranscriptionsCreateResponse.java new file mode 100644 index 0000000..467e05b --- /dev/null +++ b/src/main/java/com/cohere/api/resources/audio/transcriptions/types/AudioTranscriptionsCreateResponse.java @@ -0,0 +1,129 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cohere.api.resources.audio.transcriptions.types; + +import com.cohere.api.core.ObjectMappers; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = AudioTranscriptionsCreateResponse.Builder.class) +public final class AudioTranscriptionsCreateResponse { + private final String text; + + private final Map additionalProperties; + + private AudioTranscriptionsCreateResponse(String text, Map additionalProperties) { + this.text = text; + this.additionalProperties = additionalProperties; + } + + /** + * @return The transcribed text. + */ + @JsonProperty("text") + public String getText() { + return text; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof AudioTranscriptionsCreateResponse && equalTo((AudioTranscriptionsCreateResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(AudioTranscriptionsCreateResponse other) { + return text.equals(other.text); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.text); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static TextStage builder() { + return new Builder(); + } + + public interface TextStage { + /** + *

The transcribed text.

+ */ + _FinalStage text(@NotNull String text); + + Builder from(AudioTranscriptionsCreateResponse other); + } + + public interface _FinalStage { + AudioTranscriptionsCreateResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements TextStage, _FinalStage { + private String text; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(AudioTranscriptionsCreateResponse other) { + text(other.getText()); + return this; + } + + /** + *

The transcribed text.

+ *

The transcribed text.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("text") + public _FinalStage text(@NotNull String text) { + this.text = Objects.requireNonNull(text, "text must not be null"); + return this; + } + + @java.lang.Override + public AudioTranscriptionsCreateResponse build() { + return new AudioTranscriptionsCreateResponse(text, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/cohere/api/resources/batches/requests/BatchesListBatchesRequest.java b/src/main/java/com/cohere/api/resources/batches/requests/BatchesListBatchesRequest.java index 7f1220e..4a44998 100644 --- a/src/main/java/com/cohere/api/resources/batches/requests/BatchesListBatchesRequest.java +++ b/src/main/java/com/cohere/api/resources/batches/requests/BatchesListBatchesRequest.java @@ -167,5 +167,15 @@ public Builder orderBy(String orderBy) { public BatchesListBatchesRequest build() { return new BatchesListBatchesRequest(pageSize, pageToken, orderBy, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/batches/types/Batch.java b/src/main/java/com/cohere/api/resources/batches/types/Batch.java index 5d53b12..7827def 100644 --- a/src/main/java/com/cohere/api/resources/batches/types/Batch.java +++ b/src/main/java/com/cohere/api/resources/batches/types/Batch.java @@ -304,6 +304,10 @@ public interface ModelStage { public interface _FinalStage { Batch build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

read-only. Batch ID.

*/ @@ -763,5 +767,17 @@ public Batch build() { statusReason, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/batches/types/CreateBatchResponse.java b/src/main/java/com/cohere/api/resources/batches/types/CreateBatchResponse.java index 6ace36c..7604273 100644 --- a/src/main/java/com/cohere/api/resources/batches/types/CreateBatchResponse.java +++ b/src/main/java/com/cohere/api/resources/batches/types/CreateBatchResponse.java @@ -76,6 +76,10 @@ public interface BatchStage { public interface _FinalStage { CreateBatchResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -109,5 +113,17 @@ public _FinalStage batch(@NotNull Batch batch) { public CreateBatchResponse build() { return new CreateBatchResponse(batch, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/batches/types/GetBatchResponse.java b/src/main/java/com/cohere/api/resources/batches/types/GetBatchResponse.java index a2cfed9..cd3fce5 100644 --- a/src/main/java/com/cohere/api/resources/batches/types/GetBatchResponse.java +++ b/src/main/java/com/cohere/api/resources/batches/types/GetBatchResponse.java @@ -76,6 +76,10 @@ public interface BatchStage { public interface _FinalStage { GetBatchResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -109,5 +113,17 @@ public _FinalStage batch(@NotNull Batch batch) { public GetBatchResponse build() { return new GetBatchResponse(batch, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/batches/types/ListBatchesResponse.java b/src/main/java/com/cohere/api/resources/batches/types/ListBatchesResponse.java index bb265ac..6cb17ac 100644 --- a/src/main/java/com/cohere/api/resources/batches/types/ListBatchesResponse.java +++ b/src/main/java/com/cohere/api/resources/batches/types/ListBatchesResponse.java @@ -129,5 +129,15 @@ public Builder nextPageToken(String nextPageToken) { public ListBatchesResponse build() { return new ListBatchesResponse(batches, nextPageToken, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/connectors/requests/ConnectorsListRequest.java b/src/main/java/com/cohere/api/resources/connectors/requests/ConnectorsListRequest.java index 164b84b..11bbc8b 100644 --- a/src/main/java/com/cohere/api/resources/connectors/requests/ConnectorsListRequest.java +++ b/src/main/java/com/cohere/api/resources/connectors/requests/ConnectorsListRequest.java @@ -126,5 +126,15 @@ public Builder offset(Double offset) { public ConnectorsListRequest build() { return new ConnectorsListRequest(limit, offset, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/connectors/requests/ConnectorsOAuthAuthorizeRequest.java b/src/main/java/com/cohere/api/resources/connectors/requests/ConnectorsOAuthAuthorizeRequest.java index b60b0ae..91d28e2 100644 --- a/src/main/java/com/cohere/api/resources/connectors/requests/ConnectorsOAuthAuthorizeRequest.java +++ b/src/main/java/com/cohere/api/resources/connectors/requests/ConnectorsOAuthAuthorizeRequest.java @@ -98,5 +98,15 @@ public Builder afterTokenRedirect(String afterTokenRedirect) { public ConnectorsOAuthAuthorizeRequest build() { return new ConnectorsOAuthAuthorizeRequest(afterTokenRedirect, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/connectors/requests/CreateConnectorRequest.java b/src/main/java/com/cohere/api/resources/connectors/requests/CreateConnectorRequest.java index 04683f4..dddcadf 100644 --- a/src/main/java/com/cohere/api/resources/connectors/requests/CreateConnectorRequest.java +++ b/src/main/java/com/cohere/api/resources/connectors/requests/CreateConnectorRequest.java @@ -190,6 +190,10 @@ public interface UrlStage { public interface _FinalStage { CreateConnectorRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

A description of the connector.

*/ @@ -426,5 +430,17 @@ public CreateConnectorRequest build() { serviceAuth, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/connectors/requests/UpdateConnectorRequest.java b/src/main/java/com/cohere/api/resources/connectors/requests/UpdateConnectorRequest.java index 0f4eae7..0cdac59 100644 --- a/src/main/java/com/cohere/api/resources/connectors/requests/UpdateConnectorRequest.java +++ b/src/main/java/com/cohere/api/resources/connectors/requests/UpdateConnectorRequest.java @@ -272,5 +272,15 @@ public UpdateConnectorRequest build() { return new UpdateConnectorRequest( name, url, excludes, oauth, active, continueOnFailure, serviceAuth, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/datasets/requests/DatasetsCreateRequest.java b/src/main/java/com/cohere/api/resources/datasets/requests/DatasetsCreateRequest.java index 882a935..5ef91ad 100644 --- a/src/main/java/com/cohere/api/resources/datasets/requests/DatasetsCreateRequest.java +++ b/src/main/java/com/cohere/api/resources/datasets/requests/DatasetsCreateRequest.java @@ -190,6 +190,10 @@ public interface TypeStage { public interface _FinalStage { DatasetsCreateRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

List of names of fields that will be persisted in the Dataset. By default the Dataset will retain only the required fields indicated in the schema for the corresponding Dataset type. For example, datasets of type embed-input will drop all fields other than the required text field. If any of the fields in keep_fields are missing from the uploaded file, Dataset validation will fail.

*/ @@ -442,5 +446,17 @@ public DatasetsCreateRequest build() { csvDelimiter, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/datasets/requests/DatasetsListRequest.java b/src/main/java/com/cohere/api/resources/datasets/requests/DatasetsListRequest.java index 551c7ee..930f53b 100644 --- a/src/main/java/com/cohere/api/resources/datasets/requests/DatasetsListRequest.java +++ b/src/main/java/com/cohere/api/resources/datasets/requests/DatasetsListRequest.java @@ -252,5 +252,15 @@ public DatasetsListRequest build() { return new DatasetsListRequest( datasetType, before, after, limit, offset, validationStatus, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/datasets/types/DatasetsCreateResponse.java b/src/main/java/com/cohere/api/resources/datasets/types/DatasetsCreateResponse.java index 840ae1a..cb64737 100644 --- a/src/main/java/com/cohere/api/resources/datasets/types/DatasetsCreateResponse.java +++ b/src/main/java/com/cohere/api/resources/datasets/types/DatasetsCreateResponse.java @@ -97,5 +97,15 @@ public Builder id(String id) { public DatasetsCreateResponse build() { return new DatasetsCreateResponse(id, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/datasets/types/DatasetsGetResponse.java b/src/main/java/com/cohere/api/resources/datasets/types/DatasetsGetResponse.java index de9c270..20287ee 100644 --- a/src/main/java/com/cohere/api/resources/datasets/types/DatasetsGetResponse.java +++ b/src/main/java/com/cohere/api/resources/datasets/types/DatasetsGetResponse.java @@ -71,6 +71,10 @@ public interface DatasetStage { public interface _FinalStage { DatasetsGetResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -99,5 +103,17 @@ public _FinalStage dataset(@NotNull Dataset dataset) { public DatasetsGetResponse build() { return new DatasetsGetResponse(dataset, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/datasets/types/DatasetsGetUsageResponse.java b/src/main/java/com/cohere/api/resources/datasets/types/DatasetsGetUsageResponse.java index 7e7e343..333a45c 100644 --- a/src/main/java/com/cohere/api/resources/datasets/types/DatasetsGetUsageResponse.java +++ b/src/main/java/com/cohere/api/resources/datasets/types/DatasetsGetUsageResponse.java @@ -97,5 +97,15 @@ public Builder organizationUsage(Long organizationUsage) { public DatasetsGetUsageResponse build() { return new DatasetsGetUsageResponse(organizationUsage, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/datasets/types/DatasetsListResponse.java b/src/main/java/com/cohere/api/resources/datasets/types/DatasetsListResponse.java index e80990c..c6c43cc 100644 --- a/src/main/java/com/cohere/api/resources/datasets/types/DatasetsListResponse.java +++ b/src/main/java/com/cohere/api/resources/datasets/types/DatasetsListResponse.java @@ -93,5 +93,15 @@ public Builder datasets(List datasets) { public DatasetsListResponse build() { return new DatasetsListResponse(datasets, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/embedjobs/requests/CreateEmbedJobRequest.java b/src/main/java/com/cohere/api/resources/embedjobs/requests/CreateEmbedJobRequest.java index 9ec058c..5a6bb9b 100644 --- a/src/main/java/com/cohere/api/resources/embedjobs/requests/CreateEmbedJobRequest.java +++ b/src/main/java/com/cohere/api/resources/embedjobs/requests/CreateEmbedJobRequest.java @@ -180,6 +180,10 @@ public interface InputTypeStage { public interface _FinalStage { CreateEmbedJobRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The name of the embed job.

*/ @@ -366,5 +370,17 @@ public CreateEmbedJobRequest build() { return new CreateEmbedJobRequest( model, datasetId, inputType, name, embeddingTypes, truncate, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/BaseModel.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/BaseModel.java index b16a549..8b1fd44 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/BaseModel.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/BaseModel.java @@ -120,6 +120,10 @@ public interface BaseTypeStage { public interface _FinalStage { BaseModel build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The name of the base model.

*/ @@ -242,5 +246,17 @@ public _FinalStage name(Optional name) { public BaseModel build() { return new BaseModel(name, version, baseType, strategy, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/CreateFinetunedModelResponse.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/CreateFinetunedModelResponse.java index 20828cc..1d7d903 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/CreateFinetunedModelResponse.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/CreateFinetunedModelResponse.java @@ -98,5 +98,15 @@ public Builder finetunedModel(FinetunedModel finetunedModel) { public CreateFinetunedModelResponse build() { return new CreateFinetunedModelResponse(finetunedModel, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Event.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Event.java index 948523a..2014b61 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Event.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Event.java @@ -158,5 +158,15 @@ public Builder createdAt(OffsetDateTime createdAt) { public Event build() { return new Event(userId, status, createdAt, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/FinetunedModel.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/FinetunedModel.java index d7a38b3..b31463a 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/FinetunedModel.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/FinetunedModel.java @@ -216,6 +216,10 @@ public interface SettingsStage { public interface _FinalStage { FinetunedModel build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

read-only. FinetunedModel ID.

*/ @@ -514,5 +518,17 @@ public FinetunedModel build() { lastUsed, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/GetFinetunedModelResponse.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/GetFinetunedModelResponse.java index 50e38c1..ec890f6 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/GetFinetunedModelResponse.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/GetFinetunedModelResponse.java @@ -98,5 +98,15 @@ public Builder finetunedModel(FinetunedModel finetunedModel) { public GetFinetunedModelResponse build() { return new GetFinetunedModelResponse(finetunedModel, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Hyperparameters.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Hyperparameters.java index 8099e96..c4ab173 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Hyperparameters.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Hyperparameters.java @@ -334,5 +334,15 @@ public Hyperparameters build() { loraTargetModules, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListEventsResponse.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListEventsResponse.java index 473fa3f..3ceceb9 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListEventsResponse.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListEventsResponse.java @@ -162,5 +162,15 @@ public Builder totalSize(Integer totalSize) { public ListEventsResponse build() { return new ListEventsResponse(events, nextPageToken, totalSize, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListFinetunedModelsResponse.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListFinetunedModelsResponse.java index 71c1484..2013312 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListFinetunedModelsResponse.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListFinetunedModelsResponse.java @@ -162,5 +162,15 @@ public Builder totalSize(Integer totalSize) { public ListFinetunedModelsResponse build() { return new ListFinetunedModelsResponse(finetunedModels, nextPageToken, totalSize, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListTrainingStepMetricsResponse.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListTrainingStepMetricsResponse.java index 4cedc0e..6e9504c 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListTrainingStepMetricsResponse.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/ListTrainingStepMetricsResponse.java @@ -131,5 +131,15 @@ public Builder nextPageToken(String nextPageToken) { public ListTrainingStepMetricsResponse build() { return new ListTrainingStepMetricsResponse(stepMetrics, nextPageToken, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Settings.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Settings.java index 30eaef2..50af8d0 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Settings.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/Settings.java @@ -140,6 +140,10 @@ public interface DatasetIdStage { public interface _FinalStage { Settings build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Fine-tuning hyper-parameters.

*/ @@ -277,5 +281,17 @@ public _FinalStage hyperparameters(Optional hyperparameters) { public Settings build() { return new Settings(baseModel, datasetId, hyperparameters, multiLabel, wandb, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/TrainingStepMetrics.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/TrainingStepMetrics.java index 38088f5..14439d2 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/TrainingStepMetrics.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/TrainingStepMetrics.java @@ -160,5 +160,15 @@ public Builder metrics(Map metrics) { public TrainingStepMetrics build() { return new TrainingStepMetrics(createdAt, stepNumber, metrics, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/UpdateFinetunedModelResponse.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/UpdateFinetunedModelResponse.java index 8cd25f5..0155c15 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/UpdateFinetunedModelResponse.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/UpdateFinetunedModelResponse.java @@ -98,5 +98,15 @@ public Builder finetunedModel(FinetunedModel finetunedModel) { public UpdateFinetunedModelResponse build() { return new UpdateFinetunedModelResponse(finetunedModel, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/WandbConfig.java b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/WandbConfig.java index 886c098..4edf019 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/WandbConfig.java +++ b/src/main/java/com/cohere/api/resources/finetuning/finetuning/types/WandbConfig.java @@ -109,6 +109,10 @@ public interface ApiKeyStage { public interface _FinalStage { WandbConfig build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The WandB entity name to be used during training.

*/ @@ -186,5 +190,17 @@ public _FinalStage entity(Optional entity) { public WandbConfig build() { return new WandbConfig(project, apiKey, entity, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListEventsRequest.java b/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListEventsRequest.java index de066fc..70026b5 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListEventsRequest.java +++ b/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListEventsRequest.java @@ -171,5 +171,15 @@ public Builder orderBy(String orderBy) { public FinetuningListEventsRequest build() { return new FinetuningListEventsRequest(pageSize, pageToken, orderBy, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListFinetunedModelsRequest.java b/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListFinetunedModelsRequest.java index 5c3149f..87c867a 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListFinetunedModelsRequest.java +++ b/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListFinetunedModelsRequest.java @@ -172,5 +172,15 @@ public Builder orderBy(String orderBy) { public FinetuningListFinetunedModelsRequest build() { return new FinetuningListFinetunedModelsRequest(pageSize, pageToken, orderBy, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListTrainingStepMetricsRequest.java b/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListTrainingStepMetricsRequest.java index 7c61265..e8294a2 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListTrainingStepMetricsRequest.java +++ b/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningListTrainingStepMetricsRequest.java @@ -129,5 +129,15 @@ public Builder pageToken(String pageToken) { public FinetuningListTrainingStepMetricsRequest build() { return new FinetuningListTrainingStepMetricsRequest(pageSize, pageToken, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningUpdateFinetunedModelRequest.java b/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningUpdateFinetunedModelRequest.java index 78a0e70..d0d68ca 100644 --- a/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningUpdateFinetunedModelRequest.java +++ b/src/main/java/com/cohere/api/resources/finetuning/requests/FinetuningUpdateFinetunedModelRequest.java @@ -112,6 +112,10 @@ public interface SettingsStage { public interface _FinalStage { FinetuningUpdateFinetunedModelRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Current stage in the life-cycle of the fine-tuned model.

*/ @@ -189,5 +193,17 @@ public _FinalStage status(Optional status) { public FinetuningUpdateFinetunedModelRequest build() { return new FinetuningUpdateFinetunedModelRequest(name, settings, status, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/models/requests/ModelsListRequest.java b/src/main/java/com/cohere/api/resources/models/requests/ModelsListRequest.java index ab822f7..716e59f 100644 --- a/src/main/java/com/cohere/api/resources/models/requests/ModelsListRequest.java +++ b/src/main/java/com/cohere/api/resources/models/requests/ModelsListRequest.java @@ -192,5 +192,15 @@ public Builder defaultOnly(Boolean defaultOnly) { public ModelsListRequest build() { return new ModelsListRequest(pageSize, pageToken, endpoint, defaultOnly, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/v2/AsyncRawV2Client.java b/src/main/java/com/cohere/api/resources/v2/AsyncRawV2Client.java index 9eef727..b37509f 100644 --- a/src/main/java/com/cohere/api/resources/v2/AsyncRawV2Client.java +++ b/src/main/java/com/cohere/api/resources/v2/AsyncRawV2Client.java @@ -35,6 +35,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import java.io.IOException; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; import okhttp3.Call; import okhttp3.Callback; import okhttp3.Headers; @@ -93,6 +94,7 @@ public CompletableFuture>> cha if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); } + client = client.newBuilder().callTimeout(0, TimeUnit.SECONDS).build(); CompletableFuture>> future = new CompletableFuture<>(); client.newCall(okhttpRequest).enqueue(new Callback() { @Override @@ -101,7 +103,7 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO ResponseBody responseBody = response.body(); if (response.isSuccessful()) { future.complete(new CohereHttpResponse<>( - Stream.fromSse(V2ChatStreamResponse.class, new ResponseBodyReader(response)), + Stream.fromSse(V2ChatStreamResponse.class, new ResponseBodyReader(response), "[DONE]"), response)); return; } diff --git a/src/main/java/com/cohere/api/resources/v2/RawV2Client.java b/src/main/java/com/cohere/api/resources/v2/RawV2Client.java index da70ced..f94d4e8 100644 --- a/src/main/java/com/cohere/api/resources/v2/RawV2Client.java +++ b/src/main/java/com/cohere/api/resources/v2/RawV2Client.java @@ -34,6 +34,7 @@ import com.cohere.api.types.EmbedByTypeResponse; import com.fasterxml.jackson.core.JsonProcessingException; import java.io.IOException; +import java.util.concurrent.TimeUnit; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -88,12 +89,14 @@ public CohereHttpResponse> chatStream( if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); } + client = client.newBuilder().callTimeout(0, TimeUnit.SECONDS).build(); try { Response response = client.newCall(okhttpRequest).execute(); ResponseBody responseBody = response.body(); if (response.isSuccessful()) { return new CohereHttpResponse<>( - Stream.fromSse(V2ChatStreamResponse.class, new ResponseBodyReader(response)), response); + Stream.fromSse(V2ChatStreamResponse.class, new ResponseBodyReader(response), "[DONE]"), + response); } String responseBodyString = responseBody != null ? responseBody.string() : "{}"; try { diff --git a/src/main/java/com/cohere/api/resources/v2/requests/V2ChatRequest.java b/src/main/java/com/cohere/api/resources/v2/requests/V2ChatRequest.java index c8f1b72..5b5c337 100644 --- a/src/main/java/com/cohere/api/resources/v2/requests/V2ChatRequest.java +++ b/src/main/java/com/cohere/api/resources/v2/requests/V2ChatRequest.java @@ -376,6 +376,10 @@ public interface ModelStage { public interface _FinalStage { V2ChatRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage messages(List messages); _FinalStage addMessages(ChatMessageV2 messages); @@ -1032,5 +1036,17 @@ public V2ChatRequest build() { priority, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/v2/requests/V2ChatStreamRequest.java b/src/main/java/com/cohere/api/resources/v2/requests/V2ChatStreamRequest.java index b5f2a2d..7d9aff6 100644 --- a/src/main/java/com/cohere/api/resources/v2/requests/V2ChatStreamRequest.java +++ b/src/main/java/com/cohere/api/resources/v2/requests/V2ChatStreamRequest.java @@ -376,6 +376,10 @@ public interface ModelStage { public interface _FinalStage { V2ChatStreamRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage messages(List messages); _FinalStage addMessages(ChatMessageV2 messages); @@ -1032,5 +1036,17 @@ public V2ChatStreamRequest build() { priority, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/v2/requests/V2EmbedRequest.java b/src/main/java/com/cohere/api/resources/v2/requests/V2EmbedRequest.java index b18d6e9..4d1a928 100644 --- a/src/main/java/com/cohere/api/resources/v2/requests/V2EmbedRequest.java +++ b/src/main/java/com/cohere/api/resources/v2/requests/V2EmbedRequest.java @@ -227,6 +227,10 @@ public interface InputTypeStage { public interface _FinalStage { V2EmbedRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

An array of strings for the model to embed. Maximum number of texts per call is 96.

*/ @@ -559,5 +563,17 @@ public V2EmbedRequest build() { priority, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/v2/requests/V2RerankRequest.java b/src/main/java/com/cohere/api/resources/v2/requests/V2RerankRequest.java index 3c06e0a..4deaf66 100644 --- a/src/main/java/com/cohere/api/resources/v2/requests/V2RerankRequest.java +++ b/src/main/java/com/cohere/api/resources/v2/requests/V2RerankRequest.java @@ -158,6 +158,10 @@ public interface QueryStage { public interface _FinalStage { V2RerankRequest build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

A list of texts that will be compared to the query. * For optimal performance we recommend against sending more than 1,000 documents in a single request.

@@ -354,5 +358,17 @@ public _FinalStage documents(List documents) { public V2RerankRequest build() { return new V2RerankRequest(model, query, documents, topN, maxTokensPerDoc, priority, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/v2/types/V2ChatResponse.java b/src/main/java/com/cohere/api/resources/v2/types/V2ChatResponse.java index 5bdb73b..a8660fc 100644 --- a/src/main/java/com/cohere/api/resources/v2/types/V2ChatResponse.java +++ b/src/main/java/com/cohere/api/resources/v2/types/V2ChatResponse.java @@ -134,6 +134,10 @@ public interface MessageStage { public interface _FinalStage { V2ChatResponse build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage usage(Optional usage); _FinalStage usage(Usage usage); @@ -226,5 +230,17 @@ public _FinalStage usage(Optional usage) { public V2ChatResponse build() { return new V2ChatResponse(id, finishReason, message, usage, logprobs, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/v2/types/V2RerankResponse.java b/src/main/java/com/cohere/api/resources/v2/types/V2RerankResponse.java index 18f6935..797313d 100644 --- a/src/main/java/com/cohere/api/resources/v2/types/V2RerankResponse.java +++ b/src/main/java/com/cohere/api/resources/v2/types/V2RerankResponse.java @@ -158,5 +158,15 @@ public Builder meta(ApiMeta meta) { public V2RerankResponse build() { return new V2RerankResponse(id, results, meta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/resources/v2/types/V2RerankResponseResultsItem.java b/src/main/java/com/cohere/api/resources/v2/types/V2RerankResponseResultsItem.java index 54f0ae3..5d38338 100644 --- a/src/main/java/com/cohere/api/resources/v2/types/V2RerankResponseResultsItem.java +++ b/src/main/java/com/cohere/api/resources/v2/types/V2RerankResponseResultsItem.java @@ -93,6 +93,10 @@ public interface RelevanceScoreStage { public interface _FinalStage { V2RerankResponseResultsItem build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -141,5 +145,17 @@ public _FinalStage relevanceScore(float relevanceScore) { public V2RerankResponseResultsItem build() { return new V2RerankResponseResultsItem(index, relevanceScore, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ApiMeta.java b/src/main/java/com/cohere/api/types/ApiMeta.java index 2efc6a9..c9cb62b 100644 --- a/src/main/java/com/cohere/api/types/ApiMeta.java +++ b/src/main/java/com/cohere/api/types/ApiMeta.java @@ -196,5 +196,15 @@ public Builder warnings(List warnings) { public ApiMeta build() { return new ApiMeta(apiVersion, billedUnits, tokens, cachedTokens, warnings, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ApiMetaApiVersion.java b/src/main/java/com/cohere/api/types/ApiMetaApiVersion.java index 72f0565..c97fde1 100644 --- a/src/main/java/com/cohere/api/types/ApiMetaApiVersion.java +++ b/src/main/java/com/cohere/api/types/ApiMetaApiVersion.java @@ -95,6 +95,10 @@ public interface VersionStage { public interface _FinalStage { ApiMetaApiVersion build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage isDeprecated(Optional isDeprecated); _FinalStage isDeprecated(Boolean isDeprecated); @@ -162,5 +166,17 @@ public _FinalStage isDeprecated(Optional isDeprecated) { public ApiMetaApiVersion build() { return new ApiMetaApiVersion(version, isDeprecated, isExperimental, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ApiMetaBilledUnits.java b/src/main/java/com/cohere/api/types/ApiMetaBilledUnits.java index 225f20d..2404d8e 100644 --- a/src/main/java/com/cohere/api/types/ApiMetaBilledUnits.java +++ b/src/main/java/com/cohere/api/types/ApiMetaBilledUnits.java @@ -256,5 +256,15 @@ public ApiMetaBilledUnits build() { return new ApiMetaBilledUnits( images, inputTokens, imageTokens, outputTokens, searchUnits, classifications, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ApiMetaTokens.java b/src/main/java/com/cohere/api/types/ApiMetaTokens.java index 8e12ac0..3e66726 100644 --- a/src/main/java/com/cohere/api/types/ApiMetaTokens.java +++ b/src/main/java/com/cohere/api/types/ApiMetaTokens.java @@ -126,5 +126,15 @@ public Builder outputTokens(Double outputTokens) { public ApiMetaTokens build() { return new ApiMetaTokens(inputTokens, outputTokens, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/AssistantMessage.java b/src/main/java/com/cohere/api/types/AssistantMessage.java index e4462eb..bb5493f 100644 --- a/src/main/java/com/cohere/api/types/AssistantMessage.java +++ b/src/main/java/com/cohere/api/types/AssistantMessage.java @@ -172,5 +172,15 @@ public Builder citations(List citations) { public AssistantMessage build() { return new AssistantMessage(toolCalls, toolPlan, content, citations, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/AssistantMessageResponse.java b/src/main/java/com/cohere/api/types/AssistantMessageResponse.java index fe1b53d..0f35cbc 100644 --- a/src/main/java/com/cohere/api/types/AssistantMessageResponse.java +++ b/src/main/java/com/cohere/api/types/AssistantMessageResponse.java @@ -177,5 +177,15 @@ public Builder citations(List citations) { public AssistantMessageResponse build() { return new AssistantMessageResponse(toolCalls, toolPlan, content, citations, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatCitation.java b/src/main/java/com/cohere/api/types/ChatCitation.java index 5ef8e07..cea34ca 100644 --- a/src/main/java/com/cohere/api/types/ChatCitation.java +++ b/src/main/java/com/cohere/api/types/ChatCitation.java @@ -149,6 +149,10 @@ public interface TextStage { public interface _FinalStage { ChatCitation build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Identifiers of documents cited by this section of the generated reply.

*/ @@ -288,5 +292,17 @@ public _FinalStage documentIds(List documentIds) { public ChatCitation build() { return new ChatCitation(start, end, text, documentIds, type, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatCitationGenerationEvent.java b/src/main/java/com/cohere/api/types/ChatCitationGenerationEvent.java index 3d3f8ca..a365baa 100644 --- a/src/main/java/com/cohere/api/types/ChatCitationGenerationEvent.java +++ b/src/main/java/com/cohere/api/types/ChatCitationGenerationEvent.java @@ -108,5 +108,15 @@ public Builder addAllCitations(List citations) { public ChatCitationGenerationEvent build() { return new ChatCitationGenerationEvent(citations, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatConnector.java b/src/main/java/com/cohere/api/types/ChatConnector.java index 832f1e9..ec1339e 100644 --- a/src/main/java/com/cohere/api/types/ChatConnector.java +++ b/src/main/java/com/cohere/api/types/ChatConnector.java @@ -122,6 +122,10 @@ public interface IdStage { public interface _FinalStage { ChatConnector build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

When specified, this user access token will be passed to the connector in the Authorization header instead of the Cohere generated one.

*/ @@ -250,5 +254,17 @@ public _FinalStage userAccessToken(Optional userAccessToken) { public ChatConnector build() { return new ChatConnector(id, userAccessToken, continueOnFailure, options, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatContentDeltaEvent.java b/src/main/java/com/cohere/api/types/ChatContentDeltaEvent.java index 273430c..187e0ab 100644 --- a/src/main/java/com/cohere/api/types/ChatContentDeltaEvent.java +++ b/src/main/java/com/cohere/api/types/ChatContentDeltaEvent.java @@ -139,5 +139,15 @@ public Builder logprobs(LogprobItem logprobs) { public ChatContentDeltaEvent build() { return new ChatContentDeltaEvent(index, delta, logprobs, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatContentDeltaEventDelta.java b/src/main/java/com/cohere/api/types/ChatContentDeltaEventDelta.java index cb68a2b..3bbb03b 100644 --- a/src/main/java/com/cohere/api/types/ChatContentDeltaEventDelta.java +++ b/src/main/java/com/cohere/api/types/ChatContentDeltaEventDelta.java @@ -92,5 +92,15 @@ public Builder message(ChatContentDeltaEventDeltaMessage message) { public ChatContentDeltaEventDelta build() { return new ChatContentDeltaEventDelta(message, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatContentDeltaEventDeltaMessage.java b/src/main/java/com/cohere/api/types/ChatContentDeltaEventDeltaMessage.java index be7a3e2..68b54e3 100644 --- a/src/main/java/com/cohere/api/types/ChatContentDeltaEventDeltaMessage.java +++ b/src/main/java/com/cohere/api/types/ChatContentDeltaEventDeltaMessage.java @@ -92,5 +92,15 @@ public Builder content(ChatContentDeltaEventDeltaMessageContent content) { public ChatContentDeltaEventDeltaMessage build() { return new ChatContentDeltaEventDeltaMessage(content, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatContentDeltaEventDeltaMessageContent.java b/src/main/java/com/cohere/api/types/ChatContentDeltaEventDeltaMessageContent.java index 8005c7d..aac54df 100644 --- a/src/main/java/com/cohere/api/types/ChatContentDeltaEventDeltaMessageContent.java +++ b/src/main/java/com/cohere/api/types/ChatContentDeltaEventDeltaMessageContent.java @@ -115,5 +115,15 @@ public Builder text(String text) { public ChatContentDeltaEventDeltaMessageContent build() { return new ChatContentDeltaEventDeltaMessageContent(thinking, text, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatContentEndEvent.java b/src/main/java/com/cohere/api/types/ChatContentEndEvent.java index aa1b771..b7067ea 100644 --- a/src/main/java/com/cohere/api/types/ChatContentEndEvent.java +++ b/src/main/java/com/cohere/api/types/ChatContentEndEvent.java @@ -91,5 +91,15 @@ public Builder index(Integer index) { public ChatContentEndEvent build() { return new ChatContentEndEvent(index, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatContentStartEvent.java b/src/main/java/com/cohere/api/types/ChatContentStartEvent.java index 4cced88..12c770e 100644 --- a/src/main/java/com/cohere/api/types/ChatContentStartEvent.java +++ b/src/main/java/com/cohere/api/types/ChatContentStartEvent.java @@ -116,5 +116,15 @@ public Builder delta(ChatContentStartEventDelta delta) { public ChatContentStartEvent build() { return new ChatContentStartEvent(index, delta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatContentStartEventDelta.java b/src/main/java/com/cohere/api/types/ChatContentStartEventDelta.java index 3257fa1..2729cee 100644 --- a/src/main/java/com/cohere/api/types/ChatContentStartEventDelta.java +++ b/src/main/java/com/cohere/api/types/ChatContentStartEventDelta.java @@ -92,5 +92,15 @@ public Builder message(ChatContentStartEventDeltaMessage message) { public ChatContentStartEventDelta build() { return new ChatContentStartEventDelta(message, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatContentStartEventDeltaMessage.java b/src/main/java/com/cohere/api/types/ChatContentStartEventDeltaMessage.java index 5cdee3d..36cc18d 100644 --- a/src/main/java/com/cohere/api/types/ChatContentStartEventDeltaMessage.java +++ b/src/main/java/com/cohere/api/types/ChatContentStartEventDeltaMessage.java @@ -92,5 +92,15 @@ public Builder content(ChatContentStartEventDeltaMessageContent content) { public ChatContentStartEventDeltaMessage build() { return new ChatContentStartEventDeltaMessage(content, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatContentStartEventDeltaMessageContent.java b/src/main/java/com/cohere/api/types/ChatContentStartEventDeltaMessageContent.java index 1ac6730..0a1326d 100644 --- a/src/main/java/com/cohere/api/types/ChatContentStartEventDeltaMessageContent.java +++ b/src/main/java/com/cohere/api/types/ChatContentStartEventDeltaMessageContent.java @@ -140,5 +140,15 @@ public Builder type(ChatContentStartEventDeltaMessageContentType type) { public ChatContentStartEventDeltaMessageContent build() { return new ChatContentStartEventDeltaMessageContent(thinking, text, type, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatDataMetrics.java b/src/main/java/com/cohere/api/types/ChatDataMetrics.java index 2dab26d..c40722f 100644 --- a/src/main/java/com/cohere/api/types/ChatDataMetrics.java +++ b/src/main/java/com/cohere/api/types/ChatDataMetrics.java @@ -159,5 +159,15 @@ public Builder preamble(String preamble) { public ChatDataMetrics build() { return new ChatDataMetrics(numTrainTurns, numEvalTurns, preamble, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatDebugEvent.java b/src/main/java/com/cohere/api/types/ChatDebugEvent.java index 0f4ed7c..5f5b022 100644 --- a/src/main/java/com/cohere/api/types/ChatDebugEvent.java +++ b/src/main/java/com/cohere/api/types/ChatDebugEvent.java @@ -91,5 +91,15 @@ public Builder prompt(String prompt) { public ChatDebugEvent build() { return new ChatDebugEvent(prompt, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatDocumentSource.java b/src/main/java/com/cohere/api/types/ChatDocumentSource.java index 007605c..a830680 100644 --- a/src/main/java/com/cohere/api/types/ChatDocumentSource.java +++ b/src/main/java/com/cohere/api/types/ChatDocumentSource.java @@ -120,5 +120,15 @@ public Builder document(Map document) { public ChatDocumentSource build() { return new ChatDocumentSource(id, document, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatMessage.java b/src/main/java/com/cohere/api/types/ChatMessage.java index 75ae70b..ea3892e 100644 --- a/src/main/java/com/cohere/api/types/ChatMessage.java +++ b/src/main/java/com/cohere/api/types/ChatMessage.java @@ -88,6 +88,10 @@ public interface MessageStage { public interface _FinalStage { ChatMessage build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage toolCalls(Optional> toolCalls); _FinalStage toolCalls(List toolCalls); @@ -140,5 +144,17 @@ public _FinalStage toolCalls(Optional> toolCalls) { public ChatMessage build() { return new ChatMessage(message, toolCalls, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatMessageEndEvent.java b/src/main/java/com/cohere/api/types/ChatMessageEndEvent.java index 77f0bf0..863d029 100644 --- a/src/main/java/com/cohere/api/types/ChatMessageEndEvent.java +++ b/src/main/java/com/cohere/api/types/ChatMessageEndEvent.java @@ -114,5 +114,15 @@ public Builder delta(ChatMessageEndEventDelta delta) { public ChatMessageEndEvent build() { return new ChatMessageEndEvent(id, delta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatMessageEndEventDelta.java b/src/main/java/com/cohere/api/types/ChatMessageEndEventDelta.java index f47a71d..ef84499 100644 --- a/src/main/java/com/cohere/api/types/ChatMessageEndEventDelta.java +++ b/src/main/java/com/cohere/api/types/ChatMessageEndEventDelta.java @@ -145,5 +145,15 @@ public Builder usage(Usage usage) { public ChatMessageEndEventDelta build() { return new ChatMessageEndEventDelta(error, finishReason, usage, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatMessageStartEvent.java b/src/main/java/com/cohere/api/types/ChatMessageStartEvent.java index ba03a46..1a7e2fe 100644 --- a/src/main/java/com/cohere/api/types/ChatMessageStartEvent.java +++ b/src/main/java/com/cohere/api/types/ChatMessageStartEvent.java @@ -120,5 +120,15 @@ public Builder delta(ChatMessageStartEventDelta delta) { public ChatMessageStartEvent build() { return new ChatMessageStartEvent(id, delta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatMessageStartEventDelta.java b/src/main/java/com/cohere/api/types/ChatMessageStartEventDelta.java index b9c8784..6e5ebec 100644 --- a/src/main/java/com/cohere/api/types/ChatMessageStartEventDelta.java +++ b/src/main/java/com/cohere/api/types/ChatMessageStartEventDelta.java @@ -92,5 +92,15 @@ public Builder message(ChatMessageStartEventDeltaMessage message) { public ChatMessageStartEventDelta build() { return new ChatMessageStartEventDelta(message, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatMessageStartEventDeltaMessage.java b/src/main/java/com/cohere/api/types/ChatMessageStartEventDeltaMessage.java index 36149b0..dd139d1 100644 --- a/src/main/java/com/cohere/api/types/ChatMessageStartEventDeltaMessage.java +++ b/src/main/java/com/cohere/api/types/ChatMessageStartEventDeltaMessage.java @@ -97,5 +97,15 @@ public Builder role(String role) { public ChatMessageStartEventDeltaMessage build() { return new ChatMessageStartEventDeltaMessage(role, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatSearchQueriesGenerationEvent.java b/src/main/java/com/cohere/api/types/ChatSearchQueriesGenerationEvent.java index 263b2ed..8923c4e 100644 --- a/src/main/java/com/cohere/api/types/ChatSearchQueriesGenerationEvent.java +++ b/src/main/java/com/cohere/api/types/ChatSearchQueriesGenerationEvent.java @@ -109,5 +109,15 @@ public Builder addAllSearchQueries(List searchQueries) { public ChatSearchQueriesGenerationEvent build() { return new ChatSearchQueriesGenerationEvent(searchQueries, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatSearchQuery.java b/src/main/java/com/cohere/api/types/ChatSearchQuery.java index a264cee..4f6c3a9 100644 --- a/src/main/java/com/cohere/api/types/ChatSearchQuery.java +++ b/src/main/java/com/cohere/api/types/ChatSearchQuery.java @@ -94,6 +94,10 @@ public interface GenerationIdStage { public interface _FinalStage { ChatSearchQuery build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -142,5 +146,17 @@ public _FinalStage generationId(@NotNull String generationId) { public ChatSearchQuery build() { return new ChatSearchQuery(text, generationId, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatSearchResult.java b/src/main/java/com/cohere/api/types/ChatSearchResult.java index e162362..5b22974 100644 --- a/src/main/java/com/cohere/api/types/ChatSearchResult.java +++ b/src/main/java/com/cohere/api/types/ChatSearchResult.java @@ -133,6 +133,10 @@ public interface ConnectorStage { public interface _FinalStage { ChatSearchResult build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage searchQuery(Optional searchQuery); _FinalStage searchQuery(ChatSearchQuery searchQuery); @@ -293,5 +297,17 @@ public ChatSearchResult build() { return new ChatSearchResult( searchQuery, connector, documentIds, errorMessage, continueOnFailure, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatSearchResultConnector.java b/src/main/java/com/cohere/api/types/ChatSearchResultConnector.java index 675dc22..c5c5e9f 100644 --- a/src/main/java/com/cohere/api/types/ChatSearchResultConnector.java +++ b/src/main/java/com/cohere/api/types/ChatSearchResultConnector.java @@ -76,6 +76,10 @@ public interface IdStage { public interface _FinalStage { ChatSearchResultConnector build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -109,5 +113,17 @@ public _FinalStage id(@NotNull String id) { public ChatSearchResultConnector build() { return new ChatSearchResultConnector(id, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatSearchResultsEvent.java b/src/main/java/com/cohere/api/types/ChatSearchResultsEvent.java index af1f209..2951a93 100644 --- a/src/main/java/com/cohere/api/types/ChatSearchResultsEvent.java +++ b/src/main/java/com/cohere/api/types/ChatSearchResultsEvent.java @@ -129,5 +129,15 @@ public Builder documents(List> documents) { public ChatSearchResultsEvent build() { return new ChatSearchResultsEvent(searchResults, documents, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatStreamEndEvent.java b/src/main/java/com/cohere/api/types/ChatStreamEndEvent.java index 883c5e6..ce2eea1 100644 --- a/src/main/java/com/cohere/api/types/ChatStreamEndEvent.java +++ b/src/main/java/com/cohere/api/types/ChatStreamEndEvent.java @@ -109,6 +109,10 @@ public interface ResponseStage { public interface _FinalStage { ChatStreamEndEvent build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -169,5 +173,17 @@ public _FinalStage response(@NotNull NonStreamedChatResponse response) { public ChatStreamEndEvent build() { return new ChatStreamEndEvent(finishReason, response, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatStreamEvent.java b/src/main/java/com/cohere/api/types/ChatStreamEvent.java index f03ba54..88d3104 100644 --- a/src/main/java/com/cohere/api/types/ChatStreamEvent.java +++ b/src/main/java/com/cohere/api/types/ChatStreamEvent.java @@ -55,5 +55,15 @@ public Builder from(ChatStreamEvent other) { public ChatStreamEvent build() { return new ChatStreamEvent(additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatStreamEventType.java b/src/main/java/com/cohere/api/types/ChatStreamEventType.java index acb4978..ef4dc82 100644 --- a/src/main/java/com/cohere/api/types/ChatStreamEventType.java +++ b/src/main/java/com/cohere/api/types/ChatStreamEventType.java @@ -55,5 +55,15 @@ public Builder from(ChatStreamEventType other) { public ChatStreamEventType build() { return new ChatStreamEventType(additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatStreamStartEvent.java b/src/main/java/com/cohere/api/types/ChatStreamStartEvent.java index c7741d5..0a4e994 100644 --- a/src/main/java/com/cohere/api/types/ChatStreamStartEvent.java +++ b/src/main/java/com/cohere/api/types/ChatStreamStartEvent.java @@ -76,6 +76,10 @@ public interface GenerationIdStage { public interface _FinalStage { ChatStreamStartEvent build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -109,5 +113,17 @@ public _FinalStage generationId(@NotNull String generationId) { public ChatStreamStartEvent build() { return new ChatStreamStartEvent(generationId, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatTextContent.java b/src/main/java/com/cohere/api/types/ChatTextContent.java index ee56ecf..5cd2fa6 100644 --- a/src/main/java/com/cohere/api/types/ChatTextContent.java +++ b/src/main/java/com/cohere/api/types/ChatTextContent.java @@ -70,6 +70,10 @@ public interface TextStage { public interface _FinalStage { ChatTextContent build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -98,5 +102,17 @@ public _FinalStage text(@NotNull String text) { public ChatTextContent build() { return new ChatTextContent(text, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatTextGenerationEvent.java b/src/main/java/com/cohere/api/types/ChatTextGenerationEvent.java index d7c5ef6..d108389 100644 --- a/src/main/java/com/cohere/api/types/ChatTextGenerationEvent.java +++ b/src/main/java/com/cohere/api/types/ChatTextGenerationEvent.java @@ -76,6 +76,10 @@ public interface TextStage { public interface _FinalStage { ChatTextGenerationEvent build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -109,5 +113,17 @@ public _FinalStage text(@NotNull String text) { public ChatTextGenerationEvent build() { return new ChatTextGenerationEvent(text, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatTextResponseFormat.java b/src/main/java/com/cohere/api/types/ChatTextResponseFormat.java index 6dbcb90..f864368 100644 --- a/src/main/java/com/cohere/api/types/ChatTextResponseFormat.java +++ b/src/main/java/com/cohere/api/types/ChatTextResponseFormat.java @@ -55,5 +55,15 @@ public Builder from(ChatTextResponseFormat other) { public ChatTextResponseFormat build() { return new ChatTextResponseFormat(additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatTextResponseFormatV2.java b/src/main/java/com/cohere/api/types/ChatTextResponseFormatV2.java index efacbf8..ce5a0a4 100644 --- a/src/main/java/com/cohere/api/types/ChatTextResponseFormatV2.java +++ b/src/main/java/com/cohere/api/types/ChatTextResponseFormatV2.java @@ -55,5 +55,15 @@ public Builder from(ChatTextResponseFormatV2 other) { public ChatTextResponseFormatV2 build() { return new ChatTextResponseFormatV2(additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatThinkingContent.java b/src/main/java/com/cohere/api/types/ChatThinkingContent.java index 0021223..b694e0b 100644 --- a/src/main/java/com/cohere/api/types/ChatThinkingContent.java +++ b/src/main/java/com/cohere/api/types/ChatThinkingContent.java @@ -70,6 +70,10 @@ public interface ThinkingStage { public interface _FinalStage { ChatThinkingContent build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -98,5 +102,17 @@ public _FinalStage thinking(@NotNull String thinking) { public ChatThinkingContent build() { return new ChatThinkingContent(thinking, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEvent.java b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEvent.java index 71b5226..71f97c3 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEvent.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEvent.java @@ -116,5 +116,15 @@ public Builder delta(ChatToolCallDeltaEventDelta delta) { public ChatToolCallDeltaEvent build() { return new ChatToolCallDeltaEvent(index, delta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDelta.java b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDelta.java index c12a280..1d66d5b 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDelta.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDelta.java @@ -92,5 +92,15 @@ public Builder message(ChatToolCallDeltaEventDeltaMessage message) { public ChatToolCallDeltaEventDelta build() { return new ChatToolCallDeltaEventDelta(message, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessage.java b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessage.java index e04d27d..496e2d7 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessage.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessage.java @@ -93,5 +93,15 @@ public Builder toolCalls(ChatToolCallDeltaEventDeltaMessageToolCalls toolCalls) public ChatToolCallDeltaEventDeltaMessage build() { return new ChatToolCallDeltaEventDeltaMessage(toolCalls, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessageToolCalls.java b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessageToolCalls.java index 573f9e2..7d828a2 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessageToolCalls.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessageToolCalls.java @@ -94,5 +94,15 @@ public Builder function(ChatToolCallDeltaEventDeltaMessageToolCallsFunction func public ChatToolCallDeltaEventDeltaMessageToolCalls build() { return new ChatToolCallDeltaEventDeltaMessageToolCalls(function, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessageToolCallsFunction.java b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessageToolCallsFunction.java index 97c7446..9d83836 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessageToolCallsFunction.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallDeltaEventDeltaMessageToolCallsFunction.java @@ -93,5 +93,15 @@ public Builder arguments(String arguments) { public ChatToolCallDeltaEventDeltaMessageToolCallsFunction build() { return new ChatToolCallDeltaEventDeltaMessageToolCallsFunction(arguments, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallEndEvent.java b/src/main/java/com/cohere/api/types/ChatToolCallEndEvent.java index b32ca15..d30d1f1 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallEndEvent.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallEndEvent.java @@ -91,5 +91,15 @@ public Builder index(Integer index) { public ChatToolCallEndEvent build() { return new ChatToolCallEndEvent(index, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallStartEvent.java b/src/main/java/com/cohere/api/types/ChatToolCallStartEvent.java index a24b626..0e95d2f 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallStartEvent.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallStartEvent.java @@ -116,5 +116,15 @@ public Builder delta(ChatToolCallStartEventDelta delta) { public ChatToolCallStartEvent build() { return new ChatToolCallStartEvent(index, delta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallStartEventDelta.java b/src/main/java/com/cohere/api/types/ChatToolCallStartEventDelta.java index af40c42..2da86c4 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallStartEventDelta.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallStartEventDelta.java @@ -92,5 +92,15 @@ public Builder message(ChatToolCallStartEventDeltaMessage message) { public ChatToolCallStartEventDelta build() { return new ChatToolCallStartEventDelta(message, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallStartEventDeltaMessage.java b/src/main/java/com/cohere/api/types/ChatToolCallStartEventDeltaMessage.java index fbbdbf3..a41d49f 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallStartEventDeltaMessage.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallStartEventDeltaMessage.java @@ -93,5 +93,15 @@ public Builder toolCalls(ToolCallV2 toolCalls) { public ChatToolCallStartEventDeltaMessage build() { return new ChatToolCallStartEventDeltaMessage(toolCalls, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallsChunkEvent.java b/src/main/java/com/cohere/api/types/ChatToolCallsChunkEvent.java index afa625b..a08f365 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallsChunkEvent.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallsChunkEvent.java @@ -82,6 +82,10 @@ public interface ToolCallDeltaStage { public interface _FinalStage { ChatToolCallsChunkEvent build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage text(Optional text); _FinalStage text(String text); @@ -129,5 +133,17 @@ public _FinalStage text(Optional text) { public ChatToolCallsChunkEvent build() { return new ChatToolCallsChunkEvent(toolCallDelta, text, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolCallsGenerationEvent.java b/src/main/java/com/cohere/api/types/ChatToolCallsGenerationEvent.java index c147064..ceef7d9 100644 --- a/src/main/java/com/cohere/api/types/ChatToolCallsGenerationEvent.java +++ b/src/main/java/com/cohere/api/types/ChatToolCallsGenerationEvent.java @@ -132,5 +132,15 @@ public Builder addAllToolCalls(List toolCalls) { public ChatToolCallsGenerationEvent build() { return new ChatToolCallsGenerationEvent(text, toolCalls, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolMessage.java b/src/main/java/com/cohere/api/types/ChatToolMessage.java index 5f1e75e..6bc8c24 100644 --- a/src/main/java/com/cohere/api/types/ChatToolMessage.java +++ b/src/main/java/com/cohere/api/types/ChatToolMessage.java @@ -92,5 +92,15 @@ public Builder toolResults(List toolResults) { public ChatToolMessage build() { return new ChatToolMessage(toolResults, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEvent.java b/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEvent.java index 2ab25ad..067a99a 100644 --- a/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEvent.java +++ b/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEvent.java @@ -92,5 +92,15 @@ public Builder delta(ChatToolPlanDeltaEventDelta delta) { public ChatToolPlanDeltaEvent build() { return new ChatToolPlanDeltaEvent(delta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEventDelta.java b/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEventDelta.java index d62c644..3cfd299 100644 --- a/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEventDelta.java +++ b/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEventDelta.java @@ -92,5 +92,15 @@ public Builder message(ChatToolPlanDeltaEventDeltaMessage message) { public ChatToolPlanDeltaEventDelta build() { return new ChatToolPlanDeltaEventDelta(message, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEventDeltaMessage.java b/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEventDeltaMessage.java index b657510..603c36d 100644 --- a/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEventDeltaMessage.java +++ b/src/main/java/com/cohere/api/types/ChatToolPlanDeltaEventDeltaMessage.java @@ -92,5 +92,15 @@ public Builder toolPlan(String toolPlan) { public ChatToolPlanDeltaEventDeltaMessage build() { return new ChatToolPlanDeltaEventDeltaMessage(toolPlan, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ChatToolSource.java b/src/main/java/com/cohere/api/types/ChatToolSource.java index d0e0543..9c8a80e 100644 --- a/src/main/java/com/cohere/api/types/ChatToolSource.java +++ b/src/main/java/com/cohere/api/types/ChatToolSource.java @@ -120,5 +120,15 @@ public Builder toolOutput(Map toolOutput) { public ChatToolSource build() { return new ChatToolSource(id, toolOutput, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CheckApiKeyResponse.java b/src/main/java/com/cohere/api/types/CheckApiKeyResponse.java index 5a7fe4a..01cbf66 100644 --- a/src/main/java/com/cohere/api/types/CheckApiKeyResponse.java +++ b/src/main/java/com/cohere/api/types/CheckApiKeyResponse.java @@ -92,6 +92,10 @@ public interface ValidStage { public interface _FinalStage { CheckApiKeyResponse build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage organizationId(Optional organizationId); _FinalStage organizationId(String organizationId); @@ -159,5 +163,17 @@ public _FinalStage organizationId(Optional organizationId) { public CheckApiKeyResponse build() { return new CheckApiKeyResponse(valid, organizationId, ownerId, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Citation.java b/src/main/java/com/cohere/api/types/Citation.java index 1130368..32b4ec1 100644 --- a/src/main/java/com/cohere/api/types/Citation.java +++ b/src/main/java/com/cohere/api/types/Citation.java @@ -238,5 +238,15 @@ public Builder type(CitationType type) { public Citation build() { return new Citation(start, end, text, sources, contentIndex, type, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CitationEndEvent.java b/src/main/java/com/cohere/api/types/CitationEndEvent.java index c7f4537..f378082 100644 --- a/src/main/java/com/cohere/api/types/CitationEndEvent.java +++ b/src/main/java/com/cohere/api/types/CitationEndEvent.java @@ -91,5 +91,15 @@ public Builder index(Integer index) { public CitationEndEvent build() { return new CitationEndEvent(index, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CitationOptions.java b/src/main/java/com/cohere/api/types/CitationOptions.java index dd7153c..1699b9a 100644 --- a/src/main/java/com/cohere/api/types/CitationOptions.java +++ b/src/main/java/com/cohere/api/types/CitationOptions.java @@ -99,5 +99,15 @@ public Builder mode(CitationOptionsMode mode) { public CitationOptions build() { return new CitationOptions(mode, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CitationStartEvent.java b/src/main/java/com/cohere/api/types/CitationStartEvent.java index 80268b2..9ecabe1 100644 --- a/src/main/java/com/cohere/api/types/CitationStartEvent.java +++ b/src/main/java/com/cohere/api/types/CitationStartEvent.java @@ -116,5 +116,15 @@ public Builder delta(CitationStartEventDelta delta) { public CitationStartEvent build() { return new CitationStartEvent(index, delta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CitationStartEventDelta.java b/src/main/java/com/cohere/api/types/CitationStartEventDelta.java index 560d0b9..a6fe381 100644 --- a/src/main/java/com/cohere/api/types/CitationStartEventDelta.java +++ b/src/main/java/com/cohere/api/types/CitationStartEventDelta.java @@ -92,5 +92,15 @@ public Builder message(CitationStartEventDeltaMessage message) { public CitationStartEventDelta build() { return new CitationStartEventDelta(message, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CitationStartEventDeltaMessage.java b/src/main/java/com/cohere/api/types/CitationStartEventDeltaMessage.java index cd0f7dd..912a838 100644 --- a/src/main/java/com/cohere/api/types/CitationStartEventDeltaMessage.java +++ b/src/main/java/com/cohere/api/types/CitationStartEventDeltaMessage.java @@ -91,5 +91,15 @@ public Builder citations(Citation citations) { public CitationStartEventDeltaMessage build() { return new CitationStartEventDeltaMessage(citations, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ClassifyDataMetrics.java b/src/main/java/com/cohere/api/types/ClassifyDataMetrics.java index 2191458..ed92899 100644 --- a/src/main/java/com/cohere/api/types/ClassifyDataMetrics.java +++ b/src/main/java/com/cohere/api/types/ClassifyDataMetrics.java @@ -92,5 +92,15 @@ public Builder labelMetrics(List labelMetrics) { public ClassifyDataMetrics build() { return new ClassifyDataMetrics(labelMetrics, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ClassifyExample.java b/src/main/java/com/cohere/api/types/ClassifyExample.java index 06447b8..8148253 100644 --- a/src/main/java/com/cohere/api/types/ClassifyExample.java +++ b/src/main/java/com/cohere/api/types/ClassifyExample.java @@ -113,5 +113,15 @@ public Builder label(String label) { public ClassifyExample build() { return new ClassifyExample(text, label, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ClassifyResponse.java b/src/main/java/com/cohere/api/types/ClassifyResponse.java index 41a9446..3e7bc7b 100644 --- a/src/main/java/com/cohere/api/types/ClassifyResponse.java +++ b/src/main/java/com/cohere/api/types/ClassifyResponse.java @@ -95,6 +95,10 @@ public interface IdStage { public interface _FinalStage { ClassifyResponse build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage classifications(List classifications); _FinalStage addClassifications(ClassifyResponseClassificationsItem classifications); @@ -175,5 +179,17 @@ public _FinalStage classifications(List cla public ClassifyResponse build() { return new ClassifyResponse(id, classifications, meta, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ClassifyResponseClassificationsItem.java b/src/main/java/com/cohere/api/types/ClassifyResponseClassificationsItem.java index ae9ebb3..c871227 100644 --- a/src/main/java/com/cohere/api/types/ClassifyResponseClassificationsItem.java +++ b/src/main/java/com/cohere/api/types/ClassifyResponseClassificationsItem.java @@ -186,6 +186,10 @@ _FinalStage classificationType( public interface _FinalStage { ClassifyResponseClassificationsItem build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The input text that was classified

*/ @@ -469,5 +473,17 @@ public ClassifyResponseClassificationsItem build() { classificationType, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ClassifyResponseClassificationsItemLabelsValue.java b/src/main/java/com/cohere/api/types/ClassifyResponseClassificationsItemLabelsValue.java index 79cbb7e..0aeb130 100644 --- a/src/main/java/com/cohere/api/types/ClassifyResponseClassificationsItemLabelsValue.java +++ b/src/main/java/com/cohere/api/types/ClassifyResponseClassificationsItemLabelsValue.java @@ -93,5 +93,15 @@ public Builder confidence(Float confidence) { public ClassifyResponseClassificationsItemLabelsValue build() { return new ClassifyResponseClassificationsItemLabelsValue(confidence, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Connector.java b/src/main/java/com/cohere/api/types/Connector.java index d230735..d16abd4 100644 --- a/src/main/java/com/cohere/api/types/Connector.java +++ b/src/main/java/com/cohere/api/types/Connector.java @@ -276,6 +276,10 @@ public interface UpdatedAtStage { public interface _FinalStage { Connector build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The organization to which this connector belongs. This is automatically set to * the organization of the user who created the connector.

@@ -642,5 +646,17 @@ public Connector build() { continueOnFailure, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ConnectorOAuth.java b/src/main/java/com/cohere/api/types/ConnectorOAuth.java index 7f64f47..e08c905 100644 --- a/src/main/java/com/cohere/api/types/ConnectorOAuth.java +++ b/src/main/java/com/cohere/api/types/ConnectorOAuth.java @@ -140,6 +140,10 @@ public interface TokenUrlStage { public interface _FinalStage { ConnectorOAuth build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The OAuth 2.0 client ID. This field is encrypted at rest.

*/ @@ -277,5 +281,17 @@ public _FinalStage clientId(Optional clientId) { public ConnectorOAuth build() { return new ConnectorOAuth(clientId, clientSecret, authorizeUrl, tokenUrl, scope, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CreateConnectorOAuth.java b/src/main/java/com/cohere/api/types/CreateConnectorOAuth.java index 35ff4bb..336c211 100644 --- a/src/main/java/com/cohere/api/types/CreateConnectorOAuth.java +++ b/src/main/java/com/cohere/api/types/CreateConnectorOAuth.java @@ -220,5 +220,15 @@ public CreateConnectorOAuth build() { return new CreateConnectorOAuth( clientId, clientSecret, authorizeUrl, tokenUrl, scope, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CreateConnectorResponse.java b/src/main/java/com/cohere/api/types/CreateConnectorResponse.java index bf5761f..a3fd530 100644 --- a/src/main/java/com/cohere/api/types/CreateConnectorResponse.java +++ b/src/main/java/com/cohere/api/types/CreateConnectorResponse.java @@ -70,6 +70,10 @@ public interface ConnectorStage { public interface _FinalStage { CreateConnectorResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -98,5 +102,17 @@ public _FinalStage connector(@NotNull Connector connector) { public CreateConnectorResponse build() { return new CreateConnectorResponse(connector, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CreateConnectorServiceAuth.java b/src/main/java/com/cohere/api/types/CreateConnectorServiceAuth.java index 7a08882..4ba9163 100644 --- a/src/main/java/com/cohere/api/types/CreateConnectorServiceAuth.java +++ b/src/main/java/com/cohere/api/types/CreateConnectorServiceAuth.java @@ -88,6 +88,10 @@ public interface TokenStage { public interface _FinalStage { CreateConnectorServiceAuth build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -131,5 +135,17 @@ public _FinalStage token(@NotNull String token) { public CreateConnectorServiceAuth build() { return new CreateConnectorServiceAuth(type, token, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/CreateEmbedJobResponse.java b/src/main/java/com/cohere/api/types/CreateEmbedJobResponse.java index 2feec31..5a4cd5d 100644 --- a/src/main/java/com/cohere/api/types/CreateEmbedJobResponse.java +++ b/src/main/java/com/cohere/api/types/CreateEmbedJobResponse.java @@ -81,6 +81,10 @@ public interface JobIdStage { public interface _FinalStage { CreateEmbedJobResponse build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage meta(Optional meta); _FinalStage meta(ApiMeta meta); @@ -128,5 +132,17 @@ public _FinalStage meta(Optional meta) { public CreateEmbedJobResponse build() { return new CreateEmbedJobResponse(jobId, meta, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Dataset.java b/src/main/java/com/cohere/api/types/Dataset.java index 4a166d2..23e356a 100644 --- a/src/main/java/com/cohere/api/types/Dataset.java +++ b/src/main/java/com/cohere/api/types/Dataset.java @@ -255,6 +255,10 @@ public interface ValidationStatusStage { public interface _FinalStage { Dataset build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Errors found during validation

*/ @@ -532,5 +536,17 @@ public Dataset build() { validationWarnings, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/DatasetPart.java b/src/main/java/com/cohere/api/types/DatasetPart.java index fa05ba5..94909a1 100644 --- a/src/main/java/com/cohere/api/types/DatasetPart.java +++ b/src/main/java/com/cohere/api/types/DatasetPart.java @@ -181,6 +181,10 @@ public interface NameStage { public interface _FinalStage { DatasetPart build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The download url of the file

*/ @@ -409,5 +413,17 @@ public DatasetPart build() { return new DatasetPart( id, name, url, index, sizeBytes, numRows, originalUrl, samples, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/DetokenizeResponse.java b/src/main/java/com/cohere/api/types/DetokenizeResponse.java index 3bb0fd9..bf703eb 100644 --- a/src/main/java/com/cohere/api/types/DetokenizeResponse.java +++ b/src/main/java/com/cohere/api/types/DetokenizeResponse.java @@ -87,6 +87,10 @@ public interface TextStage { public interface _FinalStage { DetokenizeResponse build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage meta(Optional meta); _FinalStage meta(ApiMeta meta); @@ -139,5 +143,17 @@ public _FinalStage meta(Optional meta) { public DetokenizeResponse build() { return new DetokenizeResponse(text, meta, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Document.java b/src/main/java/com/cohere/api/types/Document.java index 9e1367a..41cf53c 100644 --- a/src/main/java/com/cohere/api/types/Document.java +++ b/src/main/java/com/cohere/api/types/Document.java @@ -136,5 +136,15 @@ public Builder id(String id) { public Document build() { return new Document(data, id, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/DocumentContent.java b/src/main/java/com/cohere/api/types/DocumentContent.java index f4d9c9b..52a8bcc 100644 --- a/src/main/java/com/cohere/api/types/DocumentContent.java +++ b/src/main/java/com/cohere/api/types/DocumentContent.java @@ -70,6 +70,10 @@ public interface DocumentStage { public interface _FinalStage { DocumentContent build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -98,5 +102,17 @@ public _FinalStage document(@NotNull Document document) { public DocumentContent build() { return new DocumentContent(document, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/EmbedByTypeResponse.java b/src/main/java/com/cohere/api/types/EmbedByTypeResponse.java index 9103d2b..38032d1 100644 --- a/src/main/java/com/cohere/api/types/EmbedByTypeResponse.java +++ b/src/main/java/com/cohere/api/types/EmbedByTypeResponse.java @@ -142,6 +142,10 @@ public interface EmbeddingsStage { public interface _FinalStage { EmbedByTypeResponse build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage responseType(Optional responseType); _FinalStage responseType(EmbedByTypeResponseResponseType responseType); @@ -284,5 +288,17 @@ public _FinalStage responseType(Optional respon public EmbedByTypeResponse build() { return new EmbedByTypeResponse(responseType, id, embeddings, texts, images, meta, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/EmbedByTypeResponseEmbeddings.java b/src/main/java/com/cohere/api/types/EmbedByTypeResponseEmbeddings.java index 4b05a29..3dc2edf 100644 --- a/src/main/java/com/cohere/api/types/EmbedByTypeResponseEmbeddings.java +++ b/src/main/java/com/cohere/api/types/EmbedByTypeResponseEmbeddings.java @@ -251,5 +251,15 @@ public EmbedByTypeResponseEmbeddings build() { return new EmbedByTypeResponseEmbeddings( float_, int8, uint8, binary, ubinary, base64, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/EmbedFloatsResponse.java b/src/main/java/com/cohere/api/types/EmbedFloatsResponse.java index 01e2042..2aeb404 100644 --- a/src/main/java/com/cohere/api/types/EmbedFloatsResponse.java +++ b/src/main/java/com/cohere/api/types/EmbedFloatsResponse.java @@ -126,6 +126,10 @@ public interface IdStage { public interface _FinalStage { EmbedFloatsResponse build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

An array of embeddings, where each embedding is an array of floats. The length of the embeddings array will be the same as the length of the original texts array.

*/ @@ -297,5 +301,17 @@ public _FinalStage embeddings(List> embeddings) { public EmbedFloatsResponse build() { return new EmbedFloatsResponse(id, embeddings, texts, images, meta, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/EmbedImage.java b/src/main/java/com/cohere/api/types/EmbedImage.java index 3af567d..be891af 100644 --- a/src/main/java/com/cohere/api/types/EmbedImage.java +++ b/src/main/java/com/cohere/api/types/EmbedImage.java @@ -91,5 +91,15 @@ public Builder imageUrl(EmbedImageUrl imageUrl) { public EmbedImage build() { return new EmbedImage(imageUrl, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/EmbedImageUrl.java b/src/main/java/com/cohere/api/types/EmbedImageUrl.java index 983ec91..58f5da2 100644 --- a/src/main/java/com/cohere/api/types/EmbedImageUrl.java +++ b/src/main/java/com/cohere/api/types/EmbedImageUrl.java @@ -70,6 +70,10 @@ public interface UrlStage { public interface _FinalStage { EmbedImageUrl build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -98,5 +102,17 @@ public _FinalStage url(@NotNull String url) { public EmbedImageUrl build() { return new EmbedImageUrl(url, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/EmbedInput.java b/src/main/java/com/cohere/api/types/EmbedInput.java index b41d426..c584ddc 100644 --- a/src/main/java/com/cohere/api/types/EmbedInput.java +++ b/src/main/java/com/cohere/api/types/EmbedInput.java @@ -108,5 +108,15 @@ public Builder addAllContent(List content) { public EmbedInput build() { return new EmbedInput(content, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/EmbedJob.java b/src/main/java/com/cohere/api/types/EmbedJob.java index 27ff84a..5a0aca5 100644 --- a/src/main/java/com/cohere/api/types/EmbedJob.java +++ b/src/main/java/com/cohere/api/types/EmbedJob.java @@ -227,6 +227,10 @@ public interface TruncateStage { public interface _FinalStage { EmbedJob build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The name of the embed job

*/ @@ -431,5 +435,17 @@ public EmbedJob build() { meta, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/EmbedText.java b/src/main/java/com/cohere/api/types/EmbedText.java index 4465be0..5c6ede7 100644 --- a/src/main/java/com/cohere/api/types/EmbedText.java +++ b/src/main/java/com/cohere/api/types/EmbedText.java @@ -91,5 +91,15 @@ public Builder text(String text) { public EmbedText build() { return new EmbedText(text, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/FinetuneDatasetMetrics.java b/src/main/java/com/cohere/api/types/FinetuneDatasetMetrics.java index 0925d1c..0c6cece 100644 --- a/src/main/java/com/cohere/api/types/FinetuneDatasetMetrics.java +++ b/src/main/java/com/cohere/api/types/FinetuneDatasetMetrics.java @@ -262,5 +262,15 @@ public FinetuneDatasetMetrics build() { evalSizeBytes, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/GenerateStreamEnd.java b/src/main/java/com/cohere/api/types/GenerateStreamEnd.java index 10a7ee3..f4764c0 100644 --- a/src/main/java/com/cohere/api/types/GenerateStreamEnd.java +++ b/src/main/java/com/cohere/api/types/GenerateStreamEnd.java @@ -99,6 +99,10 @@ public interface ResponseStage { public interface _FinalStage { GenerateStreamEnd build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage finishReason(Optional finishReason); _FinalStage finishReason(FinishReason finishReason); @@ -156,5 +160,17 @@ public _FinalStage finishReason(Optional finishReason) { public GenerateStreamEnd build() { return new GenerateStreamEnd(isFinished, finishReason, response, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/GenerateStreamEndResponse.java b/src/main/java/com/cohere/api/types/GenerateStreamEndResponse.java index 6fa6bf7..ea4194f 100644 --- a/src/main/java/com/cohere/api/types/GenerateStreamEndResponse.java +++ b/src/main/java/com/cohere/api/types/GenerateStreamEndResponse.java @@ -94,6 +94,10 @@ public interface IdStage { public interface _FinalStage { GenerateStreamEndResponse build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage prompt(Optional prompt); _FinalStage prompt(String prompt); @@ -161,5 +165,17 @@ public _FinalStage prompt(Optional prompt) { public GenerateStreamEndResponse build() { return new GenerateStreamEndResponse(id, prompt, generations, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/GenerateStreamError.java b/src/main/java/com/cohere/api/types/GenerateStreamError.java index 678e4e9..c0fc7eb 100644 --- a/src/main/java/com/cohere/api/types/GenerateStreamError.java +++ b/src/main/java/com/cohere/api/types/GenerateStreamError.java @@ -122,6 +122,10 @@ public interface ErrStage { public interface _FinalStage { GenerateStreamError build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Refers to the nth generation. Only present when num_generations is greater than zero.

*/ @@ -204,5 +208,17 @@ public _FinalStage index(Optional index) { public GenerateStreamError build() { return new GenerateStreamError(index, isFinished, finishReason, err, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/GenerateStreamEvent.java b/src/main/java/com/cohere/api/types/GenerateStreamEvent.java index f61360b..e600dcd 100644 --- a/src/main/java/com/cohere/api/types/GenerateStreamEvent.java +++ b/src/main/java/com/cohere/api/types/GenerateStreamEvent.java @@ -55,5 +55,15 @@ public Builder from(GenerateStreamEvent other) { public GenerateStreamEvent build() { return new GenerateStreamEvent(additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/GenerateStreamText.java b/src/main/java/com/cohere/api/types/GenerateStreamText.java index 575033e..70a0d61 100644 --- a/src/main/java/com/cohere/api/types/GenerateStreamText.java +++ b/src/main/java/com/cohere/api/types/GenerateStreamText.java @@ -103,6 +103,10 @@ public interface IsFinishedStage { public interface _FinalStage { GenerateStreamText build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Refers to the nth generation. Only present when num_generations is greater than zero, and only when text responses are being streamed.

*/ @@ -175,5 +179,17 @@ public _FinalStage index(Optional index) { public GenerateStreamText build() { return new GenerateStreamText(text, index, isFinished, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Generation.java b/src/main/java/com/cohere/api/types/Generation.java index 31799f7..e3b3335 100644 --- a/src/main/java/com/cohere/api/types/Generation.java +++ b/src/main/java/com/cohere/api/types/Generation.java @@ -113,6 +113,10 @@ public interface IdStage { public interface _FinalStage { Generation build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Prompt used for generations.

*/ @@ -237,5 +241,17 @@ public _FinalStage prompt(Optional prompt) { public Generation build() { return new Generation(id, prompt, generations, meta, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/GetConnectorResponse.java b/src/main/java/com/cohere/api/types/GetConnectorResponse.java index cfcc191..efb572d 100644 --- a/src/main/java/com/cohere/api/types/GetConnectorResponse.java +++ b/src/main/java/com/cohere/api/types/GetConnectorResponse.java @@ -70,6 +70,10 @@ public interface ConnectorStage { public interface _FinalStage { GetConnectorResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -98,5 +102,17 @@ public _FinalStage connector(@NotNull Connector connector) { public GetConnectorResponse build() { return new GetConnectorResponse(connector, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/GetModelResponse.java b/src/main/java/com/cohere/api/types/GetModelResponse.java index da79af7..aa13111 100644 --- a/src/main/java/com/cohere/api/types/GetModelResponse.java +++ b/src/main/java/com/cohere/api/types/GetModelResponse.java @@ -327,5 +327,15 @@ public GetModelResponse build() { features, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Image.java b/src/main/java/com/cohere/api/types/Image.java index c39d7bb..0890513 100644 --- a/src/main/java/com/cohere/api/types/Image.java +++ b/src/main/java/com/cohere/api/types/Image.java @@ -133,6 +133,10 @@ public interface BitDepthStage { public interface _FinalStage { Image build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -211,5 +215,17 @@ public _FinalStage bitDepth(long bitDepth) { public Image build() { return new Image(width, height, format, bitDepth, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ImageContent.java b/src/main/java/com/cohere/api/types/ImageContent.java index 3fc3c11..278381f 100644 --- a/src/main/java/com/cohere/api/types/ImageContent.java +++ b/src/main/java/com/cohere/api/types/ImageContent.java @@ -70,6 +70,10 @@ public interface ImageUrlStage { public interface _FinalStage { ImageContent build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -98,5 +102,17 @@ public _FinalStage imageUrl(@NotNull ImageUrl imageUrl) { public ImageContent build() { return new ImageContent(imageUrl, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ImageUrl.java b/src/main/java/com/cohere/api/types/ImageUrl.java index 0526537..0c715bc 100644 --- a/src/main/java/com/cohere/api/types/ImageUrl.java +++ b/src/main/java/com/cohere/api/types/ImageUrl.java @@ -90,6 +90,10 @@ public interface UrlStage { public interface _FinalStage { ImageUrl build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Controls the level of detail in image processing. "auto" is the default and lets the system choose, "low" is faster but less detailed, and "high" preserves maximum detail. You can save tokens and speed up responses by using detail: "low".

*/ @@ -152,5 +156,17 @@ public _FinalStage detail(Optional detail) { public ImageUrl build() { return new ImageUrl(url, detail, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/JsonResponseFormat.java b/src/main/java/com/cohere/api/types/JsonResponseFormat.java index 4eb8712..b519862 100644 --- a/src/main/java/com/cohere/api/types/JsonResponseFormat.java +++ b/src/main/java/com/cohere/api/types/JsonResponseFormat.java @@ -119,5 +119,15 @@ public Builder schema(Map schema) { public JsonResponseFormat build() { return new JsonResponseFormat(schema, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/JsonResponseFormatV2.java b/src/main/java/com/cohere/api/types/JsonResponseFormatV2.java index 11d702c..ec67310 100644 --- a/src/main/java/com/cohere/api/types/JsonResponseFormatV2.java +++ b/src/main/java/com/cohere/api/types/JsonResponseFormatV2.java @@ -119,5 +119,15 @@ public Builder jsonSchema(Map jsonSchema) { public JsonResponseFormatV2 build() { return new JsonResponseFormatV2(jsonSchema, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/LabelMetric.java b/src/main/java/com/cohere/api/types/LabelMetric.java index 1806ac5..4d0af03 100644 --- a/src/main/java/com/cohere/api/types/LabelMetric.java +++ b/src/main/java/com/cohere/api/types/LabelMetric.java @@ -158,5 +158,15 @@ public Builder samples(List samples) { public LabelMetric build() { return new LabelMetric(totalExamples, label, samples, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ListConnectorsResponse.java b/src/main/java/com/cohere/api/types/ListConnectorsResponse.java index c84e990..508e4a6 100644 --- a/src/main/java/com/cohere/api/types/ListConnectorsResponse.java +++ b/src/main/java/com/cohere/api/types/ListConnectorsResponse.java @@ -132,5 +132,15 @@ public Builder totalCount(Double totalCount) { public ListConnectorsResponse build() { return new ListConnectorsResponse(connectors, totalCount, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ListEmbedJobResponse.java b/src/main/java/com/cohere/api/types/ListEmbedJobResponse.java index 6b1569b..90e5eeb 100644 --- a/src/main/java/com/cohere/api/types/ListEmbedJobResponse.java +++ b/src/main/java/com/cohere/api/types/ListEmbedJobResponse.java @@ -92,5 +92,15 @@ public Builder embedJobs(List embedJobs) { public ListEmbedJobResponse build() { return new ListEmbedJobResponse(embedJobs, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ListModelsResponse.java b/src/main/java/com/cohere/api/types/ListModelsResponse.java index c3f70f9..a5bbd35 100644 --- a/src/main/java/com/cohere/api/types/ListModelsResponse.java +++ b/src/main/java/com/cohere/api/types/ListModelsResponse.java @@ -132,5 +132,15 @@ public Builder nextPageToken(String nextPageToken) { public ListModelsResponse build() { return new ListModelsResponse(models, nextPageToken, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/LogprobItem.java b/src/main/java/com/cohere/api/types/LogprobItem.java index c69f863..eb7edc3 100644 --- a/src/main/java/com/cohere/api/types/LogprobItem.java +++ b/src/main/java/com/cohere/api/types/LogprobItem.java @@ -169,5 +169,15 @@ public Builder logprobs(List logprobs) { public LogprobItem build() { return new LogprobItem(text, tokenIds, logprobs, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Metrics.java b/src/main/java/com/cohere/api/types/Metrics.java index 1cf28bc..3014f08 100644 --- a/src/main/java/com/cohere/api/types/Metrics.java +++ b/src/main/java/com/cohere/api/types/Metrics.java @@ -91,5 +91,15 @@ public Builder finetuneDatasetMetrics(FinetuneDatasetMetrics finetuneDatasetMetr public Metrics build() { return new Metrics(finetuneDatasetMetrics, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/NonStreamedChatResponse.java b/src/main/java/com/cohere/api/types/NonStreamedChatResponse.java index 521e4c3..eb86548 100644 --- a/src/main/java/com/cohere/api/types/NonStreamedChatResponse.java +++ b/src/main/java/com/cohere/api/types/NonStreamedChatResponse.java @@ -228,6 +228,10 @@ public interface TextStage { public interface _FinalStage { NonStreamedChatResponse build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Unique identifier for the generated reply. Useful for submitting feedback.

*/ @@ -573,5 +577,17 @@ public NonStreamedChatResponse build() { meta, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/OAuthAuthorizeResponse.java b/src/main/java/com/cohere/api/types/OAuthAuthorizeResponse.java index be5cd8b..a6c6cbd 100644 --- a/src/main/java/com/cohere/api/types/OAuthAuthorizeResponse.java +++ b/src/main/java/com/cohere/api/types/OAuthAuthorizeResponse.java @@ -97,5 +97,15 @@ public Builder redirectUrl(String redirectUrl) { public OAuthAuthorizeResponse build() { return new OAuthAuthorizeResponse(redirectUrl, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ParseInfo.java b/src/main/java/com/cohere/api/types/ParseInfo.java index 70cd5ad..c9f1738 100644 --- a/src/main/java/com/cohere/api/types/ParseInfo.java +++ b/src/main/java/com/cohere/api/types/ParseInfo.java @@ -114,5 +114,15 @@ public Builder delimiter(String delimiter) { public ParseInfo build() { return new ParseInfo(separator, delimiter, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/RerankResponse.java b/src/main/java/com/cohere/api/types/RerankResponse.java index b36f676..647db3b 100644 --- a/src/main/java/com/cohere/api/types/RerankResponse.java +++ b/src/main/java/com/cohere/api/types/RerankResponse.java @@ -157,5 +157,15 @@ public Builder meta(ApiMeta meta) { public RerankResponse build() { return new RerankResponse(id, results, meta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/RerankResponseResultsItem.java b/src/main/java/com/cohere/api/types/RerankResponseResultsItem.java index 128fcff..e6d7445 100644 --- a/src/main/java/com/cohere/api/types/RerankResponseResultsItem.java +++ b/src/main/java/com/cohere/api/types/RerankResponseResultsItem.java @@ -111,6 +111,10 @@ public interface RelevanceScoreStage { public interface _FinalStage { RerankResponseResultsItem build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

If return_documents is set as false this will return none, if true it will return the documents passed in

*/ @@ -188,5 +192,17 @@ public _FinalStage document(Optional document public RerankResponseResultsItem build() { return new RerankResponseResultsItem(document, index, relevanceScore, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/RerankResponseResultsItemDocument.java b/src/main/java/com/cohere/api/types/RerankResponseResultsItemDocument.java index 6e2387c..bf39abb 100644 --- a/src/main/java/com/cohere/api/types/RerankResponseResultsItemDocument.java +++ b/src/main/java/com/cohere/api/types/RerankResponseResultsItemDocument.java @@ -76,6 +76,10 @@ public interface TextStage { public interface _FinalStage { RerankResponseResultsItemDocument build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -109,5 +113,17 @@ public _FinalStage text(@NotNull String text) { public RerankResponseResultsItemDocument build() { return new RerankResponseResultsItemDocument(text, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/RerankerDataMetrics.java b/src/main/java/com/cohere/api/types/RerankerDataMetrics.java index 833f743..f4133b3 100644 --- a/src/main/java/com/cohere/api/types/RerankerDataMetrics.java +++ b/src/main/java/com/cohere/api/types/RerankerDataMetrics.java @@ -262,5 +262,15 @@ public RerankerDataMetrics build() { numEvalHardNegatives, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/SingleGeneration.java b/src/main/java/com/cohere/api/types/SingleGeneration.java index 48614a0..70fcc42 100644 --- a/src/main/java/com/cohere/api/types/SingleGeneration.java +++ b/src/main/java/com/cohere/api/types/SingleGeneration.java @@ -126,6 +126,10 @@ public interface TextStage { public interface _FinalStage { SingleGeneration build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Refers to the nth generation. Only present when num_generations is greater than zero.

*/ @@ -243,5 +247,17 @@ public _FinalStage index(Optional index) { public SingleGeneration build() { return new SingleGeneration(id, text, index, likelihood, tokenLikelihoods, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/SingleGenerationInStream.java b/src/main/java/com/cohere/api/types/SingleGenerationInStream.java index b4ff6a2..96cbbff 100644 --- a/src/main/java/com/cohere/api/types/SingleGenerationInStream.java +++ b/src/main/java/com/cohere/api/types/SingleGenerationInStream.java @@ -122,6 +122,10 @@ public interface FinishReasonStage { public interface _FinalStage { SingleGenerationInStream build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

Refers to the nth generation. Only present when num_generations is greater than zero.

*/ @@ -204,5 +208,17 @@ public _FinalStage index(Optional index) { public SingleGenerationInStream build() { return new SingleGenerationInStream(id, text, index, finishReason, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/SingleGenerationTokenLikelihoodsItem.java b/src/main/java/com/cohere/api/types/SingleGenerationTokenLikelihoodsItem.java index 41b9879..b1a186a 100644 --- a/src/main/java/com/cohere/api/types/SingleGenerationTokenLikelihoodsItem.java +++ b/src/main/java/com/cohere/api/types/SingleGenerationTokenLikelihoodsItem.java @@ -84,6 +84,10 @@ public interface LikelihoodStage { public interface _FinalStage { SingleGenerationTokenLikelihoodsItem build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -122,5 +126,17 @@ public _FinalStage likelihood(double likelihood) { public SingleGenerationTokenLikelihoodsItem build() { return new SingleGenerationTokenLikelihoodsItem(token, likelihood, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/SummarizeResponse.java b/src/main/java/com/cohere/api/types/SummarizeResponse.java index 6a20f22..829cec1 100644 --- a/src/main/java/com/cohere/api/types/SummarizeResponse.java +++ b/src/main/java/com/cohere/api/types/SummarizeResponse.java @@ -151,5 +151,15 @@ public Builder meta(ApiMeta meta) { public SummarizeResponse build() { return new SummarizeResponse(id, summary, meta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/SystemMessageV2.java b/src/main/java/com/cohere/api/types/SystemMessageV2.java index dc533a9..9504606 100644 --- a/src/main/java/com/cohere/api/types/SystemMessageV2.java +++ b/src/main/java/com/cohere/api/types/SystemMessageV2.java @@ -70,6 +70,10 @@ public interface ContentStage { public interface _FinalStage { SystemMessageV2 build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -98,5 +102,17 @@ public _FinalStage content(@NotNull SystemMessageV2Content content) { public SystemMessageV2 build() { return new SystemMessageV2(content, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Thinking.java b/src/main/java/com/cohere/api/types/Thinking.java index 476f757..34c6839 100644 --- a/src/main/java/com/cohere/api/types/Thinking.java +++ b/src/main/java/com/cohere/api/types/Thinking.java @@ -91,6 +91,10 @@ public interface TypeStage { public interface _FinalStage { Thinking build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The maximum number of tokens the model can use for thinking, which must be set to a positive integer. * The model will stop thinking if it reaches the thinking token budget and will proceed with the response.

@@ -156,5 +160,17 @@ public _FinalStage tokenBudget(Optional tokenBudget) { public Thinking build() { return new Thinking(type, tokenBudget, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/TokenizeResponse.java b/src/main/java/com/cohere/api/types/TokenizeResponse.java index 07a2505..efe8856 100644 --- a/src/main/java/com/cohere/api/types/TokenizeResponse.java +++ b/src/main/java/com/cohere/api/types/TokenizeResponse.java @@ -167,5 +167,15 @@ public Builder meta(ApiMeta meta) { public TokenizeResponse build() { return new TokenizeResponse(tokens, tokenStrings, meta, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Tool.java b/src/main/java/com/cohere/api/types/Tool.java index 80c03fa..0870c9b 100644 --- a/src/main/java/com/cohere/api/types/Tool.java +++ b/src/main/java/com/cohere/api/types/Tool.java @@ -122,6 +122,10 @@ public interface DescriptionStage { public interface _FinalStage { Tool build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The input parameters of the tool. Accepts a dictionary where the key is the name of the parameter and the value is the parameter spec. Valid parameter names contain only the characters a-z, A-Z, 0-9, _ and must not begin with a digit.

*
{
@@ -224,5 +228,17 @@ public _FinalStage parameterDefinitions(
         public Tool build() {
             return new Tool(name, description, parameterDefinitions, additionalProperties);
         }
+
+        @java.lang.Override
+        public Builder additionalProperty(String key, Object value) {
+            this.additionalProperties.put(key, value);
+            return this;
+        }
+
+        @java.lang.Override
+        public Builder additionalProperties(Map additionalProperties) {
+            this.additionalProperties.putAll(additionalProperties);
+            return this;
+        }
     }
 }
diff --git a/src/main/java/com/cohere/api/types/ToolCall.java b/src/main/java/com/cohere/api/types/ToolCall.java
index f8a08d8..86b5923 100644
--- a/src/main/java/com/cohere/api/types/ToolCall.java
+++ b/src/main/java/com/cohere/api/types/ToolCall.java
@@ -90,6 +90,10 @@ public interface NameStage {
     public interface _FinalStage {
         ToolCall build();
 
+        _FinalStage additionalProperty(String key, Object value);
+
+        _FinalStage additionalProperties(Map additionalProperties);
+
         /**
          * 

The name and value of the parameters to use when invoking a tool.

*/ @@ -169,5 +173,17 @@ public _FinalStage parameters(Map parameters) { public ToolCall build() { return new ToolCall(name, parameters, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ToolCallDelta.java b/src/main/java/com/cohere/api/types/ToolCallDelta.java index b31588d..216374c 100644 --- a/src/main/java/com/cohere/api/types/ToolCallDelta.java +++ b/src/main/java/com/cohere/api/types/ToolCallDelta.java @@ -189,5 +189,15 @@ public Builder text(String text) { public ToolCallDelta build() { return new ToolCallDelta(name, index, parameters, text, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ToolCallV2.java b/src/main/java/com/cohere/api/types/ToolCallV2.java index 9181ce9..c7286f6 100644 --- a/src/main/java/com/cohere/api/types/ToolCallV2.java +++ b/src/main/java/com/cohere/api/types/ToolCallV2.java @@ -86,6 +86,10 @@ public interface IdStage { public interface _FinalStage { ToolCallV2 build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage function(Optional function); _FinalStage function(ToolCallV2Function function); @@ -133,5 +137,17 @@ public _FinalStage function(Optional function) { public ToolCallV2 build() { return new ToolCallV2(id, function, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ToolCallV2Function.java b/src/main/java/com/cohere/api/types/ToolCallV2Function.java index 59a4288..9fd4555 100644 --- a/src/main/java/com/cohere/api/types/ToolCallV2Function.java +++ b/src/main/java/com/cohere/api/types/ToolCallV2Function.java @@ -114,5 +114,15 @@ public Builder arguments(String arguments) { public ToolCallV2Function build() { return new ToolCallV2Function(name, arguments, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ToolMessageV2.java b/src/main/java/com/cohere/api/types/ToolMessageV2.java index c1ccff6..1804354 100644 --- a/src/main/java/com/cohere/api/types/ToolMessageV2.java +++ b/src/main/java/com/cohere/api/types/ToolMessageV2.java @@ -94,6 +94,10 @@ public interface ContentStage { public interface _FinalStage { ToolMessageV2 build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -142,5 +146,17 @@ public _FinalStage content(@NotNull ToolMessageV2Content content) { public ToolMessageV2 build() { return new ToolMessageV2(toolCallId, content, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ToolParameterDefinitionsValue.java b/src/main/java/com/cohere/api/types/ToolParameterDefinitionsValue.java index 502079b..ee8b8c0 100644 --- a/src/main/java/com/cohere/api/types/ToolParameterDefinitionsValue.java +++ b/src/main/java/com/cohere/api/types/ToolParameterDefinitionsValue.java @@ -105,6 +105,10 @@ public interface TypeStage { public interface _FinalStage { ToolParameterDefinitionsValue build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The description of the parameter.

*/ @@ -197,5 +201,17 @@ public _FinalStage description(Optional description) { public ToolParameterDefinitionsValue build() { return new ToolParameterDefinitionsValue(description, type, required, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ToolResult.java b/src/main/java/com/cohere/api/types/ToolResult.java index 5385b67..48db747 100644 --- a/src/main/java/com/cohere/api/types/ToolResult.java +++ b/src/main/java/com/cohere/api/types/ToolResult.java @@ -82,6 +82,10 @@ public interface CallStage { public interface _FinalStage { ToolResult build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + _FinalStage outputs(List> outputs); _FinalStage addOutputs(Map outputs); @@ -142,5 +146,17 @@ public _FinalStage outputs(List> outputs) { public ToolResult build() { return new ToolResult(call, outputs, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ToolV2.java b/src/main/java/com/cohere/api/types/ToolV2.java index e3b09dd..67349e1 100644 --- a/src/main/java/com/cohere/api/types/ToolV2.java +++ b/src/main/java/com/cohere/api/types/ToolV2.java @@ -102,5 +102,15 @@ public Builder function(ToolV2Function function) { public ToolV2 build() { return new ToolV2(function, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/ToolV2Function.java b/src/main/java/com/cohere/api/types/ToolV2Function.java index 16b14a1..b7351dd 100644 --- a/src/main/java/com/cohere/api/types/ToolV2Function.java +++ b/src/main/java/com/cohere/api/types/ToolV2Function.java @@ -106,6 +106,10 @@ public interface NameStage { public interface _FinalStage { ToolV2Function build(); + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + /** *

The description of the function.

*/ @@ -215,5 +219,17 @@ public _FinalStage description(Optional description) { public ToolV2Function build() { return new ToolV2Function(name, description, parameters, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/UpdateConnectorResponse.java b/src/main/java/com/cohere/api/types/UpdateConnectorResponse.java index e26b211..b3866bb 100644 --- a/src/main/java/com/cohere/api/types/UpdateConnectorResponse.java +++ b/src/main/java/com/cohere/api/types/UpdateConnectorResponse.java @@ -70,6 +70,10 @@ public interface ConnectorStage { public interface _FinalStage { UpdateConnectorResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -98,5 +102,17 @@ public _FinalStage connector(@NotNull Connector connector) { public UpdateConnectorResponse build() { return new UpdateConnectorResponse(connector, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/Usage.java b/src/main/java/com/cohere/api/types/Usage.java index ab9464e..3fe9286 100644 --- a/src/main/java/com/cohere/api/types/Usage.java +++ b/src/main/java/com/cohere/api/types/Usage.java @@ -147,5 +147,15 @@ public Builder cachedTokens(Double cachedTokens) { public Usage build() { return new Usage(billedUnits, tokens, cachedTokens, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/UsageBilledUnits.java b/src/main/java/com/cohere/api/types/UsageBilledUnits.java index edacc1a..96f7b02 100644 --- a/src/main/java/com/cohere/api/types/UsageBilledUnits.java +++ b/src/main/java/com/cohere/api/types/UsageBilledUnits.java @@ -189,5 +189,15 @@ public Builder classifications(Double classifications) { public UsageBilledUnits build() { return new UsageBilledUnits(inputTokens, outputTokens, searchUnits, classifications, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/UsageTokens.java b/src/main/java/com/cohere/api/types/UsageTokens.java index 1dc85d5..655e29c 100644 --- a/src/main/java/com/cohere/api/types/UsageTokens.java +++ b/src/main/java/com/cohere/api/types/UsageTokens.java @@ -126,5 +126,15 @@ public Builder outputTokens(Double outputTokens) { public UsageTokens build() { return new UsageTokens(inputTokens, outputTokens, additionalProperties); } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/main/java/com/cohere/api/types/UserMessageV2.java b/src/main/java/com/cohere/api/types/UserMessageV2.java index abae658..07df668 100644 --- a/src/main/java/com/cohere/api/types/UserMessageV2.java +++ b/src/main/java/com/cohere/api/types/UserMessageV2.java @@ -78,6 +78,10 @@ public interface ContentStage { public interface _FinalStage { UserMessageV2 build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -113,5 +117,17 @@ public _FinalStage content(@NotNull UserMessageV2Content content) { public UserMessageV2 build() { return new UserMessageV2(content, additionalProperties); } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } } } diff --git a/src/test/java/com/cohere/api/StreamTest.java b/src/test/java/com/cohere/api/StreamTest.java index 1cfe1c8..ceb4fe8 100644 --- a/src/test/java/com/cohere/api/StreamTest.java +++ b/src/test/java/com/cohere/api/StreamTest.java @@ -69,6 +69,25 @@ public void testSseStreamWithTerminator() { assertEquals(expectedEvents, actualEvents); } + @Test + public void testSseEventDiscriminatedStream() { + List sseStrings = Arrays.asList( + mapToSseWithEvent("start", createMap("status", "pending")), + mapToSseWithEvent("end", createMap("status", "complete"))); + String input = String.join("\n" + "\n", sseStrings); + StringReader sseInput = new StringReader(input); + Stream sseStream = Stream.fromSseWithEventDiscrimination(Map.class, sseInput, "event"); + int expectedEvents = 2; + int actualEvents = 0; + for (Map eventData : sseStream) { + actualEvents++; + // Event-level discrimination includes the event field in the parsed result + assertTrue(eventData.containsKey("event")); + assertTrue(eventData.containsKey("data")); + } + assertEquals(expectedEvents, actualEvents); + } + @Test public void testStreamResourceManagement() throws IOException { StringReader testInput = new StringReader("{\"test\":\"data\"}"); @@ -89,6 +108,10 @@ private static String mapToSse(Map map) { return "data: " + mapToJson(map); } + private static String mapToSseWithEvent(String eventType, Map data) { + return "event: " + eventType + "\n" + "data: " + mapToJson(data); + } + private static Map createMap(String key, String value) { Map map = new HashMap<>(); map.put(key, value);