Skip to content

Commit fba86c8

Browse files
feat(client): add more convenience service method overloads
1 parent b55c1e8 commit fba86c8

8 files changed

Lines changed: 364 additions & 178 deletions

File tree

langsmith-java-core/src/main/kotlin/com/langchain/smith/services/async/examples/BulkServiceAsync.kt

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@ interface BulkServiceAsync {
3636
requestOptions: RequestOptions = RequestOptions.none(),
3737
): CompletableFuture<List<Example>>
3838

39+
/** @see create */
40+
fun create(
41+
body: List<BulkCreateParams.Body>,
42+
requestOptions: RequestOptions = RequestOptions.none(),
43+
): CompletableFuture<List<Example>> =
44+
create(BulkCreateParams.builder().body(body).build(), requestOptions)
45+
46+
/** @see create */
47+
fun create(body: List<BulkCreateParams.Body>): CompletableFuture<List<Example>> =
48+
create(body, RequestOptions.none())
49+
3950
/**
4051
* Legacy update examples in bulk. For update involving attachments, use PATCH
4152
* /v1/platform/datasets/{dataset_id}/examples instead.
@@ -49,6 +60,17 @@ interface BulkServiceAsync {
4960
requestOptions: RequestOptions = RequestOptions.none(),
5061
): CompletableFuture<BulkPatchAllResponse>
5162

63+
/** @see patchAll */
64+
fun patchAll(
65+
body: List<BulkPatchAllParams.Body>,
66+
requestOptions: RequestOptions = RequestOptions.none(),
67+
): CompletableFuture<BulkPatchAllResponse> =
68+
patchAll(BulkPatchAllParams.builder().body(body).build(), requestOptions)
69+
70+
/** @see patchAll */
71+
fun patchAll(body: List<BulkPatchAllParams.Body>): CompletableFuture<BulkPatchAllResponse> =
72+
patchAll(body, RequestOptions.none())
73+
5274
/** A view of [BulkServiceAsync] that provides access to raw HTTP responses for each method. */
5375
interface WithRawResponse {
5476

@@ -72,6 +94,18 @@ interface BulkServiceAsync {
7294
requestOptions: RequestOptions = RequestOptions.none(),
7395
): CompletableFuture<HttpResponseFor<List<Example>>>
7496

97+
/** @see create */
98+
fun create(
99+
body: List<BulkCreateParams.Body>,
100+
requestOptions: RequestOptions = RequestOptions.none(),
101+
): CompletableFuture<HttpResponseFor<List<Example>>> =
102+
create(BulkCreateParams.builder().body(body).build(), requestOptions)
103+
104+
/** @see create */
105+
fun create(
106+
body: List<BulkCreateParams.Body>
107+
): CompletableFuture<HttpResponseFor<List<Example>>> = create(body, RequestOptions.none())
108+
75109
/**
76110
* Returns a raw HTTP response for `patch /api/v1/examples/bulk`, but is otherwise the same
77111
* as [BulkServiceAsync.patchAll].
@@ -86,5 +120,18 @@ interface BulkServiceAsync {
86120
params: BulkPatchAllParams,
87121
requestOptions: RequestOptions = RequestOptions.none(),
88122
): CompletableFuture<HttpResponseFor<BulkPatchAllResponse>>
123+
124+
/** @see patchAll */
125+
fun patchAll(
126+
body: List<BulkPatchAllParams.Body>,
127+
requestOptions: RequestOptions = RequestOptions.none(),
128+
): CompletableFuture<HttpResponseFor<BulkPatchAllResponse>> =
129+
patchAll(BulkPatchAllParams.builder().body(body).build(), requestOptions)
130+
131+
/** @see patchAll */
132+
fun patchAll(
133+
body: List<BulkPatchAllParams.Body>
134+
): CompletableFuture<HttpResponseFor<BulkPatchAllResponse>> =
135+
patchAll(body, RequestOptions.none())
89136
}
90137
}

