summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/src/internal/parse.ts
diff options
context:
space:
mode:
authorDax <[email protected]>2025-07-31 01:00:29 -0400
committerGitHub <[email protected]>2025-07-31 01:00:29 -0400
commit33cef075d228e80aefb44671ec68e1989c2855a8 (patch)
treed43a5c1bcc40d4d938eacccfd923c80301706cf1 /packages/sdk/src/internal/parse.ts
parentb09ebf464552f3899120b22c7a8572669000a554 (diff)
downloadopencode-33cef075d228e80aefb44671ec68e1989c2855a8.tar.gz
opencode-33cef075d228e80aefb44671ec68e1989c2855a8.zip
ci: new publish method (#1451)
Diffstat (limited to 'packages/sdk/src/internal/parse.ts')
-rw-r--r--packages/sdk/src/internal/parse.ts64
1 files changed, 0 insertions, 64 deletions
diff --git a/packages/sdk/src/internal/parse.ts b/packages/sdk/src/internal/parse.ts
deleted file mode 100644
index dcb4026e3..000000000
--- a/packages/sdk/src/internal/parse.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-import type { FinalRequestOptions } from './request-options';
-import { Stream } from '../core/streaming';
-import { type Opencode } from '../client';
-import { formatRequestDetails, loggerFor } from './utils/log';
-
-export type APIResponseProps = {
- response: Response;
- options: FinalRequestOptions;
- controller: AbortController;
- requestLogID: string;
- retryOfRequestLogID: string | undefined;
- startTime: number;
-};
-
-export async function defaultParseResponse<T>(client: Opencode, props: APIResponseProps): Promise<T> {
- const { response, requestLogID, retryOfRequestLogID, startTime } = props;
- const body = await (async () => {
- if (props.options.stream) {
- loggerFor(client).debug('response', response.status, response.url, response.headers, response.body);
-
- // Note: there is an invariant here that isn't represented in the type system
- // that if you set `stream: true` the response type must also be `Stream<T>`
-
- if (props.options.__streamClass) {
- return props.options.__streamClass.fromSSEResponse(response, props.controller, client) as any;
- }
-
- return Stream.fromSSEResponse(response, props.controller, client) as any;
- }
-
- // fetch refuses to read the body when the status code is 204.
- if (response.status === 204) {
- return null as T;
- }
-
- if (props.options.__binaryResponse) {
- return response as unknown as T;
- }
-
- const contentType = response.headers.get('content-type');
- const mediaType = contentType?.split(';')[0]?.trim();
- const isJSON = mediaType?.includes('application/json') || mediaType?.endsWith('+json');
- if (isJSON) {
- const json = await response.json();
- return json as T;
- }
-
- const text = await response.text();
- return text as unknown as T;
- })();
- loggerFor(client).debug(
- `[${requestLogID}] response parsed`,
- formatRequestDetails({
- retryOfRequestLogID,
- url: response.url,
- status: response.status,
- body,
- durationMs: Date.now() - startTime,
- }),
- );
- return body;
-}