/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * The embedding vector, either as an array of floats or a base64-encoded string */ export type Embedding = Array | string; export type Data = { object?: "embedding" | undefined; /** * The embedding vector, either as an array of floats or a base64-encoded string */ embedding: Array | string; index: number; }; /** * Usage statistics for the embeddings request */ export type EmbeddingsResponseUsage = { promptTokens: number; totalTokens: number; }; /** * Response from the embeddings endpoint containing the generated embeddings and usage information. */ export type EmbeddingsResponse = { /** * A list of embedding objects. Each object contains the embedding vector as an array of floating point numbers or base64-encoded string representing the semantic meaning of the input text. */ data: Array; /** * The model used for generating the embeddings */ model: string; object?: "list" | undefined; /** * Usage statistics for the embeddings request */ usage?: EmbeddingsResponseUsage | undefined; }; /** @internal */ export const Embedding$inboundSchema: z.ZodType< Embedding, z.ZodTypeDef, unknown > = z.union([z.array(z.number()), z.string()]); /** @internal */ export type Embedding$Outbound = Array | string; /** @internal */ export const Embedding$outboundSchema: z.ZodType< Embedding$Outbound, z.ZodTypeDef, Embedding > = z.union([z.array(z.number()), z.string()]); export function embeddingToJSON(embedding: Embedding): string { return JSON.stringify(Embedding$outboundSchema.parse(embedding)); } export function embeddingFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Embedding$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Embedding' from JSON`, ); } /** @internal */ export const Data$inboundSchema: z.ZodType = z .object({ object: z.literal("embedding").default("embedding"), embedding: z.union([z.array(z.number()), z.string()]), index: z.number(), }); /** @internal */ export type Data$Outbound = { object: "embedding"; embedding: Array | string; index: number; }; /** @internal */ export const Data$outboundSchema: z.ZodType = z.object({ object: z.literal("embedding").default("embedding" as const), embedding: z.union([z.array(z.number()), z.string()]), index: z.number(), }); 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 EmbeddingsResponseUsage$inboundSchema: z.ZodType< EmbeddingsResponseUsage, z.ZodTypeDef, unknown > = z.object({ prompt_tokens: z.number(), total_tokens: z.number(), }).transform((v) => { return remap$(v, { "prompt_tokens": "promptTokens", "total_tokens": "totalTokens", }); }); /** @internal */ export type EmbeddingsResponseUsage$Outbound = { prompt_tokens: number; total_tokens: number; }; /** @internal */ export const EmbeddingsResponseUsage$outboundSchema: z.ZodType< EmbeddingsResponseUsage$Outbound, z.ZodTypeDef, EmbeddingsResponseUsage > = z.object({ promptTokens: z.number(), totalTokens: z.number(), }).transform((v) => { return remap$(v, { promptTokens: "prompt_tokens", totalTokens: "total_tokens", }); }); export function embeddingsResponseUsageToJSON( embeddingsResponseUsage: EmbeddingsResponseUsage, ): string { return JSON.stringify( EmbeddingsResponseUsage$outboundSchema.parse(embeddingsResponseUsage), ); } export function embeddingsResponseUsageFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => EmbeddingsResponseUsage$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmbeddingsResponseUsage' from JSON`, ); } /** @internal */ export const EmbeddingsResponse$inboundSchema: z.ZodType< EmbeddingsResponse, z.ZodTypeDef, unknown > = z.object({ data: z.array(z.lazy(() => Data$inboundSchema)), model: z.string(), object: z.literal("list").default("list"), usage: z.lazy(() => EmbeddingsResponseUsage$inboundSchema).optional(), }); /** @internal */ export type EmbeddingsResponse$Outbound = { data: Array; model: string; object: "list"; usage?: EmbeddingsResponseUsage$Outbound | undefined; }; /** @internal */ export const EmbeddingsResponse$outboundSchema: z.ZodType< EmbeddingsResponse$Outbound, z.ZodTypeDef, EmbeddingsResponse > = z.object({ data: z.array(z.lazy(() => Data$outboundSchema)), model: z.string(), object: z.literal("list").default("list" as const), usage: z.lazy(() => EmbeddingsResponseUsage$outboundSchema).optional(), }); export function embeddingsResponseToJSON( embeddingsResponse: EmbeddingsResponse, ): string { return JSON.stringify( EmbeddingsResponse$outboundSchema.parse(embeddingsResponse), ); } export function embeddingsResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => EmbeddingsResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmbeddingsResponse' from JSON`, ); }