/* * 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"; import { InputTokenDetails, InputTokenDetails$inboundSchema, InputTokenDetails$Outbound, InputTokenDetails$outboundSchema, } from "./inputtokendetails.js"; import { OutputTokenDetails, OutputTokenDetails$inboundSchema, OutputTokenDetails$Outbound, OutputTokenDetails$outboundSchema, } from "./outputtokendetails.js"; export type RagieApiSchemaResponseUsage = { inputTokens: number; inputTokenDetails?: InputTokenDetails | undefined; outputTokens: number; outputTokenDetails?: OutputTokenDetails | undefined; totalTokens: number; }; /** @internal */ export const RagieApiSchemaResponseUsage$inboundSchema: z.ZodType< RagieApiSchemaResponseUsage, z.ZodTypeDef, unknown > = z.object({ input_tokens: z.number().int(), input_token_details: InputTokenDetails$inboundSchema.optional(), output_tokens: z.number().int(), output_token_details: OutputTokenDetails$inboundSchema.optional(), total_tokens: z.number().int(), }).transform((v) => { return remap$(v, { "input_tokens": "inputTokens", "input_token_details": "inputTokenDetails", "output_tokens": "outputTokens", "output_token_details": "outputTokenDetails", "total_tokens": "totalTokens", }); }); /** @internal */ export type RagieApiSchemaResponseUsage$Outbound = { input_tokens: number; input_token_details?: InputTokenDetails$Outbound | undefined; output_tokens: number; output_token_details?: OutputTokenDetails$Outbound | undefined; total_tokens: number; }; /** @internal */ export const RagieApiSchemaResponseUsage$outboundSchema: z.ZodType< RagieApiSchemaResponseUsage$Outbound, z.ZodTypeDef, RagieApiSchemaResponseUsage > = z.object({ inputTokens: z.number().int(), inputTokenDetails: InputTokenDetails$outboundSchema.optional(), outputTokens: z.number().int(), outputTokenDetails: OutputTokenDetails$outboundSchema.optional(), totalTokens: z.number().int(), }).transform((v) => { return remap$(v, { inputTokens: "input_tokens", inputTokenDetails: "input_token_details", outputTokens: "output_tokens", outputTokenDetails: "output_token_details", totalTokens: "total_tokens", }); }); export function ragieApiSchemaResponseUsageToJSON( ragieApiSchemaResponseUsage: RagieApiSchemaResponseUsage, ): string { return JSON.stringify( RagieApiSchemaResponseUsage$outboundSchema.parse( ragieApiSchemaResponseUsage, ), ); } export function ragieApiSchemaResponseUsageFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => RagieApiSchemaResponseUsage$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'RagieApiSchemaResponseUsage' from JSON`, ); }