Skip to content

Commit 27de673

Browse files
authored
Merge pull request #107 from AssemblyAI/fern-bot/06-14-2024-0930PM
🌿 Fern Regeneration -- June 14, 2024
2 parents 61073c9 + 22cae2f commit 27de673

14 files changed

+851
-223
lines changed

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ publishing {
4747
maven(MavenPublication) {
4848
groupId = 'com.assemblyai'
4949
artifactId = 'assemblyai-java'
50-
version = '1.1.3'
50+
version = '1.2.0'
5151
from components.java
5252
pom {
5353
scm {

sample-app/src/main/java/sample/App.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.assemblyai.api.RealtimeTranscriber;
55
import com.assemblyai.api.resources.files.types.UploadedFile;
66
import com.assemblyai.api.resources.lemur.requests.LemurTaskParams;
7-
import com.assemblyai.api.resources.lemur.types.LemurTaskResponse;
7+
import com.assemblyai.api.resources.lemur.types.*;
88
import com.assemblyai.api.resources.realtime.requests.CreateRealtimeTemporaryTokenParams;
99
import com.assemblyai.api.resources.realtime.types.AudioEncoding;
1010
import com.assemblyai.api.resources.realtime.types.RealtimeTemporaryTokenResponse;
@@ -70,6 +70,10 @@ public static void main(String... args) throws IOException, InterruptedException
7070

7171
System.out.println("Summary: " + response.getResponse());
7272

73+
LemurResponse response2 = client.lemur().getResponse(response.getRequestId());
74+
75+
System.out.println("Summary 2: " + ((LemurTaskResponse)response2.get()).getResponse());
76+
7377
transcript = client.transcripts().delete(transcript.getId());
7478
System.out.println("Delete transcript. " + transcript);
7579

src/main/java/com/assemblyai/api/core/Environment.java

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public String getUrl() {
1616
return this.url;
1717
}
1818

19-
2019
public static Environment custom(String url) {
2120
return new Environment(url);
2221
}

src/main/java/com/assemblyai/api/resources/lemur/LemurClient.java

+42
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.assemblyai.api.resources.lemur.requests.LemurTaskParams;
1515
import com.assemblyai.api.resources.lemur.types.LemurActionItemsResponse;
1616
import com.assemblyai.api.resources.lemur.types.LemurQuestionAnswerResponse;
17+
import com.assemblyai.api.resources.lemur.types.LemurResponse;
1718
import com.assemblyai.api.resources.lemur.types.LemurSummaryResponse;
1819
import com.assemblyai.api.resources.lemur.types.LemurTaskResponse;
1920
import com.assemblyai.api.resources.lemur.types.PurgeLemurRequestDataResponse;
@@ -241,6 +242,47 @@ public LemurActionItemsResponse actionItems(LemurActionItemsParams request, Requ
241242
}
242243
}
243244

245+
/**
246+
* Retrieve a LeMUR response that was previously generated.
247+
*/
248+
public LemurResponse getResponse(String requestId) {
249+
return getResponse(requestId, null);
250+
}
251+
252+
/**
253+
* Retrieve a LeMUR response that was previously generated.
254+
*/
255+
public LemurResponse getResponse(String requestId, RequestOptions requestOptions) {
256+
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
257+
.newBuilder()
258+
.addPathSegments("lemur/v3")
259+
.addPathSegment(requestId)
260+
.build();
261+
Request okhttpRequest = new Request.Builder()
262+
.url(httpUrl)
263+
.method("GET", null)
264+
.headers(Headers.of(clientOptions.headers(requestOptions)))
265+
.addHeader("Content-Type", "application/json")
266+
.build();
267+
try {
268+
OkHttpClient client = clientOptions.httpClient();
269+
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
270+
client = clientOptions.httpClientWithTimeout(requestOptions);
271+
}
272+
Response response = client.newCall(okhttpRequest).execute();
273+
ResponseBody responseBody = response.body();
274+
if (response.isSuccessful()) {
275+
return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), LemurResponse.class);
276+
}
277+
throw new ApiError(
278+
response.code(),
279+
ObjectMappers.JSON_MAPPER.readValue(
280+
responseBody != null ? responseBody.string() : "{}", Object.class));
281+
} catch (IOException e) {
282+
throw new RuntimeException(e);
283+
}
284+
}
285+
244286
/**
245287
* Delete the data for a previously submitted LeMUR request.
246288
* The LLM response data, as well as any context provided in the original request will be removed.

src/main/java/com/assemblyai/api/resources/lemur/types/ILemurBaseResponse.java

+2
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@
55

66
public interface ILemurBaseResponse {
77
String getRequestId();
8+
9+
LemurUsage getUsage();
810
}

src/main/java/com/assemblyai/api/resources/lemur/types/LemurActionItemsResponse.java

+38-7
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,16 @@
2020
public final class LemurActionItemsResponse implements ILemurBaseResponse {
2121
private final String requestId;
2222

23+
private final LemurUsage usage;
24+
2325
private final String response;
2426

2527
private final Map<String, Object> additionalProperties;
2628

27-
private LemurActionItemsResponse(String requestId, String response, Map<String, Object> additionalProperties) {
29+
private LemurActionItemsResponse(
30+
String requestId, LemurUsage usage, String response, Map<String, Object> additionalProperties) {
2831
this.requestId = requestId;
32+
this.usage = usage;
2933
this.response = response;
3034
this.additionalProperties = additionalProperties;
3135
}
@@ -39,6 +43,15 @@ public String getRequestId() {
3943
return requestId;
4044
}
4145

46+
/**
47+
* @return The usage numbers for the LeMUR request
48+
*/
49+
@JsonProperty("usage")
50+
@java.lang.Override
51+
public LemurUsage getUsage() {
52+
return usage;
53+
}
54+
4255
/**
4356
* @return The response generated by LeMUR
4457
*/
@@ -59,12 +72,12 @@ public Map<String, Object> getAdditionalProperties() {
5972
}
6073

