/* * 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 { AutoChunkingStrategy, AutoChunkingStrategy$inboundSchema, AutoChunkingStrategy$Outbound, AutoChunkingStrategy$outboundSchema, } from "./autochunkingstrategy.js"; import { StaticChunkingStrategy, StaticChunkingStrategy$inboundSchema, StaticChunkingStrategy$Outbound, StaticChunkingStrategy$outboundSchema, } from "./staticchunkingstrategy.js"; export type FileWithMetadataAttributes = string | boolean | number; /** * Optional chunking strategy for this specific file. */ export type FileWithMetadataChunkingStrategy = | AutoChunkingStrategy | StaticChunkingStrategy; /** * A file with optional per-file metadata and chunking strategy. */ export type FileWithMetadata = { /** * A File ID that the vector store should use. */ fileId: string; /** * Optional attributes for this specific file. */ attributes?: { [k: string]: string | boolean | number } | undefined; /** * Optional chunking strategy for this specific file. */ chunkingStrategy?: AutoChunkingStrategy | StaticChunkingStrategy | undefined; }; /** @internal */ export const FileWithMetadataAttributes$inboundSchema: z.ZodType< FileWithMetadataAttributes, z.ZodTypeDef, unknown > = z.union([z.string(), z.boolean(), z.number()]); /** @internal */ export type FileWithMetadataAttributes$Outbound = string | boolean | number; /** @internal */ export const FileWithMetadataAttributes$outboundSchema: z.ZodType< FileWithMetadataAttributes$Outbound, z.ZodTypeDef, FileWithMetadataAttributes > = z.union([z.string(), z.boolean(), z.number()]); export function fileWithMetadataAttributesToJSON( fileWithMetadataAttributes: FileWithMetadataAttributes, ): string { return JSON.stringify( FileWithMetadataAttributes$outboundSchema.parse(fileWithMetadataAttributes), ); } export function fileWithMetadataAttributesFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FileWithMetadataAttributes$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FileWithMetadataAttributes' from JSON`, ); } /** @internal */ export const FileWithMetadataChunkingStrategy$inboundSchema: z.ZodType< FileWithMetadataChunkingStrategy, z.ZodTypeDef, unknown > = z.union([ AutoChunkingStrategy$inboundSchema, StaticChunkingStrategy$inboundSchema, ]); /** @internal */ export type FileWithMetadataChunkingStrategy$Outbound = | AutoChunkingStrategy$Outbound | StaticChunkingStrategy$Outbound; /** @internal */ export const FileWithMetadataChunkingStrategy$outboundSchema: z.ZodType< FileWithMetadataChunkingStrategy$Outbound, z.ZodTypeDef, FileWithMetadataChunkingStrategy > = z.union([ AutoChunkingStrategy$outboundSchema, StaticChunkingStrategy$outboundSchema, ]); export function fileWithMetadataChunkingStrategyToJSON( fileWithMetadataChunkingStrategy: FileWithMetadataChunkingStrategy, ): string { return JSON.stringify( FileWithMetadataChunkingStrategy$outboundSchema.parse( fileWithMetadataChunkingStrategy, ), ); } export function fileWithMetadataChunkingStrategyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FileWithMetadataChunkingStrategy$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FileWithMetadataChunkingStrategy' from JSON`, ); } /** @internal */ export const FileWithMetadata$inboundSchema: z.ZodType< FileWithMetadata, z.ZodTypeDef, unknown > = z.object({ file_id: z.string(), attributes: z.record(z.union([z.string(), z.boolean(), z.number()])) .optional(), chunking_strategy: z.union([ AutoChunkingStrategy$inboundSchema, StaticChunkingStrategy$inboundSchema, ]).optional(), }).transform((v) => { return remap$(v, { "file_id": "fileId", "chunking_strategy": "chunkingStrategy", }); }); /** @internal */ export type FileWithMetadata$Outbound = { file_id: string; attributes?: { [k: string]: string | boolean | number } | undefined; chunking_strategy?: | AutoChunkingStrategy$Outbound | StaticChunkingStrategy$Outbound | undefined; }; /** @internal */ export const FileWithMetadata$outboundSchema: z.ZodType< FileWithMetadata$Outbound, z.ZodTypeDef, FileWithMetadata > = z.object({ fileId: z.string(), attributes: z.record(z.union([z.string(), z.boolean(), z.number()])) .optional(), chunkingStrategy: z.union([ AutoChunkingStrategy$outboundSchema, StaticChunkingStrategy$outboundSchema, ]).optional(), }).transform((v) => { return remap$(v, { fileId: "file_id", chunkingStrategy: "chunking_strategy", }); }); export function fileWithMetadataToJSON( fileWithMetadata: FileWithMetadata, ): string { return JSON.stringify( FileWithMetadata$outboundSchema.parse(fileWithMetadata), ); } export function fileWithMetadataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FileWithMetadata$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FileWithMetadata' from JSON`, ); }