/* * 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 { AudioModalityData, AudioModalityData$inboundSchema, AudioModalityData$Outbound, AudioModalityData$outboundSchema, } from "./audiomodalitydata.js"; import { Link, Link$inboundSchema, Link$Outbound, Link$outboundSchema, } from "./link.js"; import { VideoModalityData, VideoModalityData$inboundSchema, VideoModalityData$Outbound, VideoModalityData$outboundSchema, } from "./videomodalitydata.js"; export type ModalityData = AudioModalityData | VideoModalityData; export type DocumentChunkDetail = { id: string; index?: number | undefined; text: string; metadata?: { [k: string]: any } | undefined; links: { [k: string]: Link }; /** * Additional data specific to the modality of the chunk's source file, such as word level timestamps for chunks extracted from audio files. */ modalityData?: AudioModalityData | VideoModalityData | null | undefined; }; /** @internal */ export const ModalityData$inboundSchema: z.ZodType< ModalityData, z.ZodTypeDef, unknown > = z.union([AudioModalityData$inboundSchema, VideoModalityData$inboundSchema]); /** @internal */ export type ModalityData$Outbound = | AudioModalityData$Outbound | VideoModalityData$Outbound; /** @internal */ export const ModalityData$outboundSchema: z.ZodType< ModalityData$Outbound, z.ZodTypeDef, ModalityData > = z.union([ AudioModalityData$outboundSchema, VideoModalityData$outboundSchema, ]); export function modalityDataToJSON(modalityData: ModalityData): string { return JSON.stringify(ModalityData$outboundSchema.parse(modalityData)); } export function modalityDataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ModalityData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ModalityData' from JSON`, ); } /** @internal */ export const DocumentChunkDetail$inboundSchema: z.ZodType< DocumentChunkDetail, z.ZodTypeDef, unknown > = z.object({ id: z.string(), index: z.number().int().default(-1), text: z.string(), metadata: z.record(z.any()).optional(), links: z.record(Link$inboundSchema), modality_data: z.nullable( z.union([AudioModalityData$inboundSchema, VideoModalityData$inboundSchema]), ).optional(), }).transform((v) => { return remap$(v, { "modality_data": "modalityData", }); }); /** @internal */ export type DocumentChunkDetail$Outbound = { id: string; index: number; text: string; metadata?: { [k: string]: any } | undefined; links: { [k: string]: Link$Outbound }; modality_data?: | AudioModalityData$Outbound | VideoModalityData$Outbound | null | undefined; }; /** @internal */ export const DocumentChunkDetail$outboundSchema: z.ZodType< DocumentChunkDetail$Outbound, z.ZodTypeDef, DocumentChunkDetail > = z.object({ id: z.string(), index: z.number().int().default(-1), text: z.string(), metadata: z.record(z.any()).optional(), links: z.record(Link$outboundSchema), modalityData: z.nullable( z.union([ AudioModalityData$outboundSchema, VideoModalityData$outboundSchema, ]), ).optional(), }).transform((v) => { return remap$(v, { modalityData: "modality_data", }); }); export function documentChunkDetailToJSON( documentChunkDetail: DocumentChunkDetail, ): string { return JSON.stringify( DocumentChunkDetail$outboundSchema.parse(documentChunkDetail), ); } export function documentChunkDetailFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => DocumentChunkDetail$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DocumentChunkDetail' from JSON`, ); }