/* * 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 { ReasoningText, ReasoningText$inboundSchema, ReasoningText$Outbound, ReasoningText$outboundSchema, } from "./reasoningtext.js"; import { Status, Status$inboundSchema, Status$outboundSchema, } from "./status.js"; import { SummaryText, SummaryText$inboundSchema, SummaryText$Outbound, SummaryText$outboundSchema, } from "./summarytext.js"; /** * Reasoning item: Model reasoning metadata, including summary text and optional detailed reasoning content. */ export type Reasoning = { type: "reasoning"; id: string; summary: Array; content?: Array | undefined; encryptedContent?: string | null | undefined; status?: Status | null | undefined; }; /** @internal */ export const Reasoning$inboundSchema: z.ZodType< Reasoning, z.ZodTypeDef, unknown > = z.object({ type: z.literal("reasoning"), id: z.string(), summary: z.array(SummaryText$inboundSchema), content: z.array(ReasoningText$inboundSchema).optional(), encrypted_content: z.nullable(z.string()).optional(), status: z.nullable(Status$inboundSchema).optional(), }).transform((v) => { return remap$(v, { "encrypted_content": "encryptedContent", }); }); /** @internal */ export type Reasoning$Outbound = { type: "reasoning"; id: string; summary: Array; content?: Array | undefined; encrypted_content?: string | null | undefined; status?: string | null | undefined; }; /** @internal */ export const Reasoning$outboundSchema: z.ZodType< Reasoning$Outbound, z.ZodTypeDef, Reasoning > = z.object({ type: z.literal("reasoning"), id: z.string(), summary: z.array(SummaryText$outboundSchema), content: z.array(ReasoningText$outboundSchema).optional(), encryptedContent: z.nullable(z.string()).optional(), status: z.nullable(Status$outboundSchema).optional(), }).transform((v) => { return remap$(v, { encryptedContent: "encrypted_content", }); }); export function reasoningToJSON(reasoning: Reasoning): string { return JSON.stringify(Reasoning$outboundSchema.parse(reasoning)); } export function reasoningFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Reasoning$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Reasoning' from JSON`, ); }