/* * 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 { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Feedback rating indicating user satisfaction. 'thumbs_up' indicates positive feedback, 'thumbs_down' indicates negative feedback. */ export const Rating = { ThumbsUp: "thumbs_up", ThumbsDown: "thumbs_down", } as const; /** * Feedback rating indicating user satisfaction. 'thumbs_up' indicates positive feedback, 'thumbs_down' indicates negative feedback. */ export type Rating = ClosedEnum; /** * Fields to update in the feedback. All fields are optional; only provided fields will be updated. Pass null to clear a field. */ export type UpdateCompletionFeedbackRequestBody = { /** * Update the feedback rating. Pass null to clear the rating. Can be 'thumbs_up' or 'thumbs_down'. */ rating?: Rating | null | undefined; /** * Update the feedback description. Pass null to clear the description. Provide text to update with new feedback comments (max 2000 characters). */ description?: string | null | undefined; }; export type UpdateCompletionFeedbackRequest = { id: string; /** * Optional external end-user identifier forwarded by the API gateway. */ xOnBehalfOf?: string | undefined; requestBody: UpdateCompletionFeedbackRequestBody; }; /** @internal */ export const Rating$inboundSchema: z.ZodNativeEnum = z .nativeEnum(Rating); /** @internal */ export const Rating$outboundSchema: z.ZodNativeEnum = Rating$inboundSchema; /** @internal */ export const UpdateCompletionFeedbackRequestBody$inboundSchema: z.ZodType< UpdateCompletionFeedbackRequestBody, z.ZodTypeDef, unknown > = z.object({ rating: z.nullable(Rating$inboundSchema).optional(), description: z.nullable(z.string()).optional(), }); /** @internal */ export type UpdateCompletionFeedbackRequestBody$Outbound = { rating?: string | null | undefined; description?: string | null | undefined; }; /** @internal */ export const UpdateCompletionFeedbackRequestBody$outboundSchema: z.ZodType< UpdateCompletionFeedbackRequestBody$Outbound, z.ZodTypeDef, UpdateCompletionFeedbackRequestBody > = z.object({ rating: z.nullable(Rating$outboundSchema).optional(), description: z.nullable(z.string()).optional(), }); export function updateCompletionFeedbackRequestBodyToJSON( updateCompletionFeedbackRequestBody: UpdateCompletionFeedbackRequestBody, ): string { return JSON.stringify( UpdateCompletionFeedbackRequestBody$outboundSchema.parse( updateCompletionFeedbackRequestBody, ), ); } export function updateCompletionFeedbackRequestBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => UpdateCompletionFeedbackRequestBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateCompletionFeedbackRequestBody' from JSON`, ); } /** @internal */ export const UpdateCompletionFeedbackRequest$inboundSchema: z.ZodType< UpdateCompletionFeedbackRequest, z.ZodTypeDef, unknown > = z.object({ id: z.string(), "X-On-Behalf-Of": z.string().optional(), RequestBody: z.lazy(() => UpdateCompletionFeedbackRequestBody$inboundSchema), }).transform((v) => { return remap$(v, { "X-On-Behalf-Of": "xOnBehalfOf", "RequestBody": "requestBody", }); }); /** @internal */ export type UpdateCompletionFeedbackRequest$Outbound = { id: string; "X-On-Behalf-Of"?: string | undefined; RequestBody: UpdateCompletionFeedbackRequestBody$Outbound; }; /** @internal */ export const UpdateCompletionFeedbackRequest$outboundSchema: z.ZodType< UpdateCompletionFeedbackRequest$Outbound, z.ZodTypeDef, UpdateCompletionFeedbackRequest > = z.object({ id: z.string(), xOnBehalfOf: z.string().optional(), requestBody: z.lazy(() => UpdateCompletionFeedbackRequestBody$outboundSchema), }).transform((v) => { return remap$(v, { xOnBehalfOf: "X-On-Behalf-Of", requestBody: "RequestBody", }); }); export function updateCompletionFeedbackRequestToJSON( updateCompletionFeedbackRequest: UpdateCompletionFeedbackRequest, ): string { return JSON.stringify( UpdateCompletionFeedbackRequest$outboundSchema.parse( updateCompletionFeedbackRequest, ), ); } export function updateCompletionFeedbackRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => UpdateCompletionFeedbackRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateCompletionFeedbackRequest' from JSON`, ); }