import { z } from "zod";

/**
 * "Vad plattformen vet om mig" (spec §32): användaren kan korrigera, pausa och radera.
 */
export const updateMemoryItemInputSchema = z.object({
  summarySv: z.string().min(1).max(500).optional(),
  value: z.unknown().optional(),
  verified: z.boolean().optional(),
  paused: z.boolean().optional(),
});
export type UpdateMemoryItemInput = z.infer<typeof updateMemoryItemInputSchema>;

export const memoryQuerySchema = z.object({
  kind: z
    .enum(["structured_fact", "event", "semantic", "profile_summary", "recipe_memory"])
    .optional(),
  includePaused: z.coerce.boolean().default(true),
  limit: z.coerce.number().int().min(1).max(200).default(100),
  offset: z.coerce.number().int().min(0).default(0),
});
export type MemoryQuery = z.infer<typeof memoryQuerySchema>;
