/* * 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"; /** * Computer use tool definition: Configures the computer-use preview tool, including required display dimensions and runtime environment. */ export type ComputerUseToolDefinition = { type: "computer_use_preview"; displayHeight: number; displayWidth: number; environment: string; }; /** @internal */ export const ComputerUseToolDefinition$inboundSchema: z.ZodType< ComputerUseToolDefinition, z.ZodTypeDef, unknown > = z.object({ type: z.literal("computer_use_preview"), display_height: z.number().int(), display_width: z.number().int(), environment: z.string(), }).transform((v) => { return remap$(v, { "display_height": "displayHeight", "display_width": "displayWidth", }); }); /** @internal */ export type ComputerUseToolDefinition$Outbound = { type: "computer_use_preview"; display_height: number; display_width: number; environment: string; }; /** @internal */ export const ComputerUseToolDefinition$outboundSchema: z.ZodType< ComputerUseToolDefinition$Outbound, z.ZodTypeDef, ComputerUseToolDefinition > = z.object({ type: z.literal("computer_use_preview"), displayHeight: z.number().int(), displayWidth: z.number().int(), environment: z.string(), }).transform((v) => { return remap$(v, { displayHeight: "display_height", displayWidth: "display_width", }); }); export function computerUseToolDefinitionToJSON( computerUseToolDefinition: ComputerUseToolDefinition, ): string { return JSON.stringify( ComputerUseToolDefinition$outboundSchema.parse(computerUseToolDefinition), ); } export function computerUseToolDefinitionFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ComputerUseToolDefinition$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ComputerUseToolDefinition' from JSON`, ); }