/* * 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 { 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 type CreateCompletionResponseLogprobsNewLogProbsContent = { token?: string | undefined; logprob?: number | undefined; bytes?: Array | undefined; topLogprobs?: Array | undefined; tokenId?: number | undefined; textOffset?: number | undefined; }; export type CreateCompletionResponseLogprobsLogProbs = { 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 CreateCompletionResponseLogprobs = | CreateCompletionResponseLogprobsLogProbs | CreateCompletionResponseLogprobsNewLogProbsContent; /** * The reason the model stopped generating tokens. This will be "stop" if * * @remarks * the model hit a natural stop point or a provided stop sequence, or * "length" if the maximum number of tokens specified in the request was * reached. */ export const CreateCompletionResponseFinishReason = { Stop: "stop", Length: "length", Error: "error", } as const; /** * The reason the model stopped generating tokens. This will be "stop" if * * @remarks * the model hit a natural stop point or a provided stop sequence, or * "length" if the maximum number of tokens specified in the request was * reached. */ export type CreateCompletionResponseFinishReason = ClosedEnum< typeof CreateCompletionResponseFinishReason >; export type CreateCompletionResponseChoices = { /** * The completion response. */ text: string; /** * The index of the completion choice. */ index: number; /** * The log probabilities of the most likely tokens. */ logprobs: | CreateCompletionResponseLogprobsLogProbs | CreateCompletionResponseLogprobsNewLogProbsContent | null; /** * The reason the model stopped generating tokens. This will be "stop" if * * @remarks * the model hit a natural stop point or a provided stop sequence, or * "length" if the maximum number of tokens specified in the request was * reached. */ finishReason: CreateCompletionResponseFinishReason | null; }; export type CreateCompletionResponse = { /** * A unique identifier of the response. */ id: string; /** * The object type, which is always "text_completion". */ object: string; /** * The Unix time in seconds when the response was generated. */ created: number; /** * The model used for the completion. */ model: string; /** * The list of generated completion choices. */ 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; }; /** @internal */ export const CreateCompletionResponseLogprobsNewLogProbsContent$inboundSchema: z.ZodType< CreateCompletionResponseLogprobsNewLogProbsContent, 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 CreateCompletionResponseLogprobsNewLogProbsContent$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 CreateCompletionResponseLogprobsNewLogProbsContent$outboundSchema: z.ZodType< CreateCompletionResponseLogprobsNewLogProbsContent$Outbound, z.ZodTypeDef, CreateCompletionResponseLogprobsNewLogProbsContent > = 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 CreateCompletionResponseLogprobsNewLogProbsContent$ { /** @deprecated use `CreateCompletionResponseLogprobsNewLogProbsContent$inboundSchema` instead. */ export const inboundSchema = CreateCompletionResponseLogprobsNewLogProbsContent$inboundSchema; /** @deprecated use `CreateCompletionResponseLogprobsNewLogProbsContent$outboundSchema` instead. */ export const outboundSchema = CreateCompletionResponseLogprobsNewLogProbsContent$outboundSchema; /** @deprecated use `CreateCompletionResponseLogprobsNewLogProbsContent$Outbound` instead. */ export type Outbound = CreateCompletionResponseLogprobsNewLogProbsContent$Outbound; } export function createCompletionResponseLogprobsNewLogProbsContentToJSON( createCompletionResponseLogprobsNewLogProbsContent: CreateCompletionResponseLogprobsNewLogProbsContent, ): string { return JSON.stringify( CreateCompletionResponseLogprobsNewLogProbsContent$outboundSchema.parse( createCompletionResponseLogprobsNewLogProbsContent, ), ); } export function createCompletionResponseLogprobsNewLogProbsContentFromJSON( jsonString: string, ): SafeParseResult< CreateCompletionResponseLogprobsNewLogProbsContent, SDKValidationError > { return safeParse( jsonString, (x) => CreateCompletionResponseLogprobsNewLogProbsContent$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateCompletionResponseLogprobsNewLogProbsContent' from JSON`, ); } /** @internal */ export const CreateCompletionResponseLogprobsLogProbs$inboundSchema: z.ZodType< CreateCompletionResponseLogprobsLogProbs, 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 CreateCompletionResponseLogprobsLogProbs$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 CreateCompletionResponseLogprobsLogProbs$outboundSchema: z.ZodType< CreateCompletionResponseLogprobsLogProbs$Outbound, z.ZodTypeDef, CreateCompletionResponseLogprobsLogProbs > = 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 CreateCompletionResponseLogprobsLogProbs$ { /** @deprecated use `CreateCompletionResponseLogprobsLogProbs$inboundSchema` instead. */ export const inboundSchema = CreateCompletionResponseLogprobsLogProbs$inboundSchema; /** @deprecated use `CreateCompletionResponseLogprobsLogProbs$outboundSchema` instead. */ export const outboundSchema = CreateCompletionResponseLogprobsLogProbs$outboundSchema; /** @deprecated use `CreateCompletionResponseLogprobsLogProbs$Outbound` instead. */ export type Outbound = CreateCompletionResponseLogprobsLogProbs$Outbound; } export function createCompletionResponseLogprobsLogProbsToJSON( createCompletionResponseLogprobsLogProbs: CreateCompletionResponseLogprobsLogProbs, ): string { return JSON.stringify( CreateCompletionResponseLogprobsLogProbs$outboundSchema.parse( createCompletionResponseLogprobsLogProbs, ), ); } export function createCompletionResponseLogprobsLogProbsFromJSON( jsonString: string, ): SafeParseResult< CreateCompletionResponseLogprobsLogProbs, SDKValidationError > { return safeParse( jsonString, (x) => CreateCompletionResponseLogprobsLogProbs$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'CreateCompletionResponseLogprobsLogProbs' from JSON`, ); } /** @internal */ export const CreateCompletionResponseLogprobs$inboundSchema: z.ZodType< CreateCompletionResponseLogprobs, z.ZodTypeDef, unknown > = z.union([ z.lazy(() => CreateCompletionResponseLogprobsLogProbs$inboundSchema), z.lazy(() => CreateCompletionResponseLogprobsNewLogProbsContent$inboundSchema ), ]); /** @internal */ export type CreateCompletionResponseLogprobs$Outbound = | CreateCompletionResponseLogprobsLogProbs$Outbound | CreateCompletionResponseLogprobsNewLogProbsContent$Outbound; /** @internal */ export const CreateCompletionResponseLogprobs$outboundSchema: z.ZodType< CreateCompletionResponseLogprobs$Outbound, z.ZodTypeDef, CreateCompletionResponseLogprobs > = z.union([ z.lazy(() => CreateCompletionResponseLogprobsLogProbs$outboundSchema), z.lazy(() => CreateCompletionResponseLogprobsNewLogProbsContent$outboundSchema ), ]); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace CreateCompletionResponseLogprobs$ { /** @deprecated use `CreateCompletionResponseLogprobs$inboundSchema` instead. */ export const inboundSchema = CreateCompletionResponseLogprobs$inboundSchema; /** @deprecated use `CreateCompletionResponseLogprobs$outboundSchema` instead. */ export const outboundSchema = CreateCompletionResponseLogprobs$outboundSchema; /** @deprecated use `CreateCompletionResponseLogprobs$Outbound` instead. */ export type Outbound = CreateCompletionResponseLogprobs$Outbound; } export function createCompletionResponseLogprobsToJSON( createCompletionResponseLogprobs: CreateCompletionResponseLogprobs, ): string { return JSON.stringify( CreateCompletionResponseLogprobs$outboundSchema.parse( createCompletionResponseLogprobs, ), ); } export function createCompletionResponseLogprobsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateCompletionResponseLogprobs$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateCompletionResponseLogprobs' from JSON`, ); } /** @internal */ export const CreateCompletionResponseFinishReason$inboundSchema: z.ZodNativeEnum = z.nativeEnum( CreateCompletionResponseFinishReason, ); /** @internal */ export const CreateCompletionResponseFinishReason$outboundSchema: z.ZodNativeEnum = CreateCompletionResponseFinishReason$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace CreateCompletionResponseFinishReason$ { /** @deprecated use `CreateCompletionResponseFinishReason$inboundSchema` instead. */ export const inboundSchema = CreateCompletionResponseFinishReason$inboundSchema; /** @deprecated use `CreateCompletionResponseFinishReason$outboundSchema` instead. */ export const outboundSchema = CreateCompletionResponseFinishReason$outboundSchema; } /** @internal */ export const CreateCompletionResponseChoices$inboundSchema: z.ZodType< CreateCompletionResponseChoices, z.ZodTypeDef, unknown > = z.object({ text: z.string(), index: z.number().int(), logprobs: z.nullable( z.union([ z.lazy(() => CreateCompletionResponseLogprobsLogProbs$inboundSchema), z.lazy(() => CreateCompletionResponseLogprobsNewLogProbsContent$inboundSchema ), ]), ), finish_reason: z.nullable(CreateCompletionResponseFinishReason$inboundSchema), }).transform((v) => { return remap$(v, { "finish_reason": "finishReason", }); }); /** @internal */ export type CreateCompletionResponseChoices$Outbound = { text: string; index: number; logprobs: | CreateCompletionResponseLogprobsLogProbs$Outbound | CreateCompletionResponseLogprobsNewLogProbsContent$Outbound | null; finish_reason: string | null; }; /** @internal */ export const CreateCompletionResponseChoices$outboundSchema: z.ZodType< CreateCompletionResponseChoices$Outbound, z.ZodTypeDef, CreateCompletionResponseChoices > = z.object({ text: z.string(), index: z.number().int(), logprobs: z.nullable( z.union([ z.lazy(() => CreateCompletionResponseLogprobsLogProbs$outboundSchema), z.lazy(() => CreateCompletionResponseLogprobsNewLogProbsContent$outboundSchema ), ]), ), finishReason: z.nullable(CreateCompletionResponseFinishReason$outboundSchema), }).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 CreateCompletionResponseChoices$ { /** @deprecated use `CreateCompletionResponseChoices$inboundSchema` instead. */ export const inboundSchema = CreateCompletionResponseChoices$inboundSchema; /** @deprecated use `CreateCompletionResponseChoices$outboundSchema` instead. */ export const outboundSchema = CreateCompletionResponseChoices$outboundSchema; /** @deprecated use `CreateCompletionResponseChoices$Outbound` instead. */ export type Outbound = CreateCompletionResponseChoices$Outbound; } export function createCompletionResponseChoicesToJSON( createCompletionResponseChoices: CreateCompletionResponseChoices, ): string { return JSON.stringify( CreateCompletionResponseChoices$outboundSchema.parse( createCompletionResponseChoices, ), ); } export function createCompletionResponseChoicesFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateCompletionResponseChoices$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateCompletionResponseChoices' from JSON`, ); } /** @internal */ export const CreateCompletionResponse$inboundSchema: z.ZodType< CreateCompletionResponse, z.ZodTypeDef, unknown > = z.object({ id: z.string(), object: z.string(), created: z.number().int(), model: z.string(), choices: z.array(z.lazy(() => CreateCompletionResponseChoices$inboundSchema)), usage: z.nullable(UsageInfo$inboundSchema).optional(), }); /** @internal */ export type CreateCompletionResponse$Outbound = { id: string; object: string; created: number; model: string; choices: Array; usage?: UsageInfo$Outbound | null | undefined; }; /** @internal */ export const CreateCompletionResponse$outboundSchema: z.ZodType< CreateCompletionResponse$Outbound, z.ZodTypeDef, CreateCompletionResponse > = z.object({ id: z.string(), object: z.string(), created: z.number().int(), model: z.string(), choices: z.array( z.lazy(() => CreateCompletionResponseChoices$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 CreateCompletionResponse$ { /** @deprecated use `CreateCompletionResponse$inboundSchema` instead. */ export const inboundSchema = CreateCompletionResponse$inboundSchema; /** @deprecated use `CreateCompletionResponse$outboundSchema` instead. */ export const outboundSchema = CreateCompletionResponse$outboundSchema; /** @deprecated use `CreateCompletionResponse$Outbound` instead. */ export type Outbound = CreateCompletionResponse$Outbound; } export function createCompletionResponseToJSON( createCompletionResponse: CreateCompletionResponse, ): string { return JSON.stringify( CreateCompletionResponse$outboundSchema.parse(createCompletionResponse), ); } export function createCompletionResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateCompletionResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateCompletionResponse' from JSON`, ); }