/* * 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 { MediaModeParam, MediaModeParam$inboundSchema, MediaModeParam$Outbound, MediaModeParam$outboundSchema, } from "./mediamodeparam.js"; export const PartitionStrategy1 = { HiRes: "hi_res", Fast: "fast", } as const; export type PartitionStrategy1 = ClosedEnum; export type PartitionStrategy = PartitionStrategy1 | MediaModeParam; export type ConnectionBaseMetadata = | string | number | number | boolean | Array; export type ConnectionBase = { partitionStrategy: PartitionStrategy1 | MediaModeParam; /** * Metadata for the document. Keys must be strings. Values may be strings, numbers, booleans, or lists of strings. Numbers may be integers or floating point and will be converted to 64 bit floating point. 1000 total values are allowed. Each item in an array counts towards the total. The following keys are reserved for internal use: `document_id`, `document_type`, `document_source`, `document_name`, `document_uploaded_at`, `start_time`, `end_time`, `chunk_content_type`. */ metadata?: | { [k: string]: string | number | number | boolean | Array } | undefined; /** * The maximum number of pages a connection will sync. The connection will be disabled after this limit is reached. Some in process documents may continue processing. Remove the limit by setting to `null`. */ pageLimit?: number | null | undefined; }; /** @internal */ export const PartitionStrategy1$inboundSchema: z.ZodNativeEnum< typeof PartitionStrategy1 > = z.nativeEnum(PartitionStrategy1); /** @internal */ export const PartitionStrategy1$outboundSchema: z.ZodNativeEnum< typeof PartitionStrategy1 > = PartitionStrategy1$inboundSchema; /** @internal */ export const PartitionStrategy$inboundSchema: z.ZodType< PartitionStrategy, z.ZodTypeDef, unknown > = z.union([PartitionStrategy1$inboundSchema, MediaModeParam$inboundSchema]); /** @internal */ export type PartitionStrategy$Outbound = string | MediaModeParam$Outbound; /** @internal */ export const PartitionStrategy$outboundSchema: z.ZodType< PartitionStrategy$Outbound, z.ZodTypeDef, PartitionStrategy > = z.union([PartitionStrategy1$outboundSchema, MediaModeParam$outboundSchema]); export function partitionStrategyToJSON( partitionStrategy: PartitionStrategy, ): string { return JSON.stringify( PartitionStrategy$outboundSchema.parse(partitionStrategy), ); } export function partitionStrategyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PartitionStrategy$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PartitionStrategy' from JSON`, ); } /** @internal */ export const ConnectionBaseMetadata$inboundSchema: z.ZodType< ConnectionBaseMetadata, z.ZodTypeDef, unknown > = z.union([ z.string(), z.number().int(), z.number(), z.boolean(), z.array(z.string()), ]); /** @internal */ export type ConnectionBaseMetadata$Outbound = | string | number | number | boolean | Array; /** @internal */ export const ConnectionBaseMetadata$outboundSchema: z.ZodType< ConnectionBaseMetadata$Outbound, z.ZodTypeDef, ConnectionBaseMetadata > = z.union([ z.string(), z.number().int(), z.number(), z.boolean(), z.array(z.string()), ]); export function connectionBaseMetadataToJSON( connectionBaseMetadata: ConnectionBaseMetadata, ): string { return JSON.stringify( ConnectionBaseMetadata$outboundSchema.parse(connectionBaseMetadata), ); } export function connectionBaseMetadataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ConnectionBaseMetadata$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ConnectionBaseMetadata' from JSON`, ); } /** @internal */ export const ConnectionBase$inboundSchema: z.ZodType< ConnectionBase, z.ZodTypeDef, unknown > = z.object({ partition_strategy: z.union([ PartitionStrategy1$inboundSchema, MediaModeParam$inboundSchema, ]), metadata: z.record( z.union([ z.string(), z.number().int(), z.number(), z.boolean(), z.array(z.string()), ]), ).optional(), page_limit: z.nullable(z.number().int()).optional(), }).transform((v) => { return remap$(v, { "partition_strategy": "partitionStrategy", "page_limit": "pageLimit", }); }); /** @internal */ export type ConnectionBase$Outbound = { partition_strategy: string | MediaModeParam$Outbound; metadata?: | { [k: string]: string | number | number | boolean | Array } | undefined; page_limit?: number | null | undefined; }; /** @internal */ export const ConnectionBase$outboundSchema: z.ZodType< ConnectionBase$Outbound, z.ZodTypeDef, ConnectionBase > = z.object({ partitionStrategy: z.union([ PartitionStrategy1$outboundSchema, MediaModeParam$outboundSchema, ]), metadata: z.record( z.union([ z.string(), z.number().int(), z.number(), z.boolean(), z.array(z.string()), ]), ).optional(), pageLimit: z.nullable(z.number().int()).optional(), }).transform((v) => { return remap$(v, { partitionStrategy: "partition_strategy", pageLimit: "page_limit", }); }); export function connectionBaseToJSON(connectionBase: ConnectionBase): string { return JSON.stringify(ConnectionBase$outboundSchema.parse(connectionBase)); } export function connectionBaseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ConnectionBase$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ConnectionBase' from JSON`, ); }