/* * 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"; export type ModelUsage = { modelName: string; inputTokens: number; outputTokens: number; }; /** @internal */ export const ModelUsage$inboundSchema: z.ZodType< ModelUsage, z.ZodTypeDef, unknown > = z.object({ model_name: z.string(), input_tokens: z.number().int(), output_tokens: z.number().int(), }).transform((v) => { return remap$(v, { "model_name": "modelName", "input_tokens": "inputTokens", "output_tokens": "outputTokens", }); }); /** @internal */ export type ModelUsage$Outbound = { model_name: string; input_tokens: number; output_tokens: number; }; /** @internal */ export const ModelUsage$outboundSchema: z.ZodType< ModelUsage$Outbound, z.ZodTypeDef, ModelUsage > = z.object({ modelName: z.string(), inputTokens: z.number().int(), outputTokens: z.number().int(), }).transform((v) => { return remap$(v, { modelName: "model_name", inputTokens: "input_tokens", outputTokens: "output_tokens", }); }); export function modelUsageToJSON(modelUsage: ModelUsage): string { return JSON.stringify(ModelUsage$outboundSchema.parse(modelUsage)); } export function modelUsageFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ModelUsage$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ModelUsage' from JSON`, ); }