UNPKG

@vfarcic/dot-ai

Version:

AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance

72 lines 2.19 kB
/** * Packaging Module - Convert raw Kubernetes manifests to Helm charts or Kustomize overlays * * Implements AI-driven packaging as specified in PRD #248. * Raw manifests are always generated and validated first, then packaged based on outputFormat. */ import { Logger } from './error-handling'; import { DotAI } from './index'; /** * Output format types supported by packaging */ export type OutputFormat = 'raw' | 'helm' | 'kustomize'; /** * File entry in packaging response */ export interface PackageFile { relativePath: string; content: string; } /** * Result of packaging operation */ export interface PackagingResult { files: PackageFile[]; format: OutputFormat; } /** * Error context for packaging retries */ interface PackagingErrorContext { attempt: number; previousOutput: string; validationError: string; } /** * Question with answer structure */ interface QuestionWithAnswer { question: string; answer?: unknown; } /** * Solution data structure for packaging */ interface SolutionData { questions?: { required?: QuestionWithAnswer[]; basic?: QuestionWithAnswer[]; advanced?: QuestionWithAnswer[]; open?: { answer?: string; }; }; intent?: string; [key: string]: unknown; } /** * Package raw Kubernetes manifests into Helm chart or Kustomize overlay * * @param rawManifests - Validated raw Kubernetes YAML manifests * @param solution - Solution data with intent, questions, answers * @param outputFormat - Target format ('helm' or 'kustomize') * @param outputPath - User-specified output path * @param dotAI - DotAI instance for AI calls * @param logger - Logger instance * @param errorContext - Optional error context for retries * @param interaction_id - Optional interaction ID for evaluation * @returns PackagingResult with files array */ export declare function packageManifests(rawManifests: string, solution: SolutionData, outputFormat: OutputFormat, outputPath: string, dotAI: DotAI, logger: Logger, errorContext?: PackagingErrorContext, interaction_id?: string): Promise<PackagingResult>; export {}; //# sourceMappingURL=packaging.d.ts.map