/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 4e9a30e817bb */ 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 { SkillAssetContent, SkillAssetContent$inboundSchema, SkillAssetContent$Outbound, SkillAssetContent$outboundSchema, } from "./skillassetcontent.js"; /** * Versioned skill content. */ export type SkillDefinition = { /** * Model-facing trigger and usage description. */ description?: string | undefined; /** * Skill body content. */ body?: string | undefined; /** * Additional files available to the skill. */ assets?: { [k: string]: SkillAssetContent } | undefined; }; /** @internal */ export const SkillDefinition$inboundSchema: z.ZodType< SkillDefinition, unknown > = z.object({ description: z.string().optional(), body: z.string().optional(), assets: z.record(z.string(), SkillAssetContent$inboundSchema).optional(), }); /** @internal */ export type SkillDefinition$Outbound = { description?: string | undefined; body?: string | undefined; assets?: { [k: string]: SkillAssetContent$Outbound } | undefined; }; /** @internal */ export const SkillDefinition$outboundSchema: z.ZodType< SkillDefinition$Outbound, SkillDefinition > = z.object({ description: z.string().optional(), body: z.string().optional(), assets: z.record(z.string(), SkillAssetContent$outboundSchema).optional(), }); export function skillDefinitionToJSON( skillDefinition: SkillDefinition, ): string { return JSON.stringify(SkillDefinition$outboundSchema.parse(skillDefinition)); } export function skillDefinitionFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => SkillDefinition$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SkillDefinition' from JSON`, ); }