/* * 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"; export type GetPromptResponse = { /** * Unique prompt identifier */ id: string; /** * Object type */ object: "prompt"; /** * Human-readable prompt name */ name: string; /** * Detailed description of the prompt */ description?: string | undefined; /** * Currently active version number */ activeVersion: number; /** * Most recent version number */ latestVersion: number; /** * Custom metadata key-value pairs */ metadata: { [k: string]: any }; /** * Timestamp when the prompt was created */ createdAt: Date; /** * Timestamp when the prompt was last updated */ updatedAt: Date; /** * The template text for the requested version */ activeTemplate: string; /** * The template with variables substituted — only present when variables are provided */ renderedTemplate?: string | undefined; }; /** @internal */ export const GetPromptResponse$inboundSchema: z.ZodType< GetPromptResponse, z.ZodTypeDef, unknown > = z.object({ id: z.string(), object: z.literal("prompt"), name: z.string(), description: z.string().optional(), active_version: z.number().int(), latest_version: z.number().int(), metadata: z.record(z.any()), created_at: z.string().datetime({ offset: true }).transform(v => new Date(v)), updated_at: z.string().datetime({ offset: true }).transform(v => new Date(v)), active_template: z.string(), rendered_template: z.string().optional(), }).transform((v) => { return remap$(v, { "active_version": "activeVersion", "latest_version": "latestVersion", "created_at": "createdAt", "updated_at": "updatedAt", "active_template": "activeTemplate", "rendered_template": "renderedTemplate", }); }); /** @internal */ export type GetPromptResponse$Outbound = { id: string; object: "prompt"; name: string; description?: string | undefined; active_version: number; latest_version: number; metadata: { [k: string]: any }; created_at: string; updated_at: string; active_template: string; rendered_template?: string | undefined; }; /** @internal */ export const GetPromptResponse$outboundSchema: z.ZodType< GetPromptResponse$Outbound, z.ZodTypeDef, GetPromptResponse > = z.object({ id: z.string(), object: z.literal("prompt"), name: z.string(), description: z.string().optional(), activeVersion: z.number().int(), latestVersion: z.number().int(), metadata: z.record(z.any()), createdAt: z.date().transform(v => v.toISOString()), updatedAt: z.date().transform(v => v.toISOString()), activeTemplate: z.string(), renderedTemplate: z.string().optional(), }).transform((v) => { return remap$(v, { activeVersion: "active_version", latestVersion: "latest_version", createdAt: "created_at", updatedAt: "updated_at", activeTemplate: "active_template", renderedTemplate: "rendered_template", }); }); export function getPromptResponseToJSON( getPromptResponse: GetPromptResponse, ): string { return JSON.stringify( GetPromptResponse$outboundSchema.parse(getPromptResponse), ); } export function getPromptResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetPromptResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetPromptResponse' from JSON`, ); }