// schemas/spec.ts — Zod enums for spec lifecycle and core domains.
import { z } from 'zod';
export const SupportedLocaleEnum = z.enum(['en', 'es', 'pt']).describe('Locale: en, es, or pt');
export const SpecStatusEnum = z
    .enum(['draft', 'review', 'approved', 'implementing', 'done', 'discarded'])
    .describe('Spec status: draft | review | approved | implementing | done | discarded');
// SPEC-016a: added 'agent'; SPEC-027: added 'tech-debt'
export const SpecTypeEnum = z
    .enum(['feature', 'refactor', 'bugfix', 'infra', 'docs', 'project', 'agent', 'tech-debt'])
    .describe('Spec type: ' +
    'feature (new functionality or capability) | ' +
    'refactor (restructure existing code without changing behavior) | ' +
    'bugfix (fix a defect or incorrect behavior) | ' +
    'infra (infrastructure, CI/CD, build, deployment changes) | ' +
    'docs (documentation-only changes) | ' +
    'project (cross-cutting project-wide initiative) | ' +
    'agent (AI agent or automation workflow) | ' +
    'tech-debt (address accumulated technical debt)');
export const SpecScopeEnum = z
    .enum(['trivial', 'feature', 'cross-module', 'architectural'])
    .describe('Spec scope: trivial | feature | cross-module | architectural');
export const SpecTargetEnum = z
    .enum([
    'frontend',
    'backend',
    'shared',
    'fullstack',
    'infrastructure',
    'database',
    'ios',
    'android',
])
    .describe('Target area: frontend | backend | shared | fullstack | infrastructure | database | ios | android');
export const ExperienceLevelEnum = z
    .enum(['beginner', 'intermediate', 'expert'])
    .describe('Experience level: beginner, intermediate, or expert');
/** SPEC-313: Work mode enum for init_project and set_work_mode */
export const WorkModeEnum = z
    .enum(['guided', 'standard', 'expert'])
    .describe('Preferred interaction style: guided (step-by-step hints for SDD newcomers) | standard (normal workflow) | expert (concise output, no onboarding hints)');
//# sourceMappingURL=spec.js.map