/* * 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 { Item, Item$inboundSchema, Item$Outbound, Item$outboundSchema, } from "./item.js"; /** * Text, image, or file inputs to the model, used to generate a response. */ export type CompactResponseRequestInput = string | Array; /** * Request schema for compacting a response's conversation history into a condensed summary. */ export type CompactResponseRequest = { /** * The model to use for generating the compaction summary. */ model: string; /** * Text, image, or file inputs to the model, used to generate a response. */ input?: string | Array | undefined; /** * The ID of a previous response whose conversation history should be compacted. If omitted, only the provided input is compacted. */ previousResponseId?: string | undefined; }; /** @internal */ export const CompactResponseRequestInput$inboundSchema: z.ZodType< CompactResponseRequestInput, z.ZodTypeDef, unknown > = z.union([z.string(), z.array(Item$inboundSchema)]); /** @internal */ export type CompactResponseRequestInput$Outbound = | string | Array; /** @internal */ export const CompactResponseRequestInput$outboundSchema: z.ZodType< CompactResponseRequestInput$Outbound, z.ZodTypeDef, CompactResponseRequestInput > = z.union([z.string(), z.array(Item$outboundSchema)]); export function compactResponseRequestInputToJSON( compactResponseRequestInput: CompactResponseRequestInput, ): string { return JSON.stringify( CompactResponseRequestInput$outboundSchema.parse( compactResponseRequestInput, ), ); } export function compactResponseRequestInputFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CompactResponseRequestInput$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CompactResponseRequestInput' from JSON`, ); } /** @internal */ export const CompactResponseRequest$inboundSchema: z.ZodType< CompactResponseRequest, z.ZodTypeDef, unknown > = z.object({ model: z.string(), input: z.union([z.string(), z.array(Item$inboundSchema)]).optional(), previous_response_id: z.string().optional(), }).transform((v) => { return remap$(v, { "previous_response_id": "previousResponseId", }); }); /** @internal */ export type CompactResponseRequest$Outbound = { model: string; input?: string | Array | undefined; previous_response_id?: string | undefined; }; /** @internal */ export const CompactResponseRequest$outboundSchema: z.ZodType< CompactResponseRequest$Outbound, z.ZodTypeDef, CompactResponseRequest > = z.object({ model: z.string(), input: z.union([z.string(), z.array(Item$outboundSchema)]).optional(), previousResponseId: z.string().optional(), }).transform((v) => { return remap$(v, { previousResponseId: "previous_response_id", }); }); export function compactResponseRequestToJSON( compactResponseRequest: CompactResponseRequest, ): string { return JSON.stringify( CompactResponseRequest$outboundSchema.parse(compactResponseRequest), ); } export function compactResponseRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CompactResponseRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CompactResponseRequest' from JSON`, ); }