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