/* * 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 Files = { fileName: string; content: ReadableStream | Blob | ArrayBuffer | Uint8Array; }; export type CreateSkillRequestBody = { /** * Skill files to upload (must include SKILL.md) */ files?: Array | undefined; }; export type CreateSkillRequest = { /** * Optional external end-user identifier forwarded by the API gateway. */ xOnBehalfOf?: string | undefined; requestBody: CreateSkillRequestBody; }; /** @internal */ export const Files$inboundSchema: z.ZodType = z .object({ fileName: z.string(), content: z.union([ z.instanceof(ReadableStream), z.instanceof(Blob), z.instanceof(ArrayBuffer), z.instanceof(Uint8Array), ]), }); /** @internal */ export type Files$Outbound = { fileName: string; content: ReadableStream | Blob | ArrayBuffer | Uint8Array; }; /** @internal */ export const Files$outboundSchema: z.ZodType< Files$Outbound, z.ZodTypeDef, Files > = z.object({ fileName: z.string(), content: z.union([ z.instanceof(ReadableStream), z.instanceof(Blob), z.instanceof(ArrayBuffer), z.instanceof(Uint8Array), ]), }); export function filesToJSON(files: Files): string { return JSON.stringify(Files$outboundSchema.parse(files)); } export function filesFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Files$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Files' from JSON`, ); } /** @internal */ export const CreateSkillRequestBody$inboundSchema: z.ZodType< CreateSkillRequestBody, z.ZodTypeDef, unknown > = z.object({ files: z.array(z.lazy(() => Files$inboundSchema)).optional(), }); /** @internal */ export type CreateSkillRequestBody$Outbound = { files?: Array | undefined; }; /** @internal */ export const CreateSkillRequestBody$outboundSchema: z.ZodType< CreateSkillRequestBody$Outbound, z.ZodTypeDef, CreateSkillRequestBody > = z.object({ files: z.array(z.lazy(() => Files$outboundSchema)).optional(), }); export function createSkillRequestBodyToJSON( createSkillRequestBody: CreateSkillRequestBody, ): string { return JSON.stringify( CreateSkillRequestBody$outboundSchema.parse(createSkillRequestBody), ); } export function createSkillRequestBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateSkillRequestBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateSkillRequestBody' from JSON`, ); } /** @internal */ export const CreateSkillRequest$inboundSchema: z.ZodType< CreateSkillRequest, z.ZodTypeDef, unknown > = z.object({ "X-On-Behalf-Of": z.string().optional(), RequestBody: z.lazy(() => CreateSkillRequestBody$inboundSchema), }).transform((v) => { return remap$(v, { "X-On-Behalf-Of": "xOnBehalfOf", "RequestBody": "requestBody", }); }); /** @internal */ export type CreateSkillRequest$Outbound = { "X-On-Behalf-Of"?: string | undefined; RequestBody: CreateSkillRequestBody$Outbound; }; /** @internal */ export const CreateSkillRequest$outboundSchema: z.ZodType< CreateSkillRequest$Outbound, z.ZodTypeDef, CreateSkillRequest > = z.object({ xOnBehalfOf: z.string().optional(), requestBody: z.lazy(() => CreateSkillRequestBody$outboundSchema), }).transform((v) => { return remap$(v, { xOnBehalfOf: "X-On-Behalf-Of", requestBody: "RequestBody", }); }); export function createSkillRequestToJSON( createSkillRequest: CreateSkillRequest, ): string { return JSON.stringify( CreateSkillRequest$outboundSchema.parse(createSkillRequest), ); } export function createSkillRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CreateSkillRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateSkillRequest' from JSON`, ); }