/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod"; import { remap as remap$ } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; import { ClosedEnum } from "../types/enums.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { ChatCompletionStreamResponseDelta, ChatCompletionStreamResponseDelta$inboundSchema, ChatCompletionStreamResponseDelta$Outbound, ChatCompletionStreamResponseDelta$outboundSchema, } from "./chatcompletionstreamresponsedelta.js"; import { NewLogProbsContentTopLogProbs, NewLogProbsContentTopLogProbs$inboundSchema, NewLogProbsContentTopLogProbs$Outbound, NewLogProbsContentTopLogProbs$outboundSchema, } from "./newlogprobscontenttoplogprobs.js"; import { SDKValidationError } from "./sdkvalidationerror.js"; import { UsageInfo, UsageInfo$inboundSchema, UsageInfo$Outbound, UsageInfo$outboundSchema, } from "./usageinfo.js"; export const CreateChatCompletionStreamResponseFinishReason = { Stop: "stop", Length: "length", FunctionCall: "function_call", ToolCalls: "tool_calls", } as const; export type CreateChatCompletionStreamResponseFinishReason = ClosedEnum< typeof CreateChatCompletionStreamResponseFinishReason >; export type CreateChatCompletionStreamResponseLogprobsNewLogProbsContent = { token?: string | undefined; logprob?: number | undefined; bytes?: Array | undefined; topLogprobs?: Array | undefined; tokenId?: number | undefined; textOffset?: number | undefined; }; export type CreateChatCompletionStreamResponseLogprobsLogProbs = { tokens?: Array | undefined; tokenLogprobs?: Array | undefined; topLogprobs?: Array<{ [k: string]: number }> | undefined; textOffset?: Array | undefined; tokenIds?: Array | undefined; }; /** * The log probabilities of the most likely tokens. */ export type CreateChatCompletionStreamResponseLogprobs = | CreateChatCompletionStreamResponseLogprobsLogProbs | CreateChatCompletionStreamResponseLogprobsNewLogProbsContent; export type CreateChatCompletionStreamResponseChoices = { index: number; delta: ChatCompletionStreamResponseDelta; finishReason: CreateChatCompletionStreamResponseFinishReason | null; /** * The log probabilities of the most likely tokens. */ logprobs?: | CreateChatCompletionStreamResponseLogprobsLogProbs | CreateChatCompletionStreamResponseLogprobsNewLogProbsContent | null | undefined; }; export type Data = { id: string; object: string; created: number; model: string; choices: Array; /** * Usage statistics. * * @remarks * * For streaming responses, `usage` field is included in the very last response chunk returned. * * Note that returning `usage` for streaming requests is an OpenAI API extension. If you use OpenAI SDK, you might access the field directly even if it's not present in the type signature in the SDK. */ usage?: UsageInfo | null | undefined; }; /** * A server-sent event containing chat completion content */ export type CreateChatCompletionStreamResponse = { /** * The ID of the event (optional in SSE) */ id?: string | undefined; /** * The event type (optional in SSE) */ event?: string | undefined; data: Data; /** * The retry interval in milliseconds (optional in SSE) */ retry?: number | undefined; }; /** @internal */ export const CreateChatCompletionStreamResponseFinishReason$inboundSchema: z.ZodNativeEnum = z .nativeEnum(CreateChatCompletionStreamResponseFinishReason); /** @internal */ export const CreateChatCompletionStreamResponseFinishReason$outboundSchema: z.ZodNativeEnum = CreateChatCompletionStreamResponseFinishReason$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace CreateChatCompletionStreamResponseFinishReason$ { /** @deprecated use `CreateChatCompletionStreamResponseFinishReason$inboundSchema` instead. */ export const inboundSchema = CreateChatCompletionStreamResponseFinishReason$inboundSchema; /** @deprecated use `CreateChatCompletionStreamResponseFinishReason$outboundSchema` instead. */ export const outboundSchema = CreateChatCompletionStreamResponseFinishReason$outboundSchema; } /** @internal */ export const CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$inboundSchema: z.ZodType< CreateChatCompletionStreamResponseLogprobsNewLogProbsContent, z.ZodTypeDef, unknown > = z.object({ token: z.string().optional(), logprob: z.number().optional(), bytes: z.array(z.number().int()).optional(), top_logprobs: z.array(NewLogProbsContentTopLogProbs$inboundSchema) .optional(), token_id: z.number().int().optional(), text_offset: z.number().int().optional(), }).transform((v) => { return remap$(v, { "top_logprobs": "topLogprobs", "token_id": "tokenId", "text_offset": "textOffset", }); }); /** @internal */ export type CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$Outbound = { token?: string | undefined; logprob?: number | undefined; bytes?: Array | undefined; top_logprobs?: Array | undefined; token_id?: number | undefined; text_offset?: number | undefined; }; /** @internal */ export const CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$outboundSchema: z.ZodType< CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$Outbound, z.ZodTypeDef, CreateChatCompletionStreamResponseLogprobsNewLogProbsContent > = z.object({ token: z.string().optional(), logprob: z.number().optional(), bytes: z.array(z.number().int()).optional(), topLogprobs: z.array(NewLogProbsContentTopLogProbs$outboundSchema) .optional(), tokenId: z.number().int().optional(), textOffset: z.number().int().optional(), }).transform((v) => { return remap$(v, { topLogprobs: "top_logprobs", tokenId: "token_id", textOffset: "text_offset", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$ { /** @deprecated use `CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$inboundSchema` instead. */ export const inboundSchema = CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$inboundSchema; /** @deprecated use `CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$outboundSchema` instead. */ export const outboundSchema = CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$outboundSchema; /** @deprecated use `CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$Outbound` instead. */ export type Outbound = CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$Outbound; } export function createChatCompletionStreamResponseLogprobsNewLogProbsContentToJSON( createChatCompletionStreamResponseLogprobsNewLogProbsContent: CreateChatCompletionStreamResponseLogprobsNewLogProbsContent, ): string { return JSON.stringify( CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$outboundSchema .parse(createChatCompletionStreamResponseLogprobsNewLogProbsContent), ); } export function createChatCompletionStreamResponseLogprobsNewLogProbsContentFromJSON( jsonString: string, ): SafeParseResult< CreateChatCompletionStreamResponseLogprobsNewLogProbsContent, SDKValidationError > { return safeParse( jsonString, (x) => CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$inboundSchema .parse(JSON.parse(x)), `Failed to parse 'CreateChatCompletionStreamResponseLogprobsNewLogProbsContent' from JSON`, ); } /** @internal */ export const CreateChatCompletionStreamResponseLogprobsLogProbs$inboundSchema: z.ZodType< CreateChatCompletionStreamResponseLogprobsLogProbs, z.ZodTypeDef, unknown > = z.object({ tokens: z.array(z.string()).optional(), token_logprobs: z.array(z.number()).optional(), top_logprobs: z.array(z.record(z.number().int())).optional(), text_offset: z.array(z.number().int()).optional(), token_ids: z.array(z.number().int()).optional(), }).transform((v) => { return remap$(v, { "token_logprobs": "tokenLogprobs", "top_logprobs": "topLogprobs", "text_offset": "textOffset", "token_ids": "tokenIds", }); }); /** @internal */ export type CreateChatCompletionStreamResponseLogprobsLogProbs$Outbound = { tokens?: Array | undefined; token_logprobs?: Array | undefined; top_logprobs?: Array<{ [k: string]: number }> | undefined; text_offset?: Array | undefined; token_ids?: Array | undefined; }; /** @internal */ export const CreateChatCompletionStreamResponseLogprobsLogProbs$outboundSchema: z.ZodType< CreateChatCompletionStreamResponseLogprobsLogProbs$Outbound, z.ZodTypeDef, CreateChatCompletionStreamResponseLogprobsLogProbs > = z.object({ tokens: z.array(z.string()).optional(), tokenLogprobs: z.array(z.number()).optional(), topLogprobs: z.array(z.record(z.number().int())).optional(), textOffset: z.array(z.number().int()).optional(), tokenIds: z.array(z.number().int()).optional(), }).transform((v) => { return remap$(v, { tokenLogprobs: "token_logprobs", topLogprobs: "top_logprobs", textOffset: "text_offset", tokenIds: "token_ids", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace CreateChatCompletionStreamResponseLogprobsLogProbs$ { /** @deprecated use `CreateChatCompletionStreamResponseLogprobsLogProbs$inboundSchema` instead. */ export const inboundSchema = CreateChatCompletionStreamResponseLogprobsLogProbs$inboundSchema; /** @deprecated use `CreateChatCompletionStreamResponseLogprobsLogProbs$outboundSchema` instead. */ export const outboundSchema = CreateChatCompletionStreamResponseLogprobsLogProbs$outboundSchema; /** @deprecated use `CreateChatCompletionStreamResponseLogprobsLogProbs$Outbound` instead. */ export type Outbound = CreateChatCompletionStreamResponseLogprobsLogProbs$Outbound; } export function createChatCompletionStreamResponseLogprobsLogProbsToJSON( createChatCompletionStreamResponseLogprobsLogProbs: CreateChatCompletionStreamResponseLogprobsLogProbs, ): string { return JSON.stringify( CreateChatCompletionStreamResponseLogprobsLogProbs$outboundSchema.parse( createChatCompletionStreamResponseLogprobsLogProbs, ), ); } export function createChatCompletionStreamResponseLogprobsLogProbsFromJSON( jsonString: string, ): SafeParseResult< CreateChatCompletionStreamResponseLogprobsLogProbs, SDKValidationError > { return safeParse( jsonString, (x) => CreateChatCompletionStreamResponseLogprobsLogProbs$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateChatCompletionStreamResponseLogprobsLogProbs' from JSON`, ); } /** @internal */ export const CreateChatCompletionStreamResponseLogprobs$inboundSchema: z.ZodType = z.union([ z.lazy(() => CreateChatCompletionStreamResponseLogprobsLogProbs$inboundSchema ), z.lazy(() => CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$inboundSchema ), ]); /** @internal */ export type CreateChatCompletionStreamResponseLogprobs$Outbound = | CreateChatCompletionStreamResponseLogprobsLogProbs$Outbound | CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$Outbound; /** @internal */ export const CreateChatCompletionStreamResponseLogprobs$outboundSchema: z.ZodType< CreateChatCompletionStreamResponseLogprobs$Outbound, z.ZodTypeDef, CreateChatCompletionStreamResponseLogprobs > = z.union([ z.lazy(() => CreateChatCompletionStreamResponseLogprobsLogProbs$outboundSchema ), z.lazy(() => CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$outboundSchema ), ]); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace CreateChatCompletionStreamResponseLogprobs$ { /** @deprecated use `CreateChatCompletionStreamResponseLogprobs$inboundSchema` instead. */ export const inboundSchema = CreateChatCompletionStreamResponseLogprobs$inboundSchema; /** @deprecated use `CreateChatCompletionStreamResponseLogprobs$outboundSchema` instead. */ export const outboundSchema = CreateChatCompletionStreamResponseLogprobs$outboundSchema; /** @deprecated use `CreateChatCompletionStreamResponseLogprobs$Outbound` instead. */ export type Outbound = CreateChatCompletionStreamResponseLogprobs$Outbound; } export function createChatCompletionStreamResponseLogprobsToJSON( createChatCompletionStreamResponseLogprobs: CreateChatCompletionStreamResponseLogprobs, ): string { return JSON.stringify( CreateChatCompletionStreamResponseLogprobs$outboundSchema.parse( createChatCompletionStreamResponseLogprobs, ), ); } export function createChatCompletionStreamResponseLogprobsFromJSON( jsonString: string, ): SafeParseResult< CreateChatCompletionStreamResponseLogprobs, SDKValidationError > { return safeParse( jsonString, (x) => CreateChatCompletionStreamResponseLogprobs$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateChatCompletionStreamResponseLogprobs' from JSON`, ); } /** @internal */ export const CreateChatCompletionStreamResponseChoices$inboundSchema: z.ZodType< CreateChatCompletionStreamResponseChoices, z.ZodTypeDef, unknown > = z.object({ index: z.number().int(), delta: ChatCompletionStreamResponseDelta$inboundSchema, finish_reason: z.nullable( CreateChatCompletionStreamResponseFinishReason$inboundSchema, ), logprobs: z.nullable( z.union([ z.lazy(() => CreateChatCompletionStreamResponseLogprobsLogProbs$inboundSchema ), z.lazy(() => CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$inboundSchema ), ]), ).optional(), }).transform((v) => { return remap$(v, { "finish_reason": "finishReason", }); }); /** @internal */ export type CreateChatCompletionStreamResponseChoices$Outbound = { index: number; delta: ChatCompletionStreamResponseDelta$Outbound; finish_reason: string | null; logprobs?: | CreateChatCompletionStreamResponseLogprobsLogProbs$Outbound | CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$Outbound | null | undefined; }; /** @internal */ export const CreateChatCompletionStreamResponseChoices$outboundSchema: z.ZodType< CreateChatCompletionStreamResponseChoices$Outbound, z.ZodTypeDef, CreateChatCompletionStreamResponseChoices > = z.object({ index: z.number().int(), delta: ChatCompletionStreamResponseDelta$outboundSchema, finishReason: z.nullable( CreateChatCompletionStreamResponseFinishReason$outboundSchema, ), logprobs: z.nullable( z.union([ z.lazy(() => CreateChatCompletionStreamResponseLogprobsLogProbs$outboundSchema ), z.lazy(() => CreateChatCompletionStreamResponseLogprobsNewLogProbsContent$outboundSchema ), ]), ).optional(), }).transform((v) => { return remap$(v, { finishReason: "finish_reason", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace CreateChatCompletionStreamResponseChoices$ { /** @deprecated use `CreateChatCompletionStreamResponseChoices$inboundSchema` instead. */ export const inboundSchema = CreateChatCompletionStreamResponseChoices$inboundSchema; /** @deprecated use `CreateChatCompletionStreamResponseChoices$outboundSchema` instead. */ export const outboundSchema = CreateChatCompletionStreamResponseChoices$outboundSchema; /** @deprecated use `CreateChatCompletionStreamResponseChoices$Outbound` instead. */ export type Outbound = CreateChatCompletionStreamResponseChoices$Outbound; } export function createChatCompletionStreamResponseChoicesToJSON( createChatCompletionStreamResponseChoices: CreateChatCompletionStreamResponseChoices, ): string { return JSON.stringify( CreateChatCompletionStreamResponseChoices$outboundSchema.parse( createChatCompletionStreamResponseChoices, ), ); } export function createChatCompletionStreamResponseChoicesFromJSON( jsonString: string, ): SafeParseResult< CreateChatCompletionStreamResponseChoices, SDKValidationError > { return safeParse( jsonString, (x) => CreateChatCompletionStreamResponseChoices$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateChatCompletionStreamResponseChoices' from JSON`, ); } /** @internal */ export const Data$inboundSchema: z.ZodType = z .object({ id: z.string(), object: z.string(), created: z.number().int(), model: z.string(), choices: z.array( z.lazy(() => CreateChatCompletionStreamResponseChoices$inboundSchema), ), usage: z.nullable(UsageInfo$inboundSchema).optional(), }); /** @internal */ export type Data$Outbound = { id: string; object: string; created: number; model: string; choices: Array; usage?: UsageInfo$Outbound | null | undefined; }; /** @internal */ export const Data$outboundSchema: z.ZodType = z.object({ id: z.string(), object: z.string(), created: z.number().int(), model: z.string(), choices: z.array( z.lazy(() => CreateChatCompletionStreamResponseChoices$outboundSchema), ), usage: z.nullable(UsageInfo$outboundSchema).optional(), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace Data$ { /** @deprecated use `Data$inboundSchema` instead. */ export const inboundSchema = Data$inboundSchema; /** @deprecated use `Data$outboundSchema` instead. */ export const outboundSchema = Data$outboundSchema; /** @deprecated use `Data$Outbound` instead. */ export type Outbound = Data$Outbound; } export function dataToJSON(data: Data): string { return JSON.stringify(Data$outboundSchema.parse(data)); } export function dataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Data$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Data' from JSON`, ); } /** @internal */ export const CreateChatCompletionStreamResponse$inboundSchema: z.ZodType< CreateChatCompletionStreamResponse, 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(z.lazy(() => Data$inboundSchema)), retry: z.number().int().optional(), }); /** @internal */ export type CreateChatCompletionStreamResponse$Outbound = { id?: string | undefined; event?: string | undefined; data: Data$Outbound; retry?: number | undefined; }; /** @internal */ export const CreateChatCompletionStreamResponse$outboundSchema: z.ZodType< CreateChatCompletionStreamResponse$Outbound, z.ZodTypeDef, CreateChatCompletionStreamResponse > = z.object({ id: z.string().optional(), event: z.string().optional(), data: z.lazy(() => Data$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 CreateChatCompletionStreamResponse$ { /** @deprecated use `CreateChatCompletionStreamResponse$inboundSchema` instead. */ export const inboundSchema = CreateChatCompletionStreamResponse$inboundSchema; /** @deprecated use `CreateChatCompletionStreamResponse$outboundSchema` instead. */ export const outboundSchema = CreateChatCompletionStreamResponse$outboundSchema; /** @deprecated use `CreateChatCompletionStreamResponse$Outbound` instead. */ export type Outbound = CreateChatCompletionStreamResponse$Outbound; } export function createChatCompletionStreamResponseToJSON( createChatCompletionStreamResponse: CreateChatCompletionStreamResponse, ): string { return JSON.stringify( CreateChatCompletionStreamResponse$outboundSchema.parse( createChatCompletionStreamResponse, ), ); } export function createChatCompletionStreamResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateChatCompletionStreamResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateChatCompletionStreamResponse' from JSON`, ); }