/* * 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"; export type ResponseOutputItemAddedEvent = { type: "response.output_item.added"; sequenceNumber: number; outputIndex: number; item: Item; }; /** @internal */ export const ResponseOutputItemAddedEvent$inboundSchema: z.ZodType< ResponseOutputItemAddedEvent, z.ZodTypeDef, unknown > = z.object({ type: z.literal("response.output_item.added"), sequence_number: z.number().int(), output_index: z.number().int(), item: Item$inboundSchema, }).transform((v) => { return remap$(v, { "sequence_number": "sequenceNumber", "output_index": "outputIndex", }); }); /** @internal */ export type ResponseOutputItemAddedEvent$Outbound = { type: "response.output_item.added"; sequence_number: number; output_index: number; item: Item$Outbound; }; /** @internal */ export const ResponseOutputItemAddedEvent$outboundSchema: z.ZodType< ResponseOutputItemAddedEvent$Outbound, z.ZodTypeDef, ResponseOutputItemAddedEvent > = z.object({ type: z.literal("response.output_item.added"), sequenceNumber: z.number().int(), outputIndex: z.number().int(), item: Item$outboundSchema, }).transform((v) => { return remap$(v, { sequenceNumber: "sequence_number", outputIndex: "output_index", }); }); export function responseOutputItemAddedEventToJSON( responseOutputItemAddedEvent: ResponseOutputItemAddedEvent, ): string { return JSON.stringify( ResponseOutputItemAddedEvent$outboundSchema.parse( responseOutputItemAddedEvent, ), ); } export function responseOutputItemAddedEventFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ResponseOutputItemAddedEvent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseOutputItemAddedEvent' from JSON`, ); }