/** * Prompt Generator * * Gera prompts determinísticos para a Metodologia Ralph Wiggum * a partir de tasks e contexto técnico. */ import { Task, TechContext } from '../../shared/types/index.js'; /** * Contexto para geração de prompt */ export interface PromptContext { techContext: TechContext; constraints?: string[]; additionalInstructions?: string[]; } /** * Opções para geração de prompt */ export interface PromptGeneratorOptions { templatePath?: string; includeMethodology?: boolean; includeCompleteKeyword?: boolean; customTemplateBasePath?: string; } /** * Resultado da geração de prompt */ export interface GeneratedPrompt { taskId: string; content: string; maxIterations: number; successKeyword: string; metadata: { generatedAt: string; templateUsed: string; taskName: string; }; } /** * Gera um prompt Ralph para uma task individual */ export declare function generate(task: Task, context: PromptContext, options?: PromptGeneratorOptions): GeneratedPrompt; /** * Gera prompts para múltiplas tasks */ export declare function generateBatch(tasks: Task[], context: PromptContext, options?: PromptGeneratorOptions): GeneratedPrompt[]; /** * Valida se um prompt gerado está bem formado */ export declare function validatePrompt(prompt: GeneratedPrompt): { valid: boolean; errors: string[]; warnings: string[]; }; /** * Estima o número de iterações necessárias baseado na task */ export declare function estimateIterations(task: Task): number; /** * Cria um prompt simples sem usar template */ export declare function createSimplePrompt(objective: string, tasks: string[], criteria: string[], techContext: TechContext): string; /** * Extrai informações de um prompt gerado */ export declare function parsePromptMetadata(prompt: string): { hasMethodology: boolean; hasObjective: boolean; hasTasks: boolean; hasCriteria: boolean; hasCompleteKeyword: boolean; estimatedSections: string[]; }; //# sourceMappingURL=prompt-generator.d.ts.map