import { z } from "zod";
import { handleGroupOverrideSchema } from "../node-definition/handle.js";
import { displayConfigSchema, idSchema, versionSchema } from "./base.js";
const uiSchema = z.object({
    position: z.object({
        x: z.number(),
        y: z.number()
    }),
    size: z.object({
        width: z.number(),
        height: z.number()
    }).optional(),
    collapsed: z.boolean().optional()
}).catchall(z.unknown());
const nodeSchema = z.object({
    id: idSchema,
    type: z.string().min(1),
    typeVersion: versionSchema,
    ui: uiSchema,
    display: displayConfigSchema,
    inputs: z.record(z.string(), z.unknown()).optional(),
    outputs: z.record(z.string(), z.unknown()).optional(),
    handleCustomization: z.object({
        groups: z.array(handleGroupOverrideSchema)
    }).optional(),
    model: z.unknown().optional(),
    parentId: idSchema.optional()
});
export { nodeSchema, uiSchema };