langsmith-java-core/src/main/kotlin/com/langchain/smith/services/async/feedback/TokenServiceAsync.kt

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ package com.langchain.smith.services.async.feedback
55
import com.langchain.smith.core.ClientOptions
66
import com.langchain.smith.core.RequestOptions
77
import com.langchain.smith.core.http.HttpResponseFor
8+
import com.langchain.smith.models.feedback.tokens.FeedbackIngestTokenCreateSchema
89
import com.langchain.smith.models.feedback.tokens.FeedbackIngestTokenSchema
910
import com.langchain.smith.models.feedback.tokens.TokenCreateParams
1011
import com.langchain.smith.models.feedback.tokens.TokenCreateResponse
@@ -40,6 +41,35 @@ interface TokenServiceAsync {
4041
requestOptions: RequestOptions = RequestOptions.none(),
4142
): CompletableFuture<TokenCreateResponse>
4243

44+
/** @see create */
45+
fun create(
46+
body: TokenCreateParams.Body,
47+
requestOptions: RequestOptions = RequestOptions.none(),
48+
): CompletableFuture<TokenCreateResponse> =
49+
create(TokenCreateParams.builder().body(body).build(), requestOptions)
50+
51+
/** @see create */
52+
fun create(body: TokenCreateParams.Body): CompletableFuture<TokenCreateResponse> =
53+
create(body, RequestOptions.none())
54+
55+
/** @see create */
56+
fun create(
57+
feedbackIngestTokenCreateSchema: FeedbackIngestTokenCreateSchema,
58+
requestOptions: RequestOptions = RequestOptions.none(),
59+
): CompletableFuture<TokenCreateResponse> =
60+
create(
61+
TokenCreateParams.Body.ofFeedbackIngestTokenCreateSchema(
62+
feedbackIngestTokenCreateSchema
63+
),
64+
requestOptions,
65+
)
66+
67+
/** @see create */
68+
fun create(
69+
feedbackIngestTokenCreateSchema: FeedbackIngestTokenCreateSchema
70+
): CompletableFuture<TokenCreateResponse> =
71+
create(feedbackIngestTokenCreateSchema, RequestOptions.none())
72+
4373
/** Create a new feedback with a token. */
4474
fun retrieve(token: String): CompletableFuture<TokenRetrieveResponse> =
4575
retrieve(token, TokenRetrieveParams.none())
@@ -147,6 +177,37 @@ interface TokenServiceAsync {
147177
requestOptions: RequestOptions = RequestOptions.none(),
148178
): CompletableFuture<HttpResponseFor<TokenCreateResponse>>
149179

