import { z } from 'zod'; import { fileContentSchema, imageContentSchema, textContentSchema, videoContentSchema } from './message'; import { skillDescriptorSchema } from './skill'; export const listSkillsResponseSchema = z.object({ skills: z.array(skillDescriptorSchema), }); export type ListSkillsResponse = z.infer; export const activateSkillAttachmentSchema = z.discriminatedUnion('type', [ textContentSchema, imageContentSchema, videoContentSchema, fileContentSchema, ]); export type ActivateSkillAttachment = z.infer; export const activateSkillRequestSchema = z.object({ args: z.string().optional(), metadata: z.record(z.string(), z.unknown()).optional(), attachments: z.array(activateSkillAttachmentSchema).optional(), }); export type ActivateSkillRequest = z.infer; export const activateSkillResultSchema = z.object({ activated: z.literal(true), skill_name: z.string().min(1), }); export type ActivateSkillResult = z.infer;