{"version":3,"sources":["../src/validation.ts"],"sourcesContent":["import { z } from 'zod';\n\nconst ServiceOptionsSchema = z.object({\n  id: z.string().optional(),\n  path: z.string().min(1, 'Service path is required'),\n  version: z.string().optional(),\n});\n\nconst DomainSpecSchema = z.object({\n  id: z.string().min(1),\n  name: z.string().min(1),\n  version: z.string().min(1),\n});\n\nconst DomainMappingSchema = z\n  .object({\n    from: z.enum(['label', 'customField']),\n    key: z.string().min(1).optional(),\n    mapping: z.record(z.string().min(1), DomainSpecSchema),\n    fallback: z.union([DomainSpecSchema, z.literal('skip')]).optional(),\n  })\n  .refine((data) => data.from !== 'customField' || !!data.key, {\n    message: '\"key\" is required when domain.from is \"customField\"',\n  });\n\nconst DomainOptionSchema = z.union([DomainSpecSchema, DomainMappingSchema]);\n\nconst ApiConfigSchema = z.object({\n  cloudId: z.string().min(1, 'cloudId is required'),\n  apiToken: z.string().min(1, 'apiToken is required'),\n  email: z.string().min(1, 'email is required'),\n  baseUrl: z\n    .string()\n    .url('baseUrl must be a valid URL')\n    .refine((url) => url.startsWith('https://'), { message: 'baseUrl must use HTTPS to protect API credentials' }),\n  typeFilter: z.array(z.string().min(1)).optional(),\n});\n\nconst ServiceIdStrategySchema = z.union([z.enum(['name', 'compass-id']), z.function()]);\n\nexport const GeneratorPropsSchema = z\n  .object({\n    services: z.array(ServiceOptionsSchema).min(1, 'At least one service is required').optional(),\n    api: ApiConfigSchema.optional(),\n    compassUrl: z.string().url('compassUrl must be a valid URL'),\n    domain: DomainOptionSchema.optional(),\n    debug: z.boolean().optional(),\n    overrideExisting: z.boolean().optional(),\n    typeFilter: z.array(z.string().min(1)).optional(),\n    nameFilter: z.array(z.string().min(1)).optional(),\n    nameMapping: z.record(z.string().min(1), z.string().min(1)).optional(),\n    markdownTemplate: z.function().optional(),\n    format: z.enum(['md', 'mdx']).optional(),\n    serviceIdStrategy: ServiceIdStrategySchema.optional(),\n    dryRun: z.boolean().optional(),\n    defaultVersion: z.string().min(1).optional(),\n    badges: z.boolean().optional(),\n    incremental: z.boolean().optional(),\n  })\n  .refine((data) => data.services || data.api, {\n    message: 'Either \"services\" (YAML mode) or \"api\" (API mode) must be provided',\n  })\n  .refine((data) => !(data.services && data.api), {\n    message: 'Cannot use both \"services\" and \"api\" — choose one mode',\n  });\n"],"mappings":"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","names":[]}