import {z} from "zod/v4"; import {ConfigurationSchema} from "./access/access-definition"; export const FolderMappingInputSchema=z.strictObject({ profileId:z.uuid(),needId:z.uuid(),path:z.string().trim().min(1).max(255), driveLetter:z.string().trim().regex(/^[A-Za-z]:?$/).nullable(), state:ConfigurationSchema,notes:z.string().trim().max(4000).nullable(), }); export type FolderMappingInput=z.infer; export class FolderMappingError extends Error {constructor(public readonly code:string){super(code);}} export const FOLDER_STATE_TRANSITIONS={ pending:["pending","configured","never_configured"], configured:["configured","removal_pending"], removal_pending:["removal_pending","removed"], removed:["removed"],never_configured:["never_configured"], } as const;