/* * 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"; /** * Sort order by last updated timestamp: asc (oldest first) or desc (newest first) */ export const Order = { Asc: "asc", Desc: "desc", } as const; /** * Sort order by last updated timestamp: asc (oldest first) or desc (newest first) */ export type Order = ClosedEnum; /** * Filter conversations by metadata key-value pairs (JSON string or object). Only conversations with matching metadata will be returned. */ export type Metadata = string | { [k: string]: string }; export type ConversationsListRequest = { after?: string | undefined; limit?: number | undefined; /** * Sort order by last updated timestamp: asc (oldest first) or desc (newest first) */ order?: Order | undefined; /** * Filter conversations by metadata key-value pairs (JSON string or object). Only conversations with matching metadata will be returned. */ metadata?: string | { [k: string]: string } | undefined; search?: string | undefined; /** * Optional external end-user identifier forwarded by the API gateway. */ xOnBehalfOf?: string | undefined; }; /** @internal */ export const Order$inboundSchema: z.ZodNativeEnum = z.nativeEnum( Order, ); /** @internal */ export const Order$outboundSchema: z.ZodNativeEnum = Order$inboundSchema; /** @internal */ export const Metadata$inboundSchema: z.ZodType< Metadata, z.ZodTypeDef, unknown > = z.union([z.string(), z.record(z.string())]); /** @internal */ export type Metadata$Outbound = string | { [k: string]: string }; /** @internal */ export const Metadata$outboundSchema: z.ZodType< Metadata$Outbound, z.ZodTypeDef, Metadata > = z.union([z.string(), z.record(z.string())]); export function metadataToJSON(metadata: Metadata): string { return JSON.stringify(Metadata$outboundSchema.parse(metadata)); } export function metadataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Metadata$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Metadata' from JSON`, ); } /** @internal */ export const ConversationsListRequest$inboundSchema: z.ZodType< ConversationsListRequest, z.ZodTypeDef, unknown > = z.object({ after: z.string().optional(), limit: z.number().int().default(20), order: Order$inboundSchema.default("asc"), metadata: z.union([z.string(), z.record(z.string())]).optional(), search: z.string().optional(), "X-On-Behalf-Of": z.string().optional(), }).transform((v) => { return remap$(v, { "X-On-Behalf-Of": "xOnBehalfOf", }); }); /** @internal */ export type ConversationsListRequest$Outbound = { after?: string | undefined; limit: number; order: string; metadata?: string | { [k: string]: string } | undefined; search?: string | undefined; "X-On-Behalf-Of"?: string | undefined; }; /** @internal */ export const ConversationsListRequest$outboundSchema: z.ZodType< ConversationsListRequest$Outbound, z.ZodTypeDef, ConversationsListRequest > = z.object({ after: z.string().optional(), limit: z.number().int().default(20), order: Order$outboundSchema.default("asc"), metadata: z.union([z.string(), z.record(z.string())]).optional(), search: z.string().optional(), xOnBehalfOf: z.string().optional(), }).transform((v) => { return remap$(v, { xOnBehalfOf: "X-On-Behalf-Of", }); }); export function conversationsListRequestToJSON( conversationsListRequest: ConversationsListRequest, ): string { return JSON.stringify( ConversationsListRequest$outboundSchema.parse(conversationsListRequest), ); } export function conversationsListRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ConversationsListRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ConversationsListRequest' from JSON`, ); }