@distilled.cloud/core 0.19.0 → 0.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +84 -0
- package/lib/client.js.map +1 -1
- package/lib/schemas.d.ts +60 -0
- package/lib/schemas.d.ts.map +1 -0
- package/lib/schemas.js +79 -0
- package/lib/schemas.js.map +1 -0
- package/lib/traits.d.ts +58 -1
- package/lib/traits.d.ts.map +1 -1
- package/lib/traits.js +96 -0
- package/lib/traits.js.map +1 -1
- package/package.json +6 -1
- package/src/client.ts +120 -0
- package/src/schemas.ts +128 -0
- package/src/traits.ts +130 -1
package/lib/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,KAAK,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAiBtC;;;;GAIG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CACrD,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EACxC,KAAK,EACL,CAAC,CACF,GACC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzC;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,IAClB,CAAC,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,GAC/B,IAAI,GACJ,CAAC,SAAS;IAAE,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;CAAE,GAC7C,IAAI,GACJ,CAAC,SAAS;IAAE,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GACjE,IAAI,GACJ,CAAC,SAAS;IAAE,MAAM,EAAE;QAAE,KAAK,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;KAAE,CAAA;CAAE,GACxD,IAAI,GACJ,CAAC,SAAS;IACN,MAAM,CAAC,EACH;QACE,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;KACtD,GACD,IAAI,GACJ,SAAS,CAAC;CACf,GACD,IAAI,GACJ,OAAO,CAAC;AAEtB,MAAM,MAAM,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,eAAe,CAChE,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACF,GAAG;IACF,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,KAAK,yBAAyB,CAAC,KAAK,IAClC,KAAK,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC;AAS3E;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,KAAK;IACjC,kCAAkC;IAClC,WAAW,EAAE;QACX,QAAQ,KAAK,CAAC;KACf,CAAC;IAEF,wCAAwC;IACxC,UAAU,EAAE,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;IAEhE,mDAAmD;IACnD,cAAc,EAAE,CACd,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,KACpC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;;;;;;;;;;;;OAaG;IACH,UAAU,EAAE,CACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,EACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KACzC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEnC,mDAAmD;IACnD,UAAU,EAAE,KAAK,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;IAEtE;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IAE/C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;KAC5B,KAAK,MAAM,CAAC,YAAY,CAAC;IAE1B;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG;QACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe,CAC9B,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,SAAS,aAAa,EAAE,GAAG,SAAS,aAAa,EAAE;IAE7D,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,gEAAgE;IAChE,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,iEAAiE;IACjE,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,SAAS,aAAa,EAAE,GAAG,SAAS,aAAa,EAAE,CAC7D,SAAQ,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAmOD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,UAAU,YAAY,CAAC,KAAK,CAAC;IAKtD,IAAI,GACF,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,KAAK,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,GAAG,SAAS,EAAE,YAE5C,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACvC,eAAe,CAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EACrB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EACvB,KAAK,CACN;IA6ZD,aAAa,GACX,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,KAAK,CAAC,CAAC,SAAS,SAAS,aAAa,EAAE,GAAG,SAAS,EAAE,YAE5C,MAAM,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,eACpC,kBAAkB,KAC9B,wBAAwB,CACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EACrB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EACvB,KAAK,CACN;CAoCJ,CAAC"}
|
package/lib/client.js
CHANGED
|
@@ -177,6 +177,56 @@ function buildFormData(body) {
|
|
|
177
177
|
}
|
|
178
178
|
return formData;
|
|
179
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Set a raw binary HTTP request body.
|
|
182
|
+
*
|
|
183
|
+
* Used for `T.Http({ contentType: "binary" })` operations (e.g. R2 PutObject)
|
|
184
|
+
* where `parts.body` is the value of the lone `T.HttpBody()` field — wide
|
|
185
|
+
* input types are accepted: `Blob`, `Uint8Array`, `ArrayBuffer`, `string`,
|
|
186
|
+
* web `ReadableStream<Uint8Array>`, or Effect `Stream.Stream<Uint8Array>`.
|
|
187
|
+
* Stream-shaped inputs are sent as true streaming `HttpBody.stream(...)`
|
|
188
|
+
* uploads.
|
|
189
|
+
*
|
|
190
|
+
* The `Content-Type` header is left untouched (the operation's
|
|
191
|
+
* `content-type` header field already populated `parts.headers`).
|
|
192
|
+
*/
|
|
193
|
+
function setBinaryBody(request, body) {
|
|
194
|
+
if (body instanceof Uint8Array) {
|
|
195
|
+
return Effect.succeed(HttpClientRequest.setBody(HttpBody.uint8Array(body))(request));
|
|
196
|
+
}
|
|
197
|
+
if (typeof ArrayBuffer !== "undefined" && body instanceof ArrayBuffer) {
|
|
198
|
+
return Effect.succeed(HttpClientRequest.setBody(HttpBody.uint8Array(new Uint8Array(body)))(request));
|
|
199
|
+
}
|
|
200
|
+
if (typeof Blob !== "undefined" && body instanceof Blob) {
|
|
201
|
+
// Stream the Blob through `HttpBody.stream` rather than buffering — keeps
|
|
202
|
+
// memory bounded for large uploads.
|
|
203
|
+
const blob = body;
|
|
204
|
+
const blobStream = Stream.fromReadableStream({
|
|
205
|
+
evaluate: () => blob.stream(),
|
|
206
|
+
onError: (cause) => new HttpBody.HttpBodyError({ reason: { _tag: "JsonError" }, cause }),
|
|
207
|
+
});
|
|
208
|
+
return Effect.succeed(HttpClientRequest.setBody(HttpBody.stream(blobStream))(request));
|
|
209
|
+
}
|
|
210
|
+
if (typeof ReadableStream !== "undefined" && body instanceof ReadableStream) {
|
|
211
|
+
const rs = body;
|
|
212
|
+
const rsStream = Stream.fromReadableStream({
|
|
213
|
+
evaluate: () => rs,
|
|
214
|
+
onError: (cause) => new HttpBody.HttpBodyError({ reason: { _tag: "JsonError" }, cause }),
|
|
215
|
+
});
|
|
216
|
+
return Effect.succeed(HttpClientRequest.setBody(HttpBody.stream(rsStream))(request));
|
|
217
|
+
}
|
|
218
|
+
if (Stream.isStream(body)) {
|
|
219
|
+
// Effect Stream — pass straight through to `HttpBody.stream`.
|
|
220
|
+
return Effect.succeed(HttpClientRequest.setBody(HttpBody.stream(body))(request));
|
|
221
|
+
}
|
|
222
|
+
if (typeof body === "string") {
|
|
223
|
+
return Effect.succeed(HttpClientRequest.setBody(HttpBody.text(body))(request));
|
|
224
|
+
}
|
|
225
|
+
return Effect.fail(new HttpBody.HttpBodyError({
|
|
226
|
+
reason: { _tag: "JsonError" },
|
|
227
|
+
cause: new TypeError(`Binary HTTP body must be a Blob, Uint8Array, ArrayBuffer, ReadableStream, Stream<Uint8Array>, or string; got ${body === null ? "null" : typeof body}`),
|
|
228
|
+
}));
|
|
229
|
+
}
|
|
180
230
|
// ============================================================================
|
|
181
231
|
// API Client Factory
|
|
182
232
|
// ============================================================================
|
|
@@ -254,12 +304,24 @@ export const makeAPI = (config) => {
|
|
|
254
304
|
let request = HttpClientRequest.make(method)(baseUrl + parts.path).pipe(HttpClientRequest.setHeaders(authHeaders), HttpClientRequest.setHeaders(parts.headers), HttpClientRequest.setHeader("Accept", "application/json"));
|
|
255
305
|
// Set Content-Type based on body type
|
|
256
306
|
// - Skip for FormData (multipart) — browser sets boundary
|
|
307
|
+
// - Skip for binary — `parts.headers` already carries a caller-supplied
|
|
308
|
+
// `content-type` header (e.g. R2 PutObject's `content-type` field)
|
|
257
309
|
// - Use form-urlencoded for Stripe-style APIs
|
|
258
310
|
// - Default to JSON
|
|
259
311
|
const isFormUrlEncoded = httpTrait.contentType === "form-urlencoded";
|
|
312
|
+
const isBinaryBody = httpTrait.contentType === "binary";
|
|
260
313
|
if (parts.isMultipart) {
|
|
261
314
|
// browser/runtime sets Content-Type with boundary
|
|
262
315
|
}
|
|
316
|
+
else if (isBinaryBody) {
|
|
317
|
+
// Caller's `content-type` header (already applied via
|
|
318
|
+
// `setHeaders(parts.headers)`) wins. If they didn't set one, fall
|
|
319
|
+
// back to a generic octet-stream so the request is still well-formed.
|
|
320
|
+
if (!("content-type" in parts.headers) &&
|
|
321
|
+
!("Content-Type" in parts.headers)) {
|
|
322
|
+
request = HttpClientRequest.setHeader("Content-Type", "application/octet-stream")(request);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
263
325
|
else if (isFormUrlEncoded) {
|
|
264
326
|
request = HttpClientRequest.setHeader("Content-Type", "application/x-www-form-urlencoded")(request);
|
|
265
327
|
}
|
|
@@ -275,6 +337,12 @@ export const makeAPI = (config) => {
|
|
|
275
337
|
const formData = buildFormData(parts.body);
|
|
276
338
|
request = HttpClientRequest.setBody(HttpBody.formData(formData))(request);
|
|
277
339
|
}
|
|
340
|
+
else if (isBinaryBody) {
|
|
341
|
+
// Raw binary HTTP body — `parts.body` is the value of the lone
|
|
342
|
+
// `T.HttpBody()` field (e.g. a `Blob`, `Uint8Array`, or string),
|
|
343
|
+
// not a record of body fields.
|
|
344
|
+
request = yield* setBinaryBody(request, parts.body);
|
|
345
|
+
}
|
|
278
346
|
else if (isFormUrlEncoded) {
|
|
279
347
|
// Encode body as form-urlencoded with deepObject bracket notation
|
|
280
348
|
const encoded = buildFormUrlEncoded(parts.body);
|
|
@@ -335,6 +403,22 @@ export const makeAPI = (config) => {
|
|
|
335
403
|
if (AST.isVoid(outputSchema.ast)) {
|
|
336
404
|
return undefined;
|
|
337
405
|
}
|
|
406
|
+
// Raw octet-stream download (`responseContentType: "binary"`):
|
|
407
|
+
// bypass the JSON/text decode path entirely. The output schema is
|
|
408
|
+
// a Struct shaped like `{ body: Stream<Uint8Array>, ...headers }`
|
|
409
|
+
// (see `T.BinaryResponseBody()` / `T.HttpResponseHeader()`); we
|
|
410
|
+
// populate it by reading response headers and wrapping the body
|
|
411
|
+
// bytes in `Stream.succeed`. We buffer through
|
|
412
|
+
// `response.arrayBuffer` first so the resulting stream is
|
|
413
|
+
// scope-free — callers can consume it after the underlying scope
|
|
414
|
+
// has closed. (True chunked streaming would require threading a
|
|
415
|
+
// Scope through every operation's return type, which would break
|
|
416
|
+
// the uniform `OperationMethod<I, A, E, never>` shape.)
|
|
417
|
+
if (httpTrait.responseContentType === "binary") {
|
|
418
|
+
const bytes = yield* response.arrayBuffer;
|
|
419
|
+
const stream = Stream.succeed(new Uint8Array(bytes));
|
|
420
|
+
return Traits.buildBinaryResponse(outputSchema.ast, stream, response.headers);
|
|
421
|
+
}
|
|
338
422
|
// For 204 No Content: if schema is not Unknown, return undefined.
|
|
339
423
|
// If schema IS Unknown, return empty string (so callers get a defined value).
|
|
340
424
|
if (response.status === 204) {
|
package/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,eAAe,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,eAAe,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAA8B,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,8EAA8E;AAC9E,6EAA6E;AAC7E,qEAAqE;AACrE,MAAM,oBAAoB,GAA2B,MAAM,CAAC,MAAM,CAChE,iBAAiB,CAClB;KACE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;KACtC,QAAQ,EAAE;KACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsD3C,MAAM,YAAY,GAAG,CAAC,KAAc,EAAmC,EAAE,CACvE,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU;IACxD,OAAQ,KAAyC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChE,UAAU,CAAC;AAoHf,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,UAAU,CAAC,GAAY;IAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACzC,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,qDAAqD;AACrD,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CACzB,GAA4B,EAC5B,MAAM,GAAW,EAAE;IAEnB,MAAM,KAAK,GAA4B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAEpD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IACE,IAAI,KAAK,IAAI;oBACb,IAAI,KAAK,SAAS;oBAClB,OAAO,IAAI,KAAK,QAAQ;oBACxB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EACpB,CAAC;oBACD,KAAK,CAAC,IAAI,CACR,GAAG,kBAAkB,CACnB,IAA+B,EAC/B,GAAG,OAAO,IAAI,CAAC,GAAG,CACnB,CACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC/C,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CACR,GAAG,kBAAkB,CAAC,KAAgC,EAAE,OAAO,CAAC,CACjE,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAA6B;IACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;GAEG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,CAAC,OAAO,IAAI,KAAK,WAAW,IAAI,KAAK,YAAY,IAAI,CAAC;QACtD,CAAC,OAAO,IAAI,KAAK,WAAW,IAAI,KAAK,YAAY,IAAI,CAAC,CACvD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,IAA6B;IAClD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAEpD,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,mBAAmB;YACnB,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxE,CAAC;aAAM,IACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtB,CAAC;YACD,kDAAkD;YAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,QAAQ,CAAC,MAAM,CACb,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EACtC,IAAI,EACJ,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACvD,+FAA+F;YAC/F,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAQ,MAA2B,EAAE,EAAE;IAI5D,OAAO;QACL,IAAI,EAAE,CAKJ,QAAwC,EAMxC,EAAE;YACF,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;YAC5B,iEAAiE;YACjE,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAE,CAAC;YAC9D,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAE,CAAC;YACjE,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAGrE,gDAAgD;YAChD,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAEvD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAEhC,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YAE/C,MAAM,OAAO,GAAG,CAAC,KAAY,EAAgC,EAAE,CAC7D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,WAAkB,CAAC;gBACrD,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC;oBACrC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW;oBACpB,CAAC,CAAC,WAAW,CAAC;gBAChB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;gBAE5C,0DAA0D;gBAC1D,sEAAsE;gBACtE,IAAI,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,KAAsB,CAAC,CAAC;gBACxD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACzD,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;wBACtB,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,KAAsB,CAAC,CAAC;gBAElE,4EAA4E;gBAC5E,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAClC,WAAW,CAAC,GAAG,EACf,SAAS,EACT,KAAgC,EAChC,WAAW,CACZ,CAAC;gBAEF,oEAAoE;gBACpE,mEAAmE;gBACnE,qDAAqD;gBACrD,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,GAAG;wBACN,GAAG,KAAK;wBACR,IAAI,EAAE;4BACJ,KAAK,EAAE,SAAS,CAAC,KAAK;4BACtB,aAAa,EAAE,SAAS,CAAC,aAAa;4BACtC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;yBAC5B;qBACF,CAAC;gBACJ,CAAC;gBAED,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBACjC,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC;wBACnC,KAAK,EAAE,KAAgC;wBACvC,MAAM;wBACN,YAAY,EAAE,SAAS,CAAC,IAAI;wBAC5B,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAC1C,OAAO,GAAG,KAAK,CAAC,IAAI,CACrB,CAAC,IAAI,CACJ,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,EACzC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAC3C,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAC1D,CAAC;gBAEF,sCAAsC;gBACtC,0DAA0D;gBAC1D,8CAA8C;gBAC9C,oBAAoB;gBACpB,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,KAAK,iBAAiB,CAAC;gBACrE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACtB,kDAAkD;gBACpD,CAAC;qBAAM,IAAI,gBAAgB,EAAE,CAAC;oBAC5B,OAAO,GAAG,iBAAiB,CAAC,SAAS,CACnC,cAAc,EACd,mCAAmC,CACpC,CAAC,OAAO,CAAC,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,iBAAiB,CAAC,SAAS,CACnC,cAAc,EACd,kBAAkB,CACnB,CAAC,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACjD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;wBACtB,+DAA+D;wBAC/D,MAAM,QAAQ,GAAG,aAAa,CAC5B,KAAK,CAAC,IAA+B,CACtC,CAAC;wBACF,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC9D,OAAO,CACR,CAAC;oBACJ,CAAC;yBAAM,IAAI,gBAAgB,EAAE,CAAC;wBAC5B,kEAAkE;wBAClE,MAAM,OAAO,GAAG,mBAAmB,CACjC,KAAK,CAAC,IAA+B,CACtC,CAAC;wBACF,OAAO,GAAG,iBAAiB,CAAC,OAAO,CACjC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAC5D,CAAC,OAAO,CAAC,CAAC;oBACb,CAAC;yBAAM,CAAC;wBACN,OAAO,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;qBAAM,IAAI,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACxD,sEAAsE;oBACtE,MAAM,UAAU,GAA2B,EAAE,CAAC;oBAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CACvC,KAAK,CAAC,IAA+B,CACtC,EAAE,CAAC;wBACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BACxB,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvC,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBAED,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;gBAEpD,+DAA+D;gBAC/D,8DAA8D;gBAC9D,wDAAwD;gBACxD,MAAM,cAAc,GAAG,gBAAgB;oBACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,EAAE;wBACjD,QAAQ,EAAE,QAAQ;qBACJ,CAAC,CAClB;oBACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEhD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;gBACvC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CACpB,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,IAAI,UAAU,EAAE,CAC/C,CAAC;gBAEF,6DAA6D;gBAC7D,4DAA4D;gBAC5D,2DAA2D;gBAC3D,iDAAiD;gBACjD,IACE,gBAAgB;oBAChB,QAAQ,CAAC,MAAM,IAAI,GAAG;oBACtB,QAAQ,CAAC,MAAM,GAAG,GAAG,EACrB,CAAC;oBACD,MAAM,QAAQ,GACZ,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC/D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,SAAS,GAAG;4BAChB,CAAC,gBAAgB,CAAC,aAAa,IAAI,KAAK,CAAC,EAAE,QAAQ;yBACpD,CAAC;wBACF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CACpD,SAAS,CACV,CAAC,IAAI,CACJ,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CACvC,MAAM,CAAC,IAAI,CACT,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAClD,CACF,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBAC3B,iEAAiE;oBACjE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CACzC,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAChB,MAAM,CAAC,GAAG,CACR,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAY,CACnD,EACD,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CAAC;wBACb,aAAa,EAAE,IAAI;wBACnB,IAAI,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE;qBACrB,CAAC,CAChB,CACF,CACJ,CACF,CAAC;oBACF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAC7B,QAAQ,CAAC,MAAM,EACf,SAAS,EACT,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,CACjB,CAAC;gBACJ,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,kEAAkE;gBAClE,8EAA8E;gBAC9E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACxC,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,0EAA0E;gBAC1E,4DAA4D;gBAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CACvC,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAe,CAAC,CAAC,CAChE,CACF,CAAC;gBACF,IAAI,YAAY,GAAG,MAAM,CAAC,iBAAiB;oBACzC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;oBACnC,CAAC,CAAC,OAAO,CAAC;gBAEZ,qEAAqE;gBACrE,mEAAmE;gBACnE,kEAAkE;gBAClE,oEAAoE;gBACpE,mCAAmC;gBACnC,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,QAAQ,GAAG,YAGJ,CAAC;oBACd,IACE,QAAQ;wBACR,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAC1B,CAAC;wBACD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAC7B,QAAQ,CAAC,MAAM,EACf,QAAQ,EACR,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,CACjB,CAAC;oBACJ,CAAC;oBACD,YAAY,GAAG,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC;gBACxC,CAAC;gBAED,0EAA0E;gBAC1E,2EAA2E;gBAC3E,iEAAiE;gBACjE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAY,CAAC;oBACrD,CAAC;oBAAC,MAAM,CAAC;wBACP,mDAAmD;oBACrD,CAAC;gBACH,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,YAAY;4BACV,YAAY,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC/D,CAAC;gBACH,CAAC;gBAED,8DAA8D;gBAC9D,mDAAmD;gBACnD,IACE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC;oBAC5B,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC5B,OAAO,YAAY,KAAK,QAAQ;oBAChC,YAAY,KAAK,IAAI;oBACrB,OAAO,IAAI,YAAY;oBACvB,KAAK,CAAC,OAAO,CAAE,YAAwC,CAAC,KAAK,CAAC,EAC9D,CAAC;oBACD,YAAY,GAAI,YAAwC,CAAC,KAAK,CAAC;gBACjE,CAAC;gBAED,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CACpD,YAAY,CACb,CAAC,IAAI,CACJ,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CACvC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAC7D,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEL,gEAAgE;YAChE,kEAAkE;YAClE,qEAAqE;YACrE,oEAAoE;YACpE,+DAA+D;YAC/D,+DAA+D;YAC/D,kEAAkE;YAClE,4CAA4C;YAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;YAC9B,MAAM,EAAE,GAAG,CAAC,KAAY,EAAgC,EAAE;gBACxD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACpC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAU,SAAS,CAAC,CAAC;oBACtD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACzD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CACvD,EACD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAC/C,CAAC;oBAEF,OAAO,KAAK,CAAC,CAAC,IAAI,CAChB,OAAO,CAAC,KAAK,CAAC,EACd,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EACrD,MAAM,CAAC,KAAK;wBACV,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;4BAChB,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;yBAC1B,CAAC;wBACN,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CACjB,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAC7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACxB,UAAU,EAAE;wBACV,aAAa,EAAE,MAAM;wBACrB,YAAY,EAAE,SAAS,CAAC,IAAI;qBAC7B;iBACF,CAAC,CACH,CAAC;gBACF,OAAO,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CACtD,OAAO;oBACL,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC;oBAC3D,CAAC,CAAC,QAAQ,CACb,CAAC;YACJ,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG;gBACZ,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACf,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBACD,IAAI;oBACF,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;gBACnD,CAAC;gBACD,QAAQ;oBACN,OAAO,MAAM,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,EAAE,EAChB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE,CAC5B,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAC5C,CAAC;gBACJ,CAAC;aACF,CAAC;YAEF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAQ,CAAC;QACzC,CAAC;QAED,aAAa,EAAE,CAKb,QAAiD,EACjD,UAA+B,EAM/B,EAAE;YACF,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAW,CAAC;YAExC,4BAA4B;YAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK;gBACnD,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM;gBACtD,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC,CAAC;YAIJ,MAAM,QAAQ,GAAG,UAAU,IAAI,oBAAoB,CAAC;YAEpD,mBAAmB;YACnB,MAAM,OAAO,GAAG,CAAC,KAA0B,EAAE,EAAE,CAC7C,QAAQ,CAAC,MAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAE7C,0BAA0B;YAC1B,MAAM,OAAO,GAAG,CAAC,KAA0B,EAAE,EAAE,CAC7C,UAAU,CAAC,KAAK;gBACd,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;gBAChD,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAErB,MAAM,MAAM,GAAG,MAGd,CAAC;YAEF,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;YACvB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;YAEvB,OAAO,MAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/lib/schemas.d.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud-agnostic binary HTTP body schemas.
|
|
3
|
+
*
|
|
4
|
+
* These schemas describe the wire-shape of raw byte bodies — request bodies
|
|
5
|
+
* for `application/octet-stream` uploads (e.g. R2 PutObject, S3 PutObject,
|
|
6
|
+
* GCS object insert) and response bodies for the corresponding downloads.
|
|
7
|
+
* They are intentionally cloud-agnostic so every distilled SDK can share a
|
|
8
|
+
* single binary-body contract.
|
|
9
|
+
*/
|
|
10
|
+
import * as Schema from "effect/Schema";
|
|
11
|
+
import * as Stream from "effect/Stream";
|
|
12
|
+
import type * as HttpClientError from "effect/unstable/http/HttpClientError";
|
|
13
|
+
/**
|
|
14
|
+
* Schema for `Blob` request bodies (browser/web standard binary blob).
|
|
15
|
+
*/
|
|
16
|
+
export declare const BlobSchema: Schema.declare<Blob, Blob>;
|
|
17
|
+
/**
|
|
18
|
+
* Schema for `Uint8Array` request bodies.
|
|
19
|
+
*/
|
|
20
|
+
export declare const Uint8ArraySchema: Schema.declare<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
|
|
21
|
+
/**
|
|
22
|
+
* Schema for `ArrayBuffer` request bodies.
|
|
23
|
+
*/
|
|
24
|
+
export declare const ArrayBufferSchema: Schema.declare<ArrayBuffer, ArrayBuffer>;
|
|
25
|
+
/**
|
|
26
|
+
* Schema for `ReadableStream<Uint8Array>` request bodies (web-platform
|
|
27
|
+
* streaming API).
|
|
28
|
+
*/
|
|
29
|
+
export declare const ReadableStreamSchema: Schema.declare<ReadableStream<Uint8Array<ArrayBufferLike>>, ReadableStream<Uint8Array<ArrayBufferLike>>>;
|
|
30
|
+
/**
|
|
31
|
+
* Schema for Effect `Stream.Stream<Uint8Array>` request bodies. Accepts any
|
|
32
|
+
* Stream regardless of error/requirements channels — the runtime treats it
|
|
33
|
+
* as an opaque source of bytes.
|
|
34
|
+
*/
|
|
35
|
+
export declare const StreamSchema: Schema.declare<Stream.Stream<Uint8Array<ArrayBufferLike>, unknown, unknown>, Stream.Stream<Uint8Array<ArrayBufferLike>, unknown, unknown>>;
|
|
36
|
+
/**
|
|
37
|
+
* Schema for raw `application/octet-stream` request bodies (e.g. R2
|
|
38
|
+
* `PutObject`, S3 `PutObject`). Inputs are intentionally wide — any
|
|
39
|
+
* standard JS binary source plus Effect `Stream.Stream<Uint8Array>` is
|
|
40
|
+
* accepted. The on-the-wire `Content-Type` is supplied by the caller
|
|
41
|
+
* through the operation's `content-type` header field; the runtime falls
|
|
42
|
+
* back to `application/octet-stream` when none is provided.
|
|
43
|
+
*/
|
|
44
|
+
export declare const BinaryBodySchema: Schema.Union<readonly [Schema.declare<Blob, Blob>, Schema.declare<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>, Schema.declare<ArrayBuffer, ArrayBuffer>, Schema.declare<ReadableStream<Uint8Array<ArrayBufferLike>>, ReadableStream<Uint8Array<ArrayBufferLike>>>, Schema.declare<Stream.Stream<Uint8Array<ArrayBufferLike>, unknown, unknown>, Stream.Stream<Uint8Array<ArrayBufferLike>, unknown, unknown>>, Schema.String]>;
|
|
45
|
+
/**
|
|
46
|
+
* TypeScript type for raw HTTP request body content. Inputs are wide;
|
|
47
|
+
* outputs (downloads) are always Effect `Stream.Stream<Uint8Array>`.
|
|
48
|
+
*/
|
|
49
|
+
export type BinaryBody = Blob | Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | Stream.Stream<Uint8Array, unknown, unknown> | string;
|
|
50
|
+
/**
|
|
51
|
+
* Marker schema for raw `application/octet-stream` download responses (e.g.
|
|
52
|
+
* R2 `GetObject`). The runtime never decodes through this schema — it
|
|
53
|
+
* detects `responseContentType: "binary"` on the operation's HTTP trait and
|
|
54
|
+
* surfaces the response body directly as an Effect
|
|
55
|
+
* `Stream.Stream<Uint8Array, HttpClientError.HttpClientError>`. This schema
|
|
56
|
+
* is exported solely so generated service files have something to assign
|
|
57
|
+
* to the operation's output schema slot.
|
|
58
|
+
*/
|
|
59
|
+
export declare const BinaryStreamResponseSchema: Schema.declare<Stream.Stream<Uint8Array<ArrayBufferLike>, HttpClientError.HttpClientError, never>, Stream.Stream<Uint8Array<ArrayBufferLike>, HttpClientError.HttpClientError, never>>;
|
|
60
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,eAAe,MAAM,sCAAsC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,UAAU,4BAOtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,0EAO5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,0CAO7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,0GAQhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,4IAQxB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,8aAO3B,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB,IAAI,GACJ,UAAU,GACV,WAAW,GACX,cAAc,CAAC,UAAU,CAAC,GAC1B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,GAC3C,MAAM,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,wLAUtC,CAAC"}
|
package/lib/schemas.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud-agnostic binary HTTP body schemas.
|
|
3
|
+
*
|
|
4
|
+
* These schemas describe the wire-shape of raw byte bodies — request bodies
|
|
5
|
+
* for `application/octet-stream` uploads (e.g. R2 PutObject, S3 PutObject,
|
|
6
|
+
* GCS object insert) and response bodies for the corresponding downloads.
|
|
7
|
+
* They are intentionally cloud-agnostic so every distilled SDK can share a
|
|
8
|
+
* single binary-body contract.
|
|
9
|
+
*/
|
|
10
|
+
import * as Schema from "effect/Schema";
|
|
11
|
+
import * as Stream from "effect/Stream";
|
|
12
|
+
/**
|
|
13
|
+
* Schema for `Blob` request bodies (browser/web standard binary blob).
|
|
14
|
+
*/
|
|
15
|
+
export const BlobSchema = Schema.declare((input) => typeof Blob !== "undefined" && input instanceof Blob, {
|
|
16
|
+
identifier: "Blob",
|
|
17
|
+
description: "A Blob to send as the raw HTTP request body",
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Schema for `Uint8Array` request bodies.
|
|
21
|
+
*/
|
|
22
|
+
export const Uint8ArraySchema = Schema.declare((input) => typeof Uint8Array !== "undefined" && input instanceof Uint8Array, {
|
|
23
|
+
identifier: "Uint8Array",
|
|
24
|
+
description: "A Uint8Array to send as the raw HTTP request body",
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Schema for `ArrayBuffer` request bodies.
|
|
28
|
+
*/
|
|
29
|
+
export const ArrayBufferSchema = Schema.declare((input) => typeof ArrayBuffer !== "undefined" && input instanceof ArrayBuffer, {
|
|
30
|
+
identifier: "ArrayBuffer",
|
|
31
|
+
description: "An ArrayBuffer to send as the raw HTTP request body",
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* Schema for `ReadableStream<Uint8Array>` request bodies (web-platform
|
|
35
|
+
* streaming API).
|
|
36
|
+
*/
|
|
37
|
+
export const ReadableStreamSchema = Schema.declare((input) => typeof ReadableStream !== "undefined" && input instanceof ReadableStream, {
|
|
38
|
+
identifier: "ReadableStream",
|
|
39
|
+
description: "A ReadableStream<Uint8Array> to send as the raw HTTP request body",
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Schema for Effect `Stream.Stream<Uint8Array>` request bodies. Accepts any
|
|
43
|
+
* Stream regardless of error/requirements channels — the runtime treats it
|
|
44
|
+
* as an opaque source of bytes.
|
|
45
|
+
*/
|
|
46
|
+
export const StreamSchema = Schema.declare((input) => Stream.isStream(input), {
|
|
47
|
+
identifier: "Stream",
|
|
48
|
+
description: "An Effect Stream.Stream<Uint8Array> to send as the raw HTTP request body",
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Schema for raw `application/octet-stream` request bodies (e.g. R2
|
|
52
|
+
* `PutObject`, S3 `PutObject`). Inputs are intentionally wide — any
|
|
53
|
+
* standard JS binary source plus Effect `Stream.Stream<Uint8Array>` is
|
|
54
|
+
* accepted. The on-the-wire `Content-Type` is supplied by the caller
|
|
55
|
+
* through the operation's `content-type` header field; the runtime falls
|
|
56
|
+
* back to `application/octet-stream` when none is provided.
|
|
57
|
+
*/
|
|
58
|
+
export const BinaryBodySchema = Schema.Union([
|
|
59
|
+
BlobSchema,
|
|
60
|
+
Uint8ArraySchema,
|
|
61
|
+
ArrayBufferSchema,
|
|
62
|
+
ReadableStreamSchema,
|
|
63
|
+
StreamSchema,
|
|
64
|
+
Schema.String,
|
|
65
|
+
]);
|
|
66
|
+
/**
|
|
67
|
+
* Marker schema for raw `application/octet-stream` download responses (e.g.
|
|
68
|
+
* R2 `GetObject`). The runtime never decodes through this schema — it
|
|
69
|
+
* detects `responseContentType: "binary"` on the operation's HTTP trait and
|
|
70
|
+
* surfaces the response body directly as an Effect
|
|
71
|
+
* `Stream.Stream<Uint8Array, HttpClientError.HttpClientError>`. This schema
|
|
72
|
+
* is exported solely so generated service files have something to assign
|
|
73
|
+
* to the operation's output schema slot.
|
|
74
|
+
*/
|
|
75
|
+
export const BinaryStreamResponseSchema = Schema.declare((input) => Stream.isStream(input), {
|
|
76
|
+
identifier: "BinaryStreamResponse",
|
|
77
|
+
description: "An Effect Stream.Stream<Uint8Array> surfacing a raw octet-stream download response",
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CACtC,CAAC,KAAK,EAAiB,EAAE,CACvB,OAAO,IAAI,KAAK,WAAW,IAAI,KAAK,YAAY,IAAI,EACtD;IACE,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,6CAA6C;CAC3D,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAC5C,CAAC,KAAK,EAAuB,EAAE,CAC7B,OAAO,UAAU,KAAK,WAAW,IAAI,KAAK,YAAY,UAAU,EAClE;IACE,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,mDAAmD;CACjE,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAC7C,CAAC,KAAK,EAAwB,EAAE,CAC9B,OAAO,WAAW,KAAK,WAAW,IAAI,KAAK,YAAY,WAAW,EACpE;IACE,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,qDAAqD;CACnE,CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAChD,CAAC,KAAK,EAAuC,EAAE,CAC7C,OAAO,cAAc,KAAK,WAAW,IAAI,KAAK,YAAY,cAAc,EAC1E;IACE,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EACT,mEAAmE;CACtE,CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CACxC,CAAC,KAAK,EAAwD,EAAE,CAC9D,MAAM,CAAC,QAAQ,CAAC,KAAiD,CAAC,EACpE;IACE,UAAU,EAAE,QAAQ;IACpB,WAAW,EACT,0EAA0E;CAC7E,CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3C,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IACpB,YAAY;IACZ,MAAM,CAAC,MAAM;CACd,CAAC,CAAC;AAcH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,OAAO,CACtD,CACE,KAAK,EACgE,EAAE,CACvE,MAAM,CAAC,QAAQ,CAAC,KAAiD,CAAC,EACpE;IACE,UAAU,EAAE,sBAAsB;IAClC,WAAW,EACT,oFAAoF;CACvF,CACF,CAAC"}
|
package/lib/traits.d.ts
CHANGED
|
@@ -52,8 +52,25 @@ export interface HttpTrait {
|
|
|
52
52
|
method: HttpMethod;
|
|
53
53
|
/** Path template with {param} placeholders */
|
|
54
54
|
path: string;
|
|
55
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Request body content type. Recognized values:
|
|
57
|
+
* - `"multipart"` — `multipart/form-data` (file uploads)
|
|
58
|
+
* - `"form-urlencoded"` — `application/x-www-form-urlencoded`
|
|
59
|
+
* - `"binary"` — `application/octet-stream` (raw byte body
|
|
60
|
+
* accepting `Blob | Uint8Array | ArrayBuffer |
|
|
61
|
+
* string | Stream<Uint8Array> | ReadableStream`)
|
|
62
|
+
* - `undefined` — JSON
|
|
63
|
+
*/
|
|
56
64
|
contentType?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Response body content type. Recognized values:
|
|
67
|
+
* - `"binary"` — `application/octet-stream` download. The runtime
|
|
68
|
+
* bypasses JSON decoding and returns the body as an
|
|
69
|
+
* Effect `Stream.Stream<Uint8Array>`.
|
|
70
|
+
* - `undefined` — JSON / text decoded through the operation's output
|
|
71
|
+
* schema.
|
|
72
|
+
*/
|
|
73
|
+
responseContentType?: string;
|
|
57
74
|
/** Whether the request has a body (used by GCP generator) */
|
|
58
75
|
hasBody?: boolean;
|
|
59
76
|
}
|
|
@@ -139,6 +156,30 @@ export declare const httpBodySymbol: unique symbol;
|
|
|
139
156
|
* (not a named field within a JSON body).
|
|
140
157
|
*/
|
|
141
158
|
export declare const HttpBody: () => Annotation;
|
|
159
|
+
/** Symbol for binary response body annotation */
|
|
160
|
+
export declare const binaryResponseBodySymbol: unique symbol;
|
|
161
|
+
/**
|
|
162
|
+
* BinaryResponseBody - marks a response struct field as the raw binary body
|
|
163
|
+
* of an `application/octet-stream` download. The runtime fills the field
|
|
164
|
+
* with an Effect `Stream.Stream<Uint8Array>` of the response body. Sibling
|
|
165
|
+
* fields annotated with `T.HttpResponseHeader` are populated from the
|
|
166
|
+
* matching response headers.
|
|
167
|
+
*/
|
|
168
|
+
export declare const BinaryResponseBody: () => Annotation;
|
|
169
|
+
/** Symbol for response header annotation */
|
|
170
|
+
export declare const responseHeaderSymbol: unique symbol;
|
|
171
|
+
/**
|
|
172
|
+
* HttpResponseHeader - marks a response struct field as a value pulled from
|
|
173
|
+
* a named HTTP response header (e.g. `etag`, `content-type`). The runtime
|
|
174
|
+
* populates the field with the (lowercased) header value if present, and
|
|
175
|
+
* leaves it `undefined` otherwise. Mirror of `T.HttpHeader` for response-
|
|
176
|
+
* side header extraction.
|
|
177
|
+
*
|
|
178
|
+
* Currently consumed by binary-download operations (operations whose
|
|
179
|
+
* `T.Http({ responseContentType: "binary" })` trait is set), where the
|
|
180
|
+
* response struct's shape is `{ body: Stream.Stream<Uint8Array>, ...headers }`.
|
|
181
|
+
*/
|
|
182
|
+
export declare const HttpResponseHeader: (name: string) => Annotation;
|
|
142
183
|
/** Symbol for GraphQL operation metadata (query string + operation name) */
|
|
143
184
|
export declare const graphqlOpSymbol: unique symbol;
|
|
144
185
|
/** GraphQL operation type */
|
|
@@ -339,6 +380,22 @@ export interface RequestParts {
|
|
|
339
380
|
isMultipart: boolean;
|
|
340
381
|
}
|
|
341
382
|
export declare const buildRequestParts: (ast: AST.AST, httpTrait: HttpTrait, rawInput: Record<string, unknown>, inputSchema?: any) => RequestParts;
|
|
383
|
+
/**
|
|
384
|
+
* Build the response object for a binary-download operation
|
|
385
|
+
* (`T.Http({ responseContentType: "binary" })`).
|
|
386
|
+
*
|
|
387
|
+
* The output schema is expected to be a Struct with one field annotated
|
|
388
|
+
* `T.BinaryResponseBody()` (the `body` field — populated with the supplied
|
|
389
|
+
* `Stream`) and zero-or-more sibling fields annotated
|
|
390
|
+
* `T.HttpResponseHeader(name)` (populated by reading the named response
|
|
391
|
+
* header). Header lookups are case-insensitive.
|
|
392
|
+
*
|
|
393
|
+
* Header values are coerced to the field's declared primitive type so that
|
|
394
|
+
* `content-length` lands as a `number`, `last-modified` as a `Date` (when
|
|
395
|
+
* the schema declares `Schema.Date`), etc. Anything more exotic stays a
|
|
396
|
+
* raw string.
|
|
397
|
+
*/
|
|
398
|
+
export declare const buildBinaryResponse: (ast: AST.AST, body: unknown, responseHeaders: Record<string, string>) => Record<string, unknown>;
|
|
342
399
|
/**
|
|
343
400
|
* Helper to get a value from an object using a dot-separated path.
|
|
344
401
|
* Used for pagination traits and nested property access.
|
package/lib/traits.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../src/traits.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAMxC;;GAEG;AACH,QAAA,MAAM,oBAAoB,eAAiD,CAAC;AAE5E;;;GAGG;AACH,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IACtC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAE3E,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAQnE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,GAAG,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAoB5D;AAMD,kEAAkE;AAClE,eAAO,MAAM,UAAU,eAAsC,CAAC;AAE9D,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9E,+BAA+B;AAC/B,MAAM,WAAW,SAAS;IACxB,kBAAkB;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb
|
|
1
|
+
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../src/traits.ts"],"names":[],"mappings":"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"}
|
package/lib/traits.js
CHANGED
|
@@ -165,6 +165,30 @@ export const httpBodySymbol = Symbol.for("@distilled.cloud/http-body");
|
|
|
165
165
|
* (not a named field within a JSON body).
|
|
166
166
|
*/
|
|
167
167
|
export const HttpBody = () => makeAnnotation(httpBodySymbol, true);
|
|
168
|
+
/** Symbol for binary response body annotation */
|
|
169
|
+
export const binaryResponseBodySymbol = Symbol.for("@distilled.cloud/binary-response-body");
|
|
170
|
+
/**
|
|
171
|
+
* BinaryResponseBody - marks a response struct field as the raw binary body
|
|
172
|
+
* of an `application/octet-stream` download. The runtime fills the field
|
|
173
|
+
* with an Effect `Stream.Stream<Uint8Array>` of the response body. Sibling
|
|
174
|
+
* fields annotated with `T.HttpResponseHeader` are populated from the
|
|
175
|
+
* matching response headers.
|
|
176
|
+
*/
|
|
177
|
+
export const BinaryResponseBody = () => makeAnnotation(binaryResponseBodySymbol, true);
|
|
178
|
+
/** Symbol for response header annotation */
|
|
179
|
+
export const responseHeaderSymbol = Symbol.for("@distilled.cloud/response-header");
|
|
180
|
+
/**
|
|
181
|
+
* HttpResponseHeader - marks a response struct field as a value pulled from
|
|
182
|
+
* a named HTTP response header (e.g. `etag`, `content-type`). The runtime
|
|
183
|
+
* populates the field with the (lowercased) header value if present, and
|
|
184
|
+
* leaves it `undefined` otherwise. Mirror of `T.HttpHeader` for response-
|
|
185
|
+
* side header extraction.
|
|
186
|
+
*
|
|
187
|
+
* Currently consumed by binary-download operations (operations whose
|
|
188
|
+
* `T.Http({ responseContentType: "binary" })` trait is set), where the
|
|
189
|
+
* response struct's shape is `{ body: Stream.Stream<Uint8Array>, ...headers }`.
|
|
190
|
+
*/
|
|
191
|
+
export const HttpResponseHeader = (name) => makeAnnotation(responseHeaderSymbol, name);
|
|
168
192
|
/** Symbol for GraphQL operation metadata (query string + operation name) */
|
|
169
193
|
export const graphqlOpSymbol = Symbol.for("@distilled.cloud/graphql-op");
|
|
170
194
|
/**
|
|
@@ -582,6 +606,78 @@ inputSchema) => {
|
|
|
582
606
|
isMultipart,
|
|
583
607
|
};
|
|
584
608
|
};
|
|
609
|
+
/**
|
|
610
|
+
* Build the response object for a binary-download operation
|
|
611
|
+
* (`T.Http({ responseContentType: "binary" })`).
|
|
612
|
+
*
|
|
613
|
+
* The output schema is expected to be a Struct with one field annotated
|
|
614
|
+
* `T.BinaryResponseBody()` (the `body` field — populated with the supplied
|
|
615
|
+
* `Stream`) and zero-or-more sibling fields annotated
|
|
616
|
+
* `T.HttpResponseHeader(name)` (populated by reading the named response
|
|
617
|
+
* header). Header lookups are case-insensitive.
|
|
618
|
+
*
|
|
619
|
+
* Header values are coerced to the field's declared primitive type so that
|
|
620
|
+
* `content-length` lands as a `number`, `last-modified` as a `Date` (when
|
|
621
|
+
* the schema declares `Schema.Date`), etc. Anything more exotic stays a
|
|
622
|
+
* raw string.
|
|
623
|
+
*/
|
|
624
|
+
export const buildBinaryResponse = (ast, body, responseHeaders) => {
|
|
625
|
+
const lowercased = {};
|
|
626
|
+
for (const [k, v] of Object.entries(responseHeaders)) {
|
|
627
|
+
lowercased[k.toLowerCase()] = v;
|
|
628
|
+
}
|
|
629
|
+
const props = getStructProps(ast);
|
|
630
|
+
const result = {};
|
|
631
|
+
for (const prop of props) {
|
|
632
|
+
const tsName = String(prop.name);
|
|
633
|
+
const isBody = getAnnotation(prop.type, binaryResponseBodySymbol);
|
|
634
|
+
if (isBody) {
|
|
635
|
+
result[tsName] = body;
|
|
636
|
+
continue;
|
|
637
|
+
}
|
|
638
|
+
const headerName = getAnnotation(prop.type, responseHeaderSymbol);
|
|
639
|
+
if (headerName !== undefined) {
|
|
640
|
+
const raw = lowercased[headerName.toLowerCase()];
|
|
641
|
+
if (raw === undefined)
|
|
642
|
+
continue;
|
|
643
|
+
result[tsName] = coerceHeaderValue(raw, prop.type);
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
return result;
|
|
647
|
+
};
|
|
648
|
+
/**
|
|
649
|
+
* Best-effort coercion of a raw HTTP header string to whichever primitive
|
|
650
|
+
* the response schema declares. Falls back to the original string for
|
|
651
|
+
* anything we don't recognize — the schema's decode step (which the binary
|
|
652
|
+
* runtime path skips) would have done the same coercion for JSON bodies.
|
|
653
|
+
*/
|
|
654
|
+
const coerceHeaderValue = (raw, propType) => {
|
|
655
|
+
// Walk through Suspends / Optionals / Encoded chains to the underlying type.
|
|
656
|
+
let inner = propType;
|
|
657
|
+
while (inner.encoding && inner.encoding.length > 0) {
|
|
658
|
+
inner = inner.encoding[0].to;
|
|
659
|
+
}
|
|
660
|
+
if (inner._tag === "Suspend")
|
|
661
|
+
inner = inner.thunk();
|
|
662
|
+
// `Schema.optional(Schema.X)` shows up as a Union with `undefined`/void.
|
|
663
|
+
if (inner._tag === "Union") {
|
|
664
|
+
const nonOptional = inner.types.find((t) => t._tag !== "Void" && t._tag !== "Never");
|
|
665
|
+
if (nonOptional)
|
|
666
|
+
inner = nonOptional;
|
|
667
|
+
}
|
|
668
|
+
if (inner._tag === "Number") {
|
|
669
|
+
const n = Number(raw);
|
|
670
|
+
return Number.isFinite(n) ? n : raw;
|
|
671
|
+
}
|
|
672
|
+
if (inner._tag === "Boolean") {
|
|
673
|
+
if (raw === "true")
|
|
674
|
+
return true;
|
|
675
|
+
if (raw === "false")
|
|
676
|
+
return false;
|
|
677
|
+
return raw;
|
|
678
|
+
}
|
|
679
|
+
return raw;
|
|
680
|
+
};
|
|
585
681
|
/**
|
|
586
682
|
* Helper to get a value from an object using a dot-separated path.
|
|
587
683
|
* Used for pagination traits and nested property access.
|
package/lib/traits.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traits.js","sourceRoot":"","sources":["../src/traits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"traits.js","sourceRoot":"","sources":["../src/traits.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@distilled.cloud/core",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/alchemy-run/distilled",
|
|
@@ -48,6 +48,11 @@
|
|
|
48
48
|
"bun": "./src/retry-after.ts",
|
|
49
49
|
"default": "./lib/retry-after.js"
|
|
50
50
|
},
|
|
51
|
+
"./schemas": {
|
|
52
|
+
"types": "./lib/schemas.d.ts",
|
|
53
|
+
"bun": "./src/schemas.ts",
|
|
54
|
+
"default": "./lib/schemas.js"
|
|
55
|
+
},
|
|
51
56
|
"./sensitive": {
|
|
52
57
|
"types": "./lib/sensitive.d.ts",
|
|
53
58
|
"bun": "./src/sensitive.ts",
|
package/src/client.ts
CHANGED
|
@@ -378,6 +378,84 @@ function buildFormData(body: Record<string, unknown>): FormData {
|
|
|
378
378
|
return formData;
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
+
/**
|
|
382
|
+
* Set a raw binary HTTP request body.
|
|
383
|
+
*
|
|
384
|
+
* Used for `T.Http({ contentType: "binary" })` operations (e.g. R2 PutObject)
|
|
385
|
+
* where `parts.body` is the value of the lone `T.HttpBody()` field — wide
|
|
386
|
+
* input types are accepted: `Blob`, `Uint8Array`, `ArrayBuffer`, `string`,
|
|
387
|
+
* web `ReadableStream<Uint8Array>`, or Effect `Stream.Stream<Uint8Array>`.
|
|
388
|
+
* Stream-shaped inputs are sent as true streaming `HttpBody.stream(...)`
|
|
389
|
+
* uploads.
|
|
390
|
+
*
|
|
391
|
+
* The `Content-Type` header is left untouched (the operation's
|
|
392
|
+
* `content-type` header field already populated `parts.headers`).
|
|
393
|
+
*/
|
|
394
|
+
function setBinaryBody(
|
|
395
|
+
request: HttpClientRequest.HttpClientRequest,
|
|
396
|
+
body: unknown,
|
|
397
|
+
): Effect.Effect<HttpClientRequest.HttpClientRequest, HttpBody.HttpBodyError> {
|
|
398
|
+
if (body instanceof Uint8Array) {
|
|
399
|
+
return Effect.succeed(
|
|
400
|
+
HttpClientRequest.setBody(HttpBody.uint8Array(body))(request),
|
|
401
|
+
);
|
|
402
|
+
}
|
|
403
|
+
if (typeof ArrayBuffer !== "undefined" && body instanceof ArrayBuffer) {
|
|
404
|
+
return Effect.succeed(
|
|
405
|
+
HttpClientRequest.setBody(HttpBody.uint8Array(new Uint8Array(body)))(
|
|
406
|
+
request,
|
|
407
|
+
),
|
|
408
|
+
);
|
|
409
|
+
}
|
|
410
|
+
if (typeof Blob !== "undefined" && body instanceof Blob) {
|
|
411
|
+
// Stream the Blob through `HttpBody.stream` rather than buffering — keeps
|
|
412
|
+
// memory bounded for large uploads.
|
|
413
|
+
const blob = body;
|
|
414
|
+
const blobStream = Stream.fromReadableStream({
|
|
415
|
+
evaluate: () => blob.stream(),
|
|
416
|
+
onError: (cause) =>
|
|
417
|
+
new HttpBody.HttpBodyError({ reason: { _tag: "JsonError" }, cause }),
|
|
418
|
+
});
|
|
419
|
+
return Effect.succeed(
|
|
420
|
+
HttpClientRequest.setBody(HttpBody.stream(blobStream))(request),
|
|
421
|
+
);
|
|
422
|
+
}
|
|
423
|
+
if (typeof ReadableStream !== "undefined" && body instanceof ReadableStream) {
|
|
424
|
+
const rs = body as ReadableStream<Uint8Array>;
|
|
425
|
+
const rsStream = Stream.fromReadableStream({
|
|
426
|
+
evaluate: () => rs,
|
|
427
|
+
onError: (cause) =>
|
|
428
|
+
new HttpBody.HttpBodyError({ reason: { _tag: "JsonError" }, cause }),
|
|
429
|
+
});
|
|
430
|
+
return Effect.succeed(
|
|
431
|
+
HttpClientRequest.setBody(HttpBody.stream(rsStream))(request),
|
|
432
|
+
);
|
|
433
|
+
}
|
|
434
|
+
if (Stream.isStream(body as Stream.Stream<unknown, unknown, unknown>)) {
|
|
435
|
+
// Effect Stream — pass straight through to `HttpBody.stream`.
|
|
436
|
+
return Effect.succeed(
|
|
437
|
+
HttpClientRequest.setBody(
|
|
438
|
+
HttpBody.stream(body as Stream.Stream<Uint8Array, unknown>),
|
|
439
|
+
)(request),
|
|
440
|
+
);
|
|
441
|
+
}
|
|
442
|
+
if (typeof body === "string") {
|
|
443
|
+
return Effect.succeed(
|
|
444
|
+
HttpClientRequest.setBody(HttpBody.text(body))(request),
|
|
445
|
+
);
|
|
446
|
+
}
|
|
447
|
+
return Effect.fail(
|
|
448
|
+
new HttpBody.HttpBodyError({
|
|
449
|
+
reason: { _tag: "JsonError" },
|
|
450
|
+
cause: new TypeError(
|
|
451
|
+
`Binary HTTP body must be a Blob, Uint8Array, ArrayBuffer, ReadableStream, Stream<Uint8Array>, or string; got ${
|
|
452
|
+
body === null ? "null" : typeof body
|
|
453
|
+
}`,
|
|
454
|
+
),
|
|
455
|
+
}),
|
|
456
|
+
);
|
|
457
|
+
}
|
|
458
|
+
|
|
381
459
|
// ============================================================================
|
|
382
460
|
// API Client Factory
|
|
383
461
|
// ============================================================================
|
|
@@ -494,11 +572,27 @@ export const makeAPI = <Creds>(config: ClientConfig<Creds>) => {
|
|
|
494
572
|
|
|
495
573
|
// Set Content-Type based on body type
|
|
496
574
|
// - Skip for FormData (multipart) — browser sets boundary
|
|
575
|
+
// - Skip for binary — `parts.headers` already carries a caller-supplied
|
|
576
|
+
// `content-type` header (e.g. R2 PutObject's `content-type` field)
|
|
497
577
|
// - Use form-urlencoded for Stripe-style APIs
|
|
498
578
|
// - Default to JSON
|
|
499
579
|
const isFormUrlEncoded = httpTrait.contentType === "form-urlencoded";
|
|
580
|
+
const isBinaryBody = httpTrait.contentType === "binary";
|
|
500
581
|
if (parts.isMultipart) {
|
|
501
582
|
// browser/runtime sets Content-Type with boundary
|
|
583
|
+
} else if (isBinaryBody) {
|
|
584
|
+
// Caller's `content-type` header (already applied via
|
|
585
|
+
// `setHeaders(parts.headers)`) wins. If they didn't set one, fall
|
|
586
|
+
// back to a generic octet-stream so the request is still well-formed.
|
|
587
|
+
if (
|
|
588
|
+
!("content-type" in parts.headers) &&
|
|
589
|
+
!("Content-Type" in parts.headers)
|
|
590
|
+
) {
|
|
591
|
+
request = HttpClientRequest.setHeader(
|
|
592
|
+
"Content-Type",
|
|
593
|
+
"application/octet-stream",
|
|
594
|
+
)(request);
|
|
595
|
+
}
|
|
502
596
|
} else if (isFormUrlEncoded) {
|
|
503
597
|
request = HttpClientRequest.setHeader(
|
|
504
598
|
"Content-Type",
|
|
@@ -523,6 +617,11 @@ export const makeAPI = <Creds>(config: ClientConfig<Creds>) => {
|
|
|
523
617
|
request = HttpClientRequest.setBody(HttpBody.formData(formData))(
|
|
524
618
|
request,
|
|
525
619
|
);
|
|
620
|
+
} else if (isBinaryBody) {
|
|
621
|
+
// Raw binary HTTP body — `parts.body` is the value of the lone
|
|
622
|
+
// `T.HttpBody()` field (e.g. a `Blob`, `Uint8Array`, or string),
|
|
623
|
+
// not a record of body fields.
|
|
624
|
+
request = yield* setBinaryBody(request, parts.body);
|
|
526
625
|
} else if (isFormUrlEncoded) {
|
|
527
626
|
// Encode body as form-urlencoded with deepObject bracket notation
|
|
528
627
|
const encoded = buildFormUrlEncoded(
|
|
@@ -631,6 +730,27 @@ export const makeAPI = <Creds>(config: ClientConfig<Creds>) => {
|
|
|
631
730
|
return undefined;
|
|
632
731
|
}
|
|
633
732
|
|
|
733
|
+
// Raw octet-stream download (`responseContentType: "binary"`):
|
|
734
|
+
// bypass the JSON/text decode path entirely. The output schema is
|
|
735
|
+
// a Struct shaped like `{ body: Stream<Uint8Array>, ...headers }`
|
|
736
|
+
// (see `T.BinaryResponseBody()` / `T.HttpResponseHeader()`); we
|
|
737
|
+
// populate it by reading response headers and wrapping the body
|
|
738
|
+
// bytes in `Stream.succeed`. We buffer through
|
|
739
|
+
// `response.arrayBuffer` first so the resulting stream is
|
|
740
|
+
// scope-free — callers can consume it after the underlying scope
|
|
741
|
+
// has closed. (True chunked streaming would require threading a
|
|
742
|
+
// Scope through every operation's return type, which would break
|
|
743
|
+
// the uniform `OperationMethod<I, A, E, never>` shape.)
|
|
744
|
+
if (httpTrait.responseContentType === "binary") {
|
|
745
|
+
const bytes = yield* response.arrayBuffer;
|
|
746
|
+
const stream = Stream.succeed(new Uint8Array(bytes));
|
|
747
|
+
return Traits.buildBinaryResponse(
|
|
748
|
+
outputSchema.ast,
|
|
749
|
+
stream,
|
|
750
|
+
response.headers as Record<string, string>,
|
|
751
|
+
) as unknown;
|
|
752
|
+
}
|
|
753
|
+
|
|
634
754
|
// For 204 No Content: if schema is not Unknown, return undefined.
|
|
635
755
|
// If schema IS Unknown, return empty string (so callers get a defined value).
|
|
636
756
|
if (response.status === 204) {
|
package/src/schemas.ts
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud-agnostic binary HTTP body schemas.
|
|
3
|
+
*
|
|
4
|
+
* These schemas describe the wire-shape of raw byte bodies — request bodies
|
|
5
|
+
* for `application/octet-stream` uploads (e.g. R2 PutObject, S3 PutObject,
|
|
6
|
+
* GCS object insert) and response bodies for the corresponding downloads.
|
|
7
|
+
* They are intentionally cloud-agnostic so every distilled SDK can share a
|
|
8
|
+
* single binary-body contract.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import * as Schema from "effect/Schema";
|
|
12
|
+
import * as Stream from "effect/Stream";
|
|
13
|
+
import type * as HttpClientError from "effect/unstable/http/HttpClientError";
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Schema for `Blob` request bodies (browser/web standard binary blob).
|
|
17
|
+
*/
|
|
18
|
+
export const BlobSchema = Schema.declare(
|
|
19
|
+
(input): input is Blob =>
|
|
20
|
+
typeof Blob !== "undefined" && input instanceof Blob,
|
|
21
|
+
{
|
|
22
|
+
identifier: "Blob",
|
|
23
|
+
description: "A Blob to send as the raw HTTP request body",
|
|
24
|
+
},
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Schema for `Uint8Array` request bodies.
|
|
29
|
+
*/
|
|
30
|
+
export const Uint8ArraySchema = Schema.declare(
|
|
31
|
+
(input): input is Uint8Array =>
|
|
32
|
+
typeof Uint8Array !== "undefined" && input instanceof Uint8Array,
|
|
33
|
+
{
|
|
34
|
+
identifier: "Uint8Array",
|
|
35
|
+
description: "A Uint8Array to send as the raw HTTP request body",
|
|
36
|
+
},
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Schema for `ArrayBuffer` request bodies.
|
|
41
|
+
*/
|
|
42
|
+
export const ArrayBufferSchema = Schema.declare(
|
|
43
|
+
(input): input is ArrayBuffer =>
|
|
44
|
+
typeof ArrayBuffer !== "undefined" && input instanceof ArrayBuffer,
|
|
45
|
+
{
|
|
46
|
+
identifier: "ArrayBuffer",
|
|
47
|
+
description: "An ArrayBuffer to send as the raw HTTP request body",
|
|
48
|
+
},
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Schema for `ReadableStream<Uint8Array>` request bodies (web-platform
|
|
53
|
+
* streaming API).
|
|
54
|
+
*/
|
|
55
|
+
export const ReadableStreamSchema = Schema.declare(
|
|
56
|
+
(input): input is ReadableStream<Uint8Array> =>
|
|
57
|
+
typeof ReadableStream !== "undefined" && input instanceof ReadableStream,
|
|
58
|
+
{
|
|
59
|
+
identifier: "ReadableStream",
|
|
60
|
+
description:
|
|
61
|
+
"A ReadableStream<Uint8Array> to send as the raw HTTP request body",
|
|
62
|
+
},
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Schema for Effect `Stream.Stream<Uint8Array>` request bodies. Accepts any
|
|
67
|
+
* Stream regardless of error/requirements channels — the runtime treats it
|
|
68
|
+
* as an opaque source of bytes.
|
|
69
|
+
*/
|
|
70
|
+
export const StreamSchema = Schema.declare(
|
|
71
|
+
(input): input is Stream.Stream<Uint8Array, unknown, unknown> =>
|
|
72
|
+
Stream.isStream(input as Stream.Stream<unknown, unknown, unknown>),
|
|
73
|
+
{
|
|
74
|
+
identifier: "Stream",
|
|
75
|
+
description:
|
|
76
|
+
"An Effect Stream.Stream<Uint8Array> to send as the raw HTTP request body",
|
|
77
|
+
},
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Schema for raw `application/octet-stream` request bodies (e.g. R2
|
|
82
|
+
* `PutObject`, S3 `PutObject`). Inputs are intentionally wide — any
|
|
83
|
+
* standard JS binary source plus Effect `Stream.Stream<Uint8Array>` is
|
|
84
|
+
* accepted. The on-the-wire `Content-Type` is supplied by the caller
|
|
85
|
+
* through the operation's `content-type` header field; the runtime falls
|
|
86
|
+
* back to `application/octet-stream` when none is provided.
|
|
87
|
+
*/
|
|
88
|
+
export const BinaryBodySchema = Schema.Union([
|
|
89
|
+
BlobSchema,
|
|
90
|
+
Uint8ArraySchema,
|
|
91
|
+
ArrayBufferSchema,
|
|
92
|
+
ReadableStreamSchema,
|
|
93
|
+
StreamSchema,
|
|
94
|
+
Schema.String,
|
|
95
|
+
]);
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* TypeScript type for raw HTTP request body content. Inputs are wide;
|
|
99
|
+
* outputs (downloads) are always Effect `Stream.Stream<Uint8Array>`.
|
|
100
|
+
*/
|
|
101
|
+
export type BinaryBody =
|
|
102
|
+
| Blob
|
|
103
|
+
| Uint8Array
|
|
104
|
+
| ArrayBuffer
|
|
105
|
+
| ReadableStream<Uint8Array>
|
|
106
|
+
| Stream.Stream<Uint8Array, unknown, unknown>
|
|
107
|
+
| string;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Marker schema for raw `application/octet-stream` download responses (e.g.
|
|
111
|
+
* R2 `GetObject`). The runtime never decodes through this schema — it
|
|
112
|
+
* detects `responseContentType: "binary"` on the operation's HTTP trait and
|
|
113
|
+
* surfaces the response body directly as an Effect
|
|
114
|
+
* `Stream.Stream<Uint8Array, HttpClientError.HttpClientError>`. This schema
|
|
115
|
+
* is exported solely so generated service files have something to assign
|
|
116
|
+
* to the operation's output schema slot.
|
|
117
|
+
*/
|
|
118
|
+
export const BinaryStreamResponseSchema = Schema.declare(
|
|
119
|
+
(
|
|
120
|
+
input,
|
|
121
|
+
): input is Stream.Stream<Uint8Array, HttpClientError.HttpClientError> =>
|
|
122
|
+
Stream.isStream(input as Stream.Stream<unknown, unknown, unknown>),
|
|
123
|
+
{
|
|
124
|
+
identifier: "BinaryStreamResponse",
|
|
125
|
+
description:
|
|
126
|
+
"An Effect Stream.Stream<Uint8Array> surfacing a raw octet-stream download response",
|
|
127
|
+
},
|
|
128
|
+
);
|
package/src/traits.ts
CHANGED
|
@@ -117,8 +117,25 @@ export interface HttpTrait {
|
|
|
117
117
|
method: HttpMethod;
|
|
118
118
|
/** Path template with {param} placeholders */
|
|
119
119
|
path: string;
|
|
120
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* Request body content type. Recognized values:
|
|
122
|
+
* - `"multipart"` — `multipart/form-data` (file uploads)
|
|
123
|
+
* - `"form-urlencoded"` — `application/x-www-form-urlencoded`
|
|
124
|
+
* - `"binary"` — `application/octet-stream` (raw byte body
|
|
125
|
+
* accepting `Blob | Uint8Array | ArrayBuffer |
|
|
126
|
+
* string | Stream<Uint8Array> | ReadableStream`)
|
|
127
|
+
* - `undefined` — JSON
|
|
128
|
+
*/
|
|
121
129
|
contentType?: string;
|
|
130
|
+
/**
|
|
131
|
+
* Response body content type. Recognized values:
|
|
132
|
+
* - `"binary"` — `application/octet-stream` download. The runtime
|
|
133
|
+
* bypasses JSON decoding and returns the body as an
|
|
134
|
+
* Effect `Stream.Stream<Uint8Array>`.
|
|
135
|
+
* - `undefined` — JSON / text decoded through the operation's output
|
|
136
|
+
* schema.
|
|
137
|
+
*/
|
|
138
|
+
responseContentType?: string;
|
|
122
139
|
/** Whether the request has a body (used by GCP generator) */
|
|
123
140
|
hasBody?: boolean;
|
|
124
141
|
}
|
|
@@ -237,6 +254,40 @@ export const httpBodySymbol = Symbol.for("@distilled.cloud/http-body");
|
|
|
237
254
|
*/
|
|
238
255
|
export const HttpBody = () => makeAnnotation(httpBodySymbol, true);
|
|
239
256
|
|
|
257
|
+
/** Symbol for binary response body annotation */
|
|
258
|
+
export const binaryResponseBodySymbol = Symbol.for(
|
|
259
|
+
"@distilled.cloud/binary-response-body",
|
|
260
|
+
);
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* BinaryResponseBody - marks a response struct field as the raw binary body
|
|
264
|
+
* of an `application/octet-stream` download. The runtime fills the field
|
|
265
|
+
* with an Effect `Stream.Stream<Uint8Array>` of the response body. Sibling
|
|
266
|
+
* fields annotated with `T.HttpResponseHeader` are populated from the
|
|
267
|
+
* matching response headers.
|
|
268
|
+
*/
|
|
269
|
+
export const BinaryResponseBody = () =>
|
|
270
|
+
makeAnnotation(binaryResponseBodySymbol, true);
|
|
271
|
+
|
|
272
|
+
/** Symbol for response header annotation */
|
|
273
|
+
export const responseHeaderSymbol = Symbol.for(
|
|
274
|
+
"@distilled.cloud/response-header",
|
|
275
|
+
);
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* HttpResponseHeader - marks a response struct field as a value pulled from
|
|
279
|
+
* a named HTTP response header (e.g. `etag`, `content-type`). The runtime
|
|
280
|
+
* populates the field with the (lowercased) header value if present, and
|
|
281
|
+
* leaves it `undefined` otherwise. Mirror of `T.HttpHeader` for response-
|
|
282
|
+
* side header extraction.
|
|
283
|
+
*
|
|
284
|
+
* Currently consumed by binary-download operations (operations whose
|
|
285
|
+
* `T.Http({ responseContentType: "binary" })` trait is set), where the
|
|
286
|
+
* response struct's shape is `{ body: Stream.Stream<Uint8Array>, ...headers }`.
|
|
287
|
+
*/
|
|
288
|
+
export const HttpResponseHeader = (name: string) =>
|
|
289
|
+
makeAnnotation(responseHeaderSymbol, name);
|
|
290
|
+
|
|
240
291
|
/** Symbol for GraphQL operation metadata (query string + operation name) */
|
|
241
292
|
export const graphqlOpSymbol = Symbol.for("@distilled.cloud/graphql-op");
|
|
242
293
|
|
|
@@ -789,6 +840,84 @@ export const buildRequestParts = (
|
|
|
789
840
|
};
|
|
790
841
|
};
|
|
791
842
|
|
|
843
|
+
/**
|
|
844
|
+
* Build the response object for a binary-download operation
|
|
845
|
+
* (`T.Http({ responseContentType: "binary" })`).
|
|
846
|
+
*
|
|
847
|
+
* The output schema is expected to be a Struct with one field annotated
|
|
848
|
+
* `T.BinaryResponseBody()` (the `body` field — populated with the supplied
|
|
849
|
+
* `Stream`) and zero-or-more sibling fields annotated
|
|
850
|
+
* `T.HttpResponseHeader(name)` (populated by reading the named response
|
|
851
|
+
* header). Header lookups are case-insensitive.
|
|
852
|
+
*
|
|
853
|
+
* Header values are coerced to the field's declared primitive type so that
|
|
854
|
+
* `content-length` lands as a `number`, `last-modified` as a `Date` (when
|
|
855
|
+
* the schema declares `Schema.Date`), etc. Anything more exotic stays a
|
|
856
|
+
* raw string.
|
|
857
|
+
*/
|
|
858
|
+
export const buildBinaryResponse = (
|
|
859
|
+
ast: AST.AST,
|
|
860
|
+
body: unknown,
|
|
861
|
+
responseHeaders: Record<string, string>,
|
|
862
|
+
): Record<string, unknown> => {
|
|
863
|
+
const lowercased: Record<string, string> = {};
|
|
864
|
+
for (const [k, v] of Object.entries(responseHeaders)) {
|
|
865
|
+
lowercased[k.toLowerCase()] = v;
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
const props = getStructProps(ast);
|
|
869
|
+
const result: Record<string, unknown> = {};
|
|
870
|
+
|
|
871
|
+
for (const prop of props) {
|
|
872
|
+
const tsName = String(prop.name);
|
|
873
|
+
const isBody = getAnnotation<boolean>(prop.type, binaryResponseBodySymbol);
|
|
874
|
+
if (isBody) {
|
|
875
|
+
result[tsName] = body;
|
|
876
|
+
continue;
|
|
877
|
+
}
|
|
878
|
+
const headerName = getAnnotation<string>(prop.type, responseHeaderSymbol);
|
|
879
|
+
if (headerName !== undefined) {
|
|
880
|
+
const raw = lowercased[headerName.toLowerCase()];
|
|
881
|
+
if (raw === undefined) continue;
|
|
882
|
+
result[tsName] = coerceHeaderValue(raw, prop.type);
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
return result;
|
|
887
|
+
};
|
|
888
|
+
|
|
889
|
+
/**
|
|
890
|
+
* Best-effort coercion of a raw HTTP header string to whichever primitive
|
|
891
|
+
* the response schema declares. Falls back to the original string for
|
|
892
|
+
* anything we don't recognize — the schema's decode step (which the binary
|
|
893
|
+
* runtime path skips) would have done the same coercion for JSON bodies.
|
|
894
|
+
*/
|
|
895
|
+
const coerceHeaderValue = (raw: string, propType: AST.AST): unknown => {
|
|
896
|
+
// Walk through Suspends / Optionals / Encoded chains to the underlying type.
|
|
897
|
+
let inner: AST.AST = propType;
|
|
898
|
+
while (inner.encoding && inner.encoding.length > 0) {
|
|
899
|
+
inner = inner.encoding[0].to;
|
|
900
|
+
}
|
|
901
|
+
if (inner._tag === "Suspend") inner = inner.thunk();
|
|
902
|
+
// `Schema.optional(Schema.X)` shows up as a Union with `undefined`/void.
|
|
903
|
+
if (inner._tag === "Union") {
|
|
904
|
+
const nonOptional = (inner as unknown as { types: AST.AST[] }).types.find(
|
|
905
|
+
(t) => t._tag !== "Void" && t._tag !== "Never",
|
|
906
|
+
);
|
|
907
|
+
if (nonOptional) inner = nonOptional;
|
|
908
|
+
}
|
|
909
|
+
if (inner._tag === "Number") {
|
|
910
|
+
const n = Number(raw);
|
|
911
|
+
return Number.isFinite(n) ? n : raw;
|
|
912
|
+
}
|
|
913
|
+
if (inner._tag === "Boolean") {
|
|
914
|
+
if (raw === "true") return true;
|
|
915
|
+
if (raw === "false") return false;
|
|
916
|
+
return raw;
|
|
917
|
+
}
|
|
918
|
+
return raw;
|
|
919
|
+
};
|
|
920
|
+
|
|
792
921
|
/**
|
|
793
922
|
* Helper to get a value from an object using a dot-separated path.
|
|
794
923
|
* Used for pagination traits and nested property access.
|