import { z } from "zod"; import { APPROVAL_TYPES } from "../constants.js"; import { multilineTextSchema } from "./text.js"; export const createApprovalSchema = z.object({ type: z.enum(APPROVAL_TYPES), requestedByAgentId: z.string().uuid().optional().nullable(), payload: z.record(z.string(), z.unknown()), issueIds: z.array(z.string().uuid()).optional(), }); export type CreateApproval = z.infer; export const resolveApprovalSchema = z.object({ decisionNote: multilineTextSchema.optional().nullable(), }); export type ResolveApproval = z.infer; export const requestApprovalRevisionSchema = z.object({ decisionNote: multilineTextSchema.optional().nullable(), }); export type RequestApprovalRevision = z.infer; export const resubmitApprovalSchema = z.object({ payload: z.record(z.string(), z.unknown()).optional(), }); export type ResubmitApproval = z.infer; export const addApprovalCommentSchema = z.object({ body: multilineTextSchema.pipe(z.string().min(1)), }); export type AddApprovalComment = z.infer;