diff '--exclude=request.ts' --recursive --unified src/lib/api/core/ApiRequestOptions.ts src/lib/api.patched/core/ApiRequestOptions.ts --- src/lib/api/core/ApiRequestOptions.ts 2024-08-12 23:10:35.305390567 +0000 +++ src/lib/api.patched/core/ApiRequestOptions.ts 2024-08-12 23:10:33.224679898 +0000 @@ -21,4 +21,6 @@ readonly mediaType?: string; readonly responseHeader?: string; readonly errors?: Record; + readonly responseType?: // DO NOT REMOVE + "arraybuffer" | "blob" | "document" | "json" | "text" | "stream"; }; diff '--exclude=request.ts' --recursive --unified src/lib/api/core/OpenAPI.ts src/lib/api.patched/core/OpenAPI.ts --- src/lib/api/core/OpenAPI.ts 2024-08-12 23:10:35.468215286 +0000 +++ src/lib/api.patched/core/OpenAPI.ts 2024-08-12 23:10:33.236278363 +0000 @@ -2,6 +2,8 @@ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { SindriClient } from "lib/client"; // DO NOT REMOVE + import type { ApiRequestOptions } from "./ApiRequestOptions"; type Resolver = (options: ApiRequestOptions) => Promise; @@ -17,6 +19,10 @@ PASSWORD?: string | Resolver | undefined; HEADERS?: Headers | Resolver | undefined; ENCODE_PATH?: ((path: string) => string) | undefined; + // DO NOT REMOVE + // Shoehorn the SindriClient instance into the OpenAPIConfig type because it's the only shared + // data structure between the SDK client class and the request methods `requests.ts` module. + sindri?: SindriClient; // DO NOT REMOVE }; export const OpenAPI: OpenAPIConfig = { diff '--exclude=request.ts' --recursive --unified src/lib/api/services/CircuitsService.ts src/lib/api.patched/services/CircuitsService.ts --- src/lib/api/services/CircuitsService.ts 2024-08-12 23:10:36.233765143 +0000 +++ src/lib/api.patched/services/CircuitsService.ts 2024-08-12 23:10:33.245030941 +0000 @@ -19,17 +19,21 @@ * @returns CircuitInfoResponse Created * @throws ApiError */ - public circuitCreate(formData: { - files: Array; - /** - * An arbitrary mapping of metadata keys to string values. This can be used to track additional information about the circuit such as an ID from an external system. - */ - meta?: Record; - /** - * Tags for a circuit. - */ - tags?: Array; - }): CancelablePromise { + public circuitCreate( + formData: // This is a manual edit to allow `FormData` to be passed in directly: + | FormData // DO NOT REMOVE THIS! + | { + files: Array; + /** + * An arbitrary mapping of metadata keys to string values. This can be used to track additional information about the circuit such as an ID from an external system. + */ + meta?: Record; + /** + * Tags for a circuit. + */ + tags?: Array; + }, + ): CancelablePromise { return this.httpRequest.request({ method: "POST", url: "/api/v1/circuit/create", diff '--exclude=request.ts' --recursive --unified src/lib/api/services/InternalService.ts src/lib/api.patched/services/InternalService.ts --- src/lib/api/services/InternalService.ts 2024-08-12 23:10:36.253929268 +0000 +++ src/lib/api.patched/services/InternalService.ts 2024-08-12 23:10:33.246806199 +0000 @@ -15,6 +15,11 @@ import type { CancelablePromise } from "../core/CancelablePromise"; import type { BaseHttpRequest } from "../core/BaseHttpRequest"; +// DO NOT REMOVE +type BinaryResponseType = typeof globalThis extends { ReadableStream: unknown } + ? Blob + : NodeJS.ReadableStream; + export class InternalService { constructor(public readonly httpRequest: BaseHttpRequest) {} @@ -41,7 +46,8 @@ public circuitDownload( circuitId: string, path?: string, - ): CancelablePromise { + // DO NOT REMOVE + ): CancelablePromise { return this.httpRequest.request({ method: "GET", url: "/api/v1/circuit/{circuit_id}/download", @@ -55,6 +61,8 @@ 404: `Not Found`, 500: `Internal Server Error`, }, + + responseType: process.env.BROWSER_BUILD ? "blob" : "stream", // DO NOT REMOVE }); }