import { z } from "zod";

// BDI Core Schema
export const BDICoreSchema = z.object({
  beliefs: z.array(z.string()),
  desires: z.array(z.string()),
  intentions: z.array(z.string())
});

// Agent Metadata Schema
export const AgentMetadataSchema = z.object({
  name: z.string(),
  role: z.string(),
  purpose: z.string(),
  goals: z.array(z.string()),
  rules: z.array(z.string()),
  tools: z.array(z.string()),
  interactions: z.array(z.string()),
  lifecycle_roles: z.object({
    initialization: z.string(),
    operation: z.string(),
    maintenance: z.string(),
    termination: z.string()
  })
});

// Full Agent Schema
export const AgentSchema = z.object({
  metadata: AgentMetadataSchema,
  bdi: BDICoreSchema
});