/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 2252ea085aaf */ import * as z from "zod/v4"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { PromptVariable, PromptVariable$inboundSchema, PromptVariable$Outbound, PromptVariable$outboundSchema, } from "./promptvariable.js"; /** * Versioned prompt content. */ export type PromptDefinition = { /** * Prompt template content. */ content: string; /** * Variables used by the prompt. */ variables?: Array | undefined; }; /** @internal */ export const PromptDefinition$inboundSchema: z.ZodType< PromptDefinition, unknown > = z.object({ content: z.string(), variables: z.array(PromptVariable$inboundSchema).optional(), }); /** @internal */ export type PromptDefinition$Outbound = { content: string; variables?: Array | undefined; }; /** @internal */ export const PromptDefinition$outboundSchema: z.ZodType< PromptDefinition$Outbound, PromptDefinition > = z.object({ content: z.string(), variables: z.array(PromptVariable$outboundSchema).optional(), }); export function promptDefinitionToJSON( promptDefinition: PromptDefinition, ): string { return JSON.stringify( PromptDefinition$outboundSchema.parse(promptDefinition), ); } export function promptDefinitionFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PromptDefinition$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PromptDefinition' from JSON`, ); }