6174
private boolean equalTo(LemurActionItemsResponse other) {
62-
return requestId.equals(other.requestId) && response.equals(other.response);
75+
return requestId.equals(other.requestId) && usage.equals(other.usage) && response.equals(other.response);
6376
}
6477

6578
@java.lang.Override
6679
public int hashCode() {
67-
return Objects.hash(this.requestId, this.response);
80+
return Objects.hash(this.requestId, this.usage, this.response);
6881
}
6982

7083
@java.lang.Override
@@ -77,11 +90,15 @@ public static RequestIdStage builder() {
7790
}
7891

7992
public interface RequestIdStage {
80-
ResponseStage requestId(String requestId);
93+
UsageStage requestId(String requestId);
8194

8295
Builder from(LemurActionItemsResponse other);
8396
}
8497

98+
public interface UsageStage {
99+
ResponseStage usage(LemurUsage usage);
100+
}
101+
85102
public interface ResponseStage {
86103
_FinalStage response(String response);
87104
}
@@ -91,9 +108,11 @@ public interface _FinalStage {
91108
}
92109

93110
@JsonIgnoreProperties(ignoreUnknown = true)
94-
public static final class Builder implements RequestIdStage, ResponseStage, _FinalStage {
111+
public static final class Builder implements RequestIdStage, UsageStage, ResponseStage, _FinalStage {
95112
private String requestId;
96113

114+
private LemurUsage usage;
115+
97116
private String response;
98117

99118
@JsonAnySetter
@@ -104,6 +123,7 @@ private Builder() {}
104123
@java.lang.Override
105124
public Builder from(LemurActionItemsResponse other) {
106125
requestId(other.getRequestId());
126+
usage(other.getUsage());
107127
response(other.getResponse());
108128
return this;
109129
}
@@ -114,11 +134,22 @@ public Builder from(LemurActionItemsResponse other) {
114134
*/
115135
@java.lang.Override
116136
@JsonSetter("request_id")
117-
public ResponseStage requestId(String requestId) {
137+
public UsageStage requestId(String requestId) {
118138
this.requestId = requestId;
119139
return this;
120140
}
121141

142+
/**
143+
* <p>The usage numbers for the LeMUR request</p>
144+
* @return Reference to {@code this} so that method calls can be chained together.
145+
*/
146+
@java.lang.Override
147+
@JsonSetter("usage")
148+
public ResponseStage usage(LemurUsage usage) {
149+
this.usage = usage;
150+
return this;
151+
}
152+
122153
/**
123154
* <p>The response generated by LeMUR</p>
124155
* @return Reference to {@code this} so that method calls can be chained together.
@@ -132,7 +163,7 @@ public _FinalStage response(String response) {
132163

133164
@java.lang.Override
134165
public LemurActionItemsResponse build() {
135-
return new LemurActionItemsResponse(requestId, response, additionalProperties);
166+
return new LemurActionItemsResponse(requestId, usage, response, additionalProperties);
136167
}
137168
}
138169
}

src/main/java/com/assemblyai/api/resources/lemur/types/LemurBaseResponse.java

+37-7
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,13 @@
2020
public final class LemurBaseResponse implements ILemurBaseResponse {
2121
private final String requestId;
2222

23+
private final LemurUsage usage;
24+
2325
private final Map<String, Object> additionalProperties;
2426

25-
private LemurBaseResponse(String requestId, Map<String, Object> additionalProperties) {
27+
private LemurBaseResponse(String requestId, LemurUsage usage, Map<String, Object> additionalProperties) {
2628
this.requestId = requestId;
29+
this.usage = usage;
2730
this.additionalProperties = additionalProperties;
2831
}
2932

@@ -36,6 +39,15 @@ public String getRequestId() {
3639
return requestId;
3740
}
3841

42+
/**
43+
* @return The usage numbers for the LeMUR request
44+
*/
45+
@JsonProperty("usage")
46+
@java.lang.Override
47+
public LemurUsage getUsage() {
48+
return usage;
49+
}
50+
3951
@java.lang.Override
4052
public boolean equals(Object other) {
4153
if (this == other) return true;
@@ -48,12 +60,12 @@ public Map<String, Object> getAdditionalProperties() {
4860
}
4961

5062
private boolean equalTo(LemurBaseResponse other) {
51-
return requestId.equals(other.requestId);
63+
return requestId.equals(other.requestId) && usage.equals(other.usage);
5264
}
5365

5466
@java.lang.Override
5567
public int hashCode() {
56-
return Objects.hash(this.requestId);
68+
return Objects.hash(this.requestId, this.usage);
5769
}
5870

5971
@java.lang.Override
@@ -66,19 +78,25 @@ public static RequestIdStage builder() {
6678
}
6779

6880
public interface RequestIdStage {
69-
_FinalStage requestId(String requestId);
81+
UsageStage requestId(String requestId);
7082

7183
Builder from(LemurBaseResponse other);
7284
}
7385

86+
public interface UsageStage {
87+
_FinalStage usage(LemurUsage usage);
88+
}
89+
7490
public interface _FinalStage {
7591
LemurBaseResponse build();
7692
}
7793

7894
@JsonIgnoreProperties(ignoreUnknown = true)
79-
public static final class Builder implements RequestIdStage, _FinalStage {
95+
public static final class Builder implements RequestIdStage, UsageStage, _FinalStage {
8096
private String requestId;
8197

98+
private LemurUsage usage;
99+
82100
@JsonAnySetter
83101
private Map<String, Object> additionalProperties = new HashMap<>();
84102

@@ -87,6 +105,7 @@ private Builder() {}
87105
@java.lang.Override
88106
public Builder from(LemurBaseResponse other) {
89107
requestId(other.getRequestId());
108+
usage(other.getUsage());
90109
return this;
91110
}
92111

@@ -96,14 +115,25 @@ public Builder from(LemurBaseResponse other) {
96115
*/
97116
@java.lang.Override
98117
@JsonSetter("request_id")
99-
public _FinalStage requestId(String requestId) {
118+
public UsageStage requestId(String requestId) {
100119
this.requestId = requestId;
101120
return this;
102121
}
103122

123+
/**
124+
* <p>The usage numbers for the LeMUR request</p>
125+
* @return Reference to {@code this} so that method calls can be chained together.
126+
*/
127+
@java.lang.Override
128+
@JsonSetter("usage")
129+
public _FinalStage usage(LemurUsage usage) {
130+
this.usage = usage;
131+
return this;
132+
}
133+
104134
@java.lang.Override
105135
public LemurBaseResponse build() {
106-
return new LemurBaseResponse(requestId, additionalProperties);
136+
return new LemurBaseResponse(requestId, usage, additionalProperties);
107137
}
108138
}
109139
}

0 commit comments

Comments
 (0)