/** * Schema definition for generate-k8s-manifests tool */ import { z } from 'zod'; import { type ToolNextAction } from '../shared/schemas.js'; import type { PolicyValidationResult } from '../../lib/policy-helpers.js'; export type { DetectedDatabase } from '../analyze-repo/database-detector.js'; export declare const generateK8sManifestsSchema: z.ZodEffects; workspacePath: z.ZodOptional; name: z.ZodOptional; modulePath: z.ZodOptional; targetPlatform: z.ZodDefault>; language: z.ZodOptional; languageVersion: z.ZodOptional; framework: z.ZodOptional; frameworks: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; version?: string | undefined; }, { name: string; version?: string | undefined; }>, "many">>; buildSystem: z.ZodOptional; configFile: z.ZodOptional; }, "strip", z.ZodTypeAny, { type?: string | undefined; configFile?: string | undefined; }, { type?: string | undefined; configFile?: string | undefined; }>>; ports: z.ZodOptional>; entryPoint: z.ZodOptional; acaManifest: z.ZodOptional; manifestType: z.ZodDefault>>; environment: z.ZodOptional>; detectedDependencies: z.ZodOptional>; detectedDatabases: z.ZodOptional; }, "strip", z.ZodTypeAny, { dependencies: string[]; dbType: string; }, { dependencies: string[]; dbType: string; }>, "many">>; detectedEnvVars: z.ZodOptional; source: z.ZodString; required: z.ZodBoolean; defaultValue: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; source: string; required: boolean; classification: "config" | "database" | "secret"; defaultValue?: string | undefined; }, { name: string; source: string; required: boolean; classification: "config" | "database" | "secret"; defaultValue?: string | undefined; }>, "many">>; includeComments: z.ZodDefault>; namespace: z.ZodOptional; trafficLevel: z.ZodOptional>; criticalityTier: z.ZodOptional>; }, "strip", z.ZodTypeAny, { targetPlatform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; manifestType: "kubernetes" | "helm" | "kustomize" | "aca"; includeComments: boolean; name?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; ports?: number[] | undefined; namespace?: string | undefined; workspacePath?: string | undefined; modulePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; detectedDatabases?: { dependencies: string[]; dbType: string; }[] | undefined; detectedEnvVars?: { name: string; source: string; required: boolean; classification: "config" | "database" | "secret"; defaultValue?: string | undefined; }[] | undefined; entryPoint?: string | undefined; repositoryPath?: string | undefined; detectedDependencies?: string[] | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; buildSystem?: { type?: string | undefined; configFile?: string | undefined; } | undefined; acaManifest?: string | undefined; }, { name?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; ports?: number[] | undefined; namespace?: string | undefined; workspacePath?: string | undefined; modulePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; detectedDatabases?: { dependencies: string[]; dbType: string; }[] | undefined; detectedEnvVars?: { name: string; source: string; required: boolean; classification: "config" | "database" | "secret"; defaultValue?: string | undefined; }[] | undefined; entryPoint?: string | undefined; repositoryPath?: string | undefined; detectedDependencies?: string[] | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; buildSystem?: { type?: string | undefined; configFile?: string | undefined; } | undefined; acaManifest?: string | undefined; manifestType?: "kubernetes" | "helm" | "kustomize" | "aca" | undefined; includeComments?: boolean | undefined; }>, { targetPlatform: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64"; manifestType: "kubernetes" | "helm" | "kustomize" | "aca"; includeComments: boolean; name?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; ports?: number[] | undefined; namespace?: string | undefined; workspacePath?: string | undefined; modulePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; detectedDatabases?: { dependencies: string[]; dbType: string; }[] | undefined; detectedEnvVars?: { name: string; source: string; required: boolean; classification: "config" | "database" | "secret"; defaultValue?: string | undefined; }[] | undefined; entryPoint?: string | undefined; repositoryPath?: string | undefined; detectedDependencies?: string[] | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; buildSystem?: { type?: string | undefined; configFile?: string | undefined; } | undefined; acaManifest?: string | undefined; }, { name?: string | undefined; environment?: "development" | "staging" | "production" | "testing" | undefined; language?: string | undefined; languageVersion?: string | undefined; framework?: string | undefined; ports?: number[] | undefined; namespace?: string | undefined; workspacePath?: string | undefined; modulePath?: string | undefined; frameworks?: { name: string; version?: string | undefined; }[] | undefined; detectedDatabases?: { dependencies: string[]; dbType: string; }[] | undefined; detectedEnvVars?: { name: string; source: string; required: boolean; classification: "config" | "database" | "secret"; defaultValue?: string | undefined; }[] | undefined; entryPoint?: string | undefined; repositoryPath?: string | undefined; detectedDependencies?: string[] | undefined; targetPlatform?: "linux/amd64" | "linux/arm64" | "linux/arm/v7" | "linux/arm/v6" | "linux/386" | "linux/ppc64le" | "linux/s390x" | "linux/riscv64" | "windows/amd64" | undefined; trafficLevel?: "high" | "medium" | "low" | undefined; criticalityTier?: "tier-1" | "tier-2" | "tier-3" | undefined; buildSystem?: { type?: string | undefined; configFile?: string | undefined; } | undefined; acaManifest?: string | undefined; manifestType?: "kubernetes" | "helm" | "kustomize" | "aca" | undefined; includeComments?: boolean | undefined; }>; export type GenerateK8sManifestsParams = z.infer; export interface ManifestRequirement { id: string; category: string; recommendation: string; example?: string; severity?: 'high' | 'medium' | 'low'; tags?: string[]; matchScore: number; /** Indicates if this recommendation was injected by policy template */ policyDriven?: boolean; } export interface RepositoryInfo { repositoryPath?: string | undefined; name: string | undefined; modulePath: string | undefined; language?: string | undefined; languageVersion?: string | undefined; frameworks?: Array<{ name: string; version?: string; }> | undefined; buildSystem?: { type?: string; configFile?: string; } | undefined; ports?: number[] | undefined; entryPoint?: string | undefined; targetPlatform?: string | undefined; } export interface ManifestPlan { /** Next action directive - provides explicit guidance on what files to create/update */ nextAction: ToolNextAction; repositoryInfo?: RepositoryInfo; acaAnalysis?: { containerApps: Array<{ name: string; containers: number; hasIngress: boolean; hasScaling: boolean; hasSecrets: boolean; }>; warnings: string[]; }; manifestType: 'kubernetes' | 'helm' | 'aca' | 'kustomize'; /** Version annotation to apply to all generated Kubernetes resources */ attributionLabels?: { labels: Record; annotations: Record; }; recommendations: { fieldMappings?: ManifestRequirement[]; securityConsiderations: ManifestRequirement[]; resourceManagement?: ManifestRequirement[]; bestPractices: ManifestRequirement[]; }; knowledgeMatches: ManifestRequirement[]; confidence: number; summary: string; policyValidation?: PolicyValidationResult; } //# sourceMappingURL=schema.d.ts.map