/* * 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 { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { ReasoningSummary, ReasoningSummary$inboundSchema, ReasoningSummary$Outbound, ReasoningSummary$outboundSchema, } from "./reasoningsummary.js"; import { ReasoningText, ReasoningText$inboundSchema, ReasoningText$Outbound, ReasoningText$outboundSchema, } from "./reasoningtext.js"; export const ReasoningOutputStatus = { InProgress: "in_progress", Completed: "completed", Incomplete: "incomplete", } as const; export type ReasoningOutputStatus = ClosedEnum; export type ReasoningOutput = { /** * The unique ID of the reasoning output. */ id: string; /** * The summary of the reasoning. */ summary: Array; type?: "reasoning" | undefined; /** * The content of the reasoning. */ content: Array; /** * The encrypted content of the reasoning output. */ encryptedContent: string; status?: ReasoningOutputStatus | undefined; }; /** @internal */ export const ReasoningOutputStatus$inboundSchema: z.ZodNativeEnum< typeof ReasoningOutputStatus > = z.nativeEnum(ReasoningOutputStatus); /** @internal */ export const ReasoningOutputStatus$outboundSchema: z.ZodNativeEnum< typeof ReasoningOutputStatus > = ReasoningOutputStatus$inboundSchema; /** @internal */ export const ReasoningOutput$inboundSchema: z.ZodType< ReasoningOutput, z.ZodTypeDef, unknown > = z.object({ id: z.string(), summary: z.array(ReasoningSummary$inboundSchema), type: z.literal("reasoning").default("reasoning"), content: z.array(ReasoningText$inboundSchema), encrypted_content: z.string(), status: ReasoningOutputStatus$inboundSchema.default("completed"), }).transform((v) => { return remap$(v, { "encrypted_content": "encryptedContent", }); }); /** @internal */ export type ReasoningOutput$Outbound = { id: string; summary: Array; type: "reasoning"; content: Array; encrypted_content: string; status: string; }; /** @internal */ export const ReasoningOutput$outboundSchema: z.ZodType< ReasoningOutput$Outbound, z.ZodTypeDef, ReasoningOutput > = z.object({ id: z.string(), summary: z.array(ReasoningSummary$outboundSchema), type: z.literal("reasoning").default("reasoning" as const), content: z.array(ReasoningText$outboundSchema), encryptedContent: z.string(), status: ReasoningOutputStatus$outboundSchema.default("completed"), }).transform((v) => { return remap$(v, { encryptedContent: "encrypted_content", }); }); export function reasoningOutputToJSON( reasoningOutput: ReasoningOutput, ): string { return JSON.stringify(ReasoningOutput$outboundSchema.parse(reasoningOutput)); } export function reasoningOutputFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ReasoningOutput$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ReasoningOutput' from JSON`, ); }