/** * Template generation types */ /** * Template file to process */ export interface TemplateFile { sourcePath: string; targetPath: string; content: string; } /** * Generated file output */ export interface GeneratedFile { path: string; content: string; } /** * Infrastructure information for generated templates */ export interface InfrastructureInfo { type: 'machine' | 'container_service'; machineId?: string; machineName?: string; serviceId?: string; serviceName?: string; zone: string; } /** * Template generation result */ export interface GenerateSuccess { success: true; files: GeneratedFile[]; outputPath: string; infrastructure?: InfrastructureInfo; } export interface GenerateError { success: false; error: string; details?: unknown; } export type GenerateResult = GenerateSuccess | GenerateError; /** * Template generation options */ export interface GenerateOptions { moduleId: string; modulePath: string; outputPath: string; db?: ReturnType; /** Skip required variable validation (used by deploy flow which handles interview separately) */ skipVariableValidation?: boolean; }