File size: 1,095 Bytes
4e23b01 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 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<typeof listSkillsResponseSchema>;
export const activateSkillAttachmentSchema = z.discriminatedUnion('type', [
textContentSchema,
imageContentSchema,
videoContentSchema,
fileContentSchema,
]);
export type ActivateSkillAttachment = z.infer<typeof activateSkillAttachmentSchema>;
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<typeof activateSkillRequestSchema>;
export const activateSkillResultSchema = z.object({
activated: z.literal(true),
skill_name: z.string().min(1),
});
export type ActivateSkillResult = z.infer<typeof activateSkillResultSchema>;
|