import { z } from 'zod';
import { SkillBoundary } from './types';
export const SkillBoundarySchema = z.object({
name: z.string().min(1, "Skill name is required"),
description: z.string().min(1, "Skill description is required"),
version: z.string().optional(),
allowed_tools: z.array(z.string()).optional(),
}).passthrough(); // Allow other keys for metadata
export function validateBoundary(boundary: any): { success: boolean; data?: SkillBoundary; error?: string } {
const result = SkillBoundarySchema.safeParse(boundary);
if (result.success) {
return { success: true, data: result.data as SkillBoundary };
} else {
return { success: false, error: result.error.toString() };
}
}