/* * 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 CreateClusterInviteRequestBody = { email?: string | undefined; suggestedOrgName?: string | undefined; expiresInDays?: number | undefined; modelIds?: Array | undefined; }; export type CreateClusterInviteRequest = { /** * Optional external end-user identifier forwarded by the API gateway. */ xOnBehalfOf?: string | undefined; requestBody?: CreateClusterInviteRequestBody | undefined; }; export type Invitation = { id: string; token?: string | undefined; email: string | null; suggestedOrgName: string | null; seedAvailableModels?: Array | undefined; expiresAt: string; createdAt: string; claimedAt?: string | null | undefined; createdOrgId?: string | null | undefined; emailSent?: boolean | null | undefined; }; /** * Invitation created */ export type CreateClusterInviteResponseBody = { invitation: Invitation; }; /** @internal */ export const CreateClusterInviteRequestBody$inboundSchema: z.ZodType< CreateClusterInviteRequestBody, z.ZodTypeDef, unknown > = z.object({ email: z.string().optional(), suggestedOrgName: z.string().optional(), expiresInDays: z.number().int().optional(), modelIds: z.array(z.string()).optional(), }); /** @internal */ export type CreateClusterInviteRequestBody$Outbound = { email?: string | undefined; suggestedOrgName?: string | undefined; expiresInDays?: number | undefined; modelIds?: Array | undefined; }; /** @internal */ export const CreateClusterInviteRequestBody$outboundSchema: z.ZodType< CreateClusterInviteRequestBody$Outbound, z.ZodTypeDef, CreateClusterInviteRequestBody > = z.object({ email: z.string().optional(), suggestedOrgName: z.string().optional(), expiresInDays: z.number().int().optional(), modelIds: z.array(z.string()).optional(), }); export function createClusterInviteRequestBodyToJSON( createClusterInviteRequestBody: CreateClusterInviteRequestBody, ): string { return JSON.stringify( CreateClusterInviteRequestBody$outboundSchema.parse( createClusterInviteRequestBody, ), ); } export function createClusterInviteRequestBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateClusterInviteRequestBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClusterInviteRequestBody' from JSON`, ); } /** @internal */ export const CreateClusterInviteRequest$inboundSchema: z.ZodType< CreateClusterInviteRequest, z.ZodTypeDef, unknown > = z.object({ "X-On-Behalf-Of": z.string().optional(), RequestBody: z.lazy(() => CreateClusterInviteRequestBody$inboundSchema) .optional(), }).transform((v) => { return remap$(v, { "X-On-Behalf-Of": "xOnBehalfOf", "RequestBody": "requestBody", }); }); /** @internal */ export type CreateClusterInviteRequest$Outbound = { "X-On-Behalf-Of"?: string | undefined; RequestBody?: CreateClusterInviteRequestBody$Outbound | undefined; }; /** @internal */ export const CreateClusterInviteRequest$outboundSchema: z.ZodType< CreateClusterInviteRequest$Outbound, z.ZodTypeDef, CreateClusterInviteRequest > = z.object({ xOnBehalfOf: z.string().optional(), requestBody: z.lazy(() => CreateClusterInviteRequestBody$outboundSchema) .optional(), }).transform((v) => { return remap$(v, { xOnBehalfOf: "X-On-Behalf-Of", requestBody: "RequestBody", }); }); export function createClusterInviteRequestToJSON( createClusterInviteRequest: CreateClusterInviteRequest, ): string { return JSON.stringify( CreateClusterInviteRequest$outboundSchema.parse(createClusterInviteRequest), ); } export function createClusterInviteRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateClusterInviteRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClusterInviteRequest' from JSON`, ); } /** @internal */ export const Invitation$inboundSchema: z.ZodType< Invitation, z.ZodTypeDef, unknown > = z.object({ id: z.string(), token: z.string().optional(), email: z.nullable(z.string()), suggestedOrgName: z.nullable(z.string()), seedAvailableModels: z.array(z.string()).optional(), expiresAt: z.string(), createdAt: z.string(), claimedAt: z.nullable(z.string()).optional(), createdOrgId: z.nullable(z.string()).optional(), emailSent: z.nullable(z.boolean()).optional(), }); /** @internal */ export type Invitation$Outbound = { id: string; token?: string | undefined; email: string | null; suggestedOrgName: string | null; seedAvailableModels?: Array | undefined; expiresAt: string; createdAt: string; claimedAt?: string | null | undefined; createdOrgId?: string | null | undefined; emailSent?: boolean | null | undefined; }; /** @internal */ export const Invitation$outboundSchema: z.ZodType< Invitation$Outbound, z.ZodTypeDef, Invitation > = z.object({ id: z.string(), token: z.string().optional(), email: z.nullable(z.string()), suggestedOrgName: z.nullable(z.string()), seedAvailableModels: z.array(z.string()).optional(), expiresAt: z.string(), createdAt: z.string(), claimedAt: z.nullable(z.string()).optional(), createdOrgId: z.nullable(z.string()).optional(), emailSent: z.nullable(z.boolean()).optional(), }); export function invitationToJSON(invitation: Invitation): string { return JSON.stringify(Invitation$outboundSchema.parse(invitation)); } export function invitationFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Invitation$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Invitation' from JSON`, ); } /** @internal */ export const CreateClusterInviteResponseBody$inboundSchema: z.ZodType< CreateClusterInviteResponseBody, z.ZodTypeDef, unknown > = z.object({ invitation: z.lazy(() => Invitation$inboundSchema), }); /** @internal */ export type CreateClusterInviteResponseBody$Outbound = { invitation: Invitation$Outbound; }; /** @internal */ export const CreateClusterInviteResponseBody$outboundSchema: z.ZodType< CreateClusterInviteResponseBody$Outbound, z.ZodTypeDef, CreateClusterInviteResponseBody > = z.object({ invitation: z.lazy(() => Invitation$outboundSchema), }); export function createClusterInviteResponseBodyToJSON( createClusterInviteResponseBody: CreateClusterInviteResponseBody, ): string { return JSON.stringify( CreateClusterInviteResponseBody$outboundSchema.parse( createClusterInviteResponseBody, ), ); } export function createClusterInviteResponseBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateClusterInviteResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClusterInviteResponseBody' from JSON`, ); }