/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod"; import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { CreateCompletionResponse, CreateCompletionResponse$inboundSchema, CreateCompletionResponse$Outbound, CreateCompletionResponse$outboundSchema, } from "./createcompletionresponse.js"; import { SDKValidationError } from "./sdkvalidationerror.js"; /** * A server-sent event containing chat completion content */ export type CreateCompletionResponseStream = { /** * The ID of the event (optional in SSE) */ id?: string | undefined; /** * The event type (optional in SSE) */ event?: string | undefined; data: CreateCompletionResponse; /** * The number of seconds to wait before retrying the request */ retry?: number | undefined; }; /** @internal */ export const CreateCompletionResponseStream$inboundSchema: z.ZodType< CreateCompletionResponseStream, z.ZodTypeDef, unknown > = z.object({ id: z.string().optional(), event: z.string().optional(), data: z.string().transform((v, ctx) => { try { return JSON.parse(v); } catch (err) { ctx.addIssue({ code: z.ZodIssueCode.custom, message: `malformed json: ${err}`, }); return z.NEVER; } }).pipe(CreateCompletionResponse$inboundSchema), retry: z.number().int().optional(), }); /** @internal */ export type CreateCompletionResponseStream$Outbound = { id?: string | undefined; event?: string | undefined; data: CreateCompletionResponse$Outbound; retry?: number | undefined; }; /** @internal */ export const CreateCompletionResponseStream$outboundSchema: z.ZodType< CreateCompletionResponseStream$Outbound, z.ZodTypeDef, CreateCompletionResponseStream > = z.object({ id: z.string().optional(), event: z.string().optional(), data: CreateCompletionResponse$outboundSchema, retry: z.number().int().optional(), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace CreateCompletionResponseStream$ { /** @deprecated use `CreateCompletionResponseStream$inboundSchema` instead. */ export const inboundSchema = CreateCompletionResponseStream$inboundSchema; /** @deprecated use `CreateCompletionResponseStream$outboundSchema` instead. */ export const outboundSchema = CreateCompletionResponseStream$outboundSchema; /** @deprecated use `CreateCompletionResponseStream$Outbound` instead. */ export type Outbound = CreateCompletionResponseStream$Outbound; } export function createCompletionResponseStreamToJSON( createCompletionResponseStream: CreateCompletionResponseStream, ): string { return JSON.stringify( CreateCompletionResponseStream$outboundSchema.parse( createCompletionResponseStream, ), ); } export function createCompletionResponseStreamFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateCompletionResponseStream$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateCompletionResponseStream' from JSON`, ); }