180+
/** @see create */
181+
fun create(
182+
body: TokenCreateParams.Body,
183+
requestOptions: RequestOptions = RequestOptions.none(),
184+
): CompletableFuture<HttpResponseFor<TokenCreateResponse>> =
185+
create(TokenCreateParams.builder().body(body).build(), requestOptions)
186+
187+
/** @see create */
188+
fun create(
189+
body: TokenCreateParams.Body
190+
): CompletableFuture<HttpResponseFor<TokenCreateResponse>> =
191+
create(body, RequestOptions.none())
192+
193+
/** @see create */
194+
fun create(
195+
feedbackIngestTokenCreateSchema: FeedbackIngestTokenCreateSchema,
196+
requestOptions: RequestOptions = RequestOptions.none(),
197+
): CompletableFuture<HttpResponseFor<TokenCreateResponse>> =
198+
create(
199+
TokenCreateParams.Body.ofFeedbackIngestTokenCreateSchema(
200+
feedbackIngestTokenCreateSchema
201+
),
202+
requestOptions,
203+
)
204+
205+
/** @see create */
206+
fun create(
207+
feedbackIngestTokenCreateSchema: FeedbackIngestTokenCreateSchema
208+
): CompletableFuture<HttpResponseFor<TokenCreateResponse>> =
209+
create(feedbackIngestTokenCreateSchema, RequestOptions.none())
210+
150211
/**
151212
* Returns a raw HTTP response for `get /api/v1/feedback/tokens/{token}`, but is otherwise
152213
* the same as [TokenServiceAsync.retrieve].

langsmith-java-core/src/main/kotlin/com/langchain/smith/services/blocking/examples/BulkService.kt

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ interface BulkService {
3535
requestOptions: RequestOptions = RequestOptions.none(),
3636
): List<Example>
3737

38+
/** @see create */
39+
fun create(
40+
body: List<BulkCreateParams.Body>,
41+
requestOptions: RequestOptions = RequestOptions.none(),
42+
): List<Example> = create(BulkCreateParams.builder().body(body).build(), requestOptions)
43+
44+
/** @see create */
45+
fun create(body: List<BulkCreateParams.Body>): List<Example> =
46+
create(body, RequestOptions.none())
47+
3848
/**
3949
* Legacy update examples in bulk. For update involving attachments, use PATCH
4050
* /v1/platform/datasets/{dataset_id}/examples instead.
@@ -48,6 +58,17 @@ interface BulkService {
4858
requestOptions: RequestOptions = RequestOptions.none(),
4959
): BulkPatchAllResponse
5060

61+
/** @see patchAll */
62+
fun patchAll(
63+
body: List<BulkPatchAllParams.Body>,
64+
requestOptions: RequestOptions = RequestOptions.none(),
65+
): BulkPatchAllResponse =
66+
patchAll(BulkPatchAllParams.builder().body(body).build(), requestOptions)
67+
68+
/** @see patchAll */
69+
fun patchAll(body: List<BulkPatchAllParams.Body>): BulkPatchAllResponse =
70+
patchAll(body, RequestOptions.none())
71+
5172
/** A view of [BulkService] that provides access to raw HTTP responses for each method. */
5273
interface WithRawResponse {
5374

@@ -73,6 +94,19 @@ interface BulkService {
7394
requestOptions: RequestOptions = RequestOptions.none(),
7495
): HttpResponseFor<List<Example>>
7596

97+
/** @see create */
98+
@MustBeClosed
99+
fun create(
100+
body: List<BulkCreateParams.Body>,
101+
requestOptions: RequestOptions = RequestOptions.none(),
102+
): HttpResponseFor<List<Example>> =
103+
create(BulkCreateParams.builder().body(body).build(), requestOptions)
104+
105+
/** @see create */
106+
@MustBeClosed
107+
fun create(body: List<BulkCreateParams.Body>): HttpResponseFor<List<Example>> =
108+
create(body, RequestOptions.none())
109+
76110
/**
77111
* Returns a raw HTTP response for `patch /api/v1/examples/bulk`, but is otherwise the same
78112
* as [BulkService.patchAll].
@@ -87,5 +121,18 @@ interface BulkService {
87121
params: BulkPatchAllParams,
88122
requestOptions: RequestOptions = RequestOptions.none(),
89123
): HttpResponseFor<BulkPatchAllResponse>
124+
125+
/** @see patchAll */
126+
@MustBeClosed
127+
fun patchAll(
128+
body: List<BulkPatchAllParams.Body>,
129+
requestOptions: RequestOptions = RequestOptions.none(),
130+
): HttpResponseFor<BulkPatchAllResponse> =
131+
patchAll(BulkPatchAllParams.builder().body(body).build(), requestOptions)
132+
133+
/** @see patchAll */
134+
@MustBeClosed
135+
fun patchAll(body: List<BulkPatchAllParams.Body>): HttpResponseFor<BulkPatchAllResponse> =
136+
patchAll(body, RequestOptions.none())
90137
}
91138
}

langsmith-java-core/src/main/kotlin/com/langchain/smith/services/blocking/feedback/TokenService.kt

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import com.google.errorprone.annotations.MustBeClosed
66
import com.langchain.smith.core.ClientOptions
77
import com.langchain.smith.core.RequestOptions
88
import com.langchain.smith.core.http.HttpResponseFor
9+
import com.langchain.smith.models.feedback.tokens.FeedbackIngestTokenCreateSchema
910
import com.langchain.smith.models.feedback.tokens.FeedbackIngestTokenSchema
1011
import com.langchain.smith.models.feedback.tokens.TokenCreateParams
1112
import com.langchain.smith.models.feedback.tokens.TokenCreateResponse
@@ -40,6 +41,33 @@ interface TokenService {
4041
requestOptions: RequestOptions = RequestOptions.none(),
4142
): TokenCreateResponse
4243

44+
/** @see create */
45+
fun create(
46+
body: TokenCreateParams.Body,
47+
requestOptions: RequestOptions = RequestOptions.none(),
48+
): TokenCreateResponse = create(TokenCreateParams.builder().body(body).build(), requestOptions)
49+
50+
/** @see create */
51+
fun create(body: TokenCreateParams.Body): TokenCreateResponse =
52+
create(body, RequestOptions.none())
53+
54+
/** @see create */
55+
fun create(
56+
feedbackIngestTokenCreateSchema: FeedbackIngestTokenCreateSchema,
57+
requestOptions: RequestOptions = RequestOptions.none(),
58+
): TokenCreateResponse =
59+
create(
60+
TokenCreateParams.Body.ofFeedbackIngestTokenCreateSchema(
61+
feedbackIngestTokenCreateSchema
62+
),
63+
requestOptions,
64+
)
65+
66+
/** @see create */
67+
fun create(
68+
feedbackIngestTokenCreateSchema: FeedbackIngestTokenCreateSchema
69+
): TokenCreateResponse = create(feedbackIngestTokenCreateSchema, RequestOptions.none())
70+
4371
/** Create a new feedback with a token. */
4472
fun retrieve(token: String): TokenRetrieveResponse = retrieve(token, TokenRetrieveParams.none())
4573

@@ -135,6 +163,39 @@ interface TokenService {
135163
requestOptions: RequestOptions = RequestOptions.none(),
136164
): HttpResponseFor<TokenCreateResponse>
137165

166+
/** @see create */
167+
@MustBeClosed
168+
fun create(
169+
body: TokenCreateParams.Body,
170+
requestOptions: RequestOptions = RequestOptions.none(),
171+
): HttpResponseFor<TokenCreateResponse> =
172+
create(TokenCreateParams.builder().body(body).build(), requestOptions)
173+
174+
/** @see create */
175+
@MustBeClosed
176+
fun create(body: TokenCreateParams.Body): HttpResponseFor<TokenCreateResponse> =
177+
create(body, RequestOptions.none())
178+
179+
/** @see create */
180+
@MustBeClosed
181+
fun create(
182+
feedbackIngestTokenCreateSchema: FeedbackIngestTokenCreateSchema,
183+
requestOptions: RequestOptions = RequestOptions.none(),
184+
): HttpResponseFor<TokenCreateResponse> =
185+
create(
186+
TokenCreateParams.Body.ofFeedbackIngestTokenCreateSchema(
187+
feedbackIngestTokenCreateSchema
188+
),
189+
requestOptions,
190+
)
191+
192+
/** @see create */
193+
@MustBeClosed
194+
fun create(
195+
feedbackIngestTokenCreateSchema: FeedbackIngestTokenCreateSchema
196+
): HttpResponseFor<TokenCreateResponse> =
197+
create(feedbackIngestTokenCreateSchema, RequestOptions.none())
198+
138199
/**
139200
* Returns a raw HTTP response for `get /api/v1/feedback/tokens/{token}`, but is otherwise
140201
* the same as [TokenService.retrieve].

0 commit comments

Comments
 (0)