/** * Natural Language Formatters * Tool-specific narrative formatters for rich, human-friendly output * * @module mcp/formatters/natural-language-formatters * * @description * Provides tool-specific formatters that transform structured tool results * into rich, human-readable narratives with: * - Section headers and formatting * - Bullet points and structured lists * - Severity indicators and icons * - Context-aware next steps * - Proper handling of optional fields * * These formatters are used by the NATURAL_LANGUAGE output format to provide * superior user experience in chat interfaces and user-facing applications. */ import type { ScanImageResult } from '../../tools/scan-image/tool.js'; import type { DockerfilePlan } from '../../tools/generate-dockerfile/schema.js'; import type { BuildImageResult } from '../../tools/build-image-context/schema.js'; import type { RepositoryAnalysis } from '../../tools/analyze-repo/schema.js'; import type { VerifyDeploymentResult } from '../../tools/verify-deploy/tool.js'; import type { DockerfileFixPlan } from '../../tools/fix-dockerfile/schema.js'; import type { ManifestPlan } from '../../tools/generate-k8s-manifests/schema.js'; import type { PushImageResult } from '../../tools/push-image/tool.js'; import type { TagImageResult } from '../../tools/tag-image/tool.js'; import type { PrepareClusterResult } from '../../tools/prepare-cluster/tool.js'; import type { PingResult, ServerStatusResult } from '../../tools/ops/tool.js'; import { ChainHintsMode } from '../../app/orchestrator-types.js'; /** * Format scan-image result as natural language narrative * * @param result - Security scan result with vulnerability data * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with severity breakdown, remediation guidance, and next steps * * @description * Produces a detailed security scan report including: * - Pass/fail status with icon * - Vulnerability summary and severity breakdown (critical, high, medium, low) * - Remediation recommendations (up to 5, truncated with count) * - Scan metadata (timestamp) * - Context-aware next steps based on pass/fail status (when chainHintsMode is 'enabled') */ export declare function formatScanImageNarrative(result: ScanImageResult, chainHintsMode?: ChainHintsMode): string; /** * Format generate-dockerfile result as natural language narrative * * @param plan - Dockerfile generation plan with recommendations * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with project info, base images, security, and optimizations * * @description * Produces a comprehensive Dockerfile planning report including: * - Project information (language, version, framework) * - Build strategy (single-stage vs multi-stage) * - Recommended base image (primary + 1 alternative if available) * - Security considerations (top 5 most relevant) * - Optimization recommendations (top 5 most relevant) * - Existing Dockerfile analysis (if applicable) * - Policy validation results (if applicable) * - Actionable next steps (when chainHintsMode is 'enabled') */ export declare function formatDockerfilePlanNarrative(plan: DockerfilePlan, chainHintsMode?: ChainHintsMode): string; /** * Format build-image-context result as natural language narrative * * @param result - Build context preparation result with analysis and command * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with context analysis, security warnings, and build command * * @description * Produces a concise build preparation report including: * - Summary of build context analysis * - Dockerfile analysis (base images, ports, layers) * - Security warnings with severity * - BuildKit feature recommendations * - Ready-to-execute build command * - Next steps for executing the build (when chainHintsMode is 'enabled') */ export declare function formatBuildImageNarrative(result: BuildImageResult, chainHintsMode?: ChainHintsMode): string; /** * Format analyze-repo result as natural language narrative * * @param result - Repository analysis with module detection * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with repository structure, modules, and next steps * * @description * Produces a comprehensive repository analysis report including: * - Analysis completion status * - Repository path and type (monorepo vs single-module) * - Module count and detailed information for each module: * - Language and version * - Detected frameworks * - Build system * - Entry point * - Exposed ports * - Graceful handling of empty or undefined modules * - Context-aware next steps (with monorepo-specific guidance, when chainHintsMode is 'enabled') */ export declare function formatAnalyzeRepoNarrative(result: RepositoryAnalysis, chainHintsMode?: ChainHintsMode): string; /** * Format verify-deploy result as natural language narrative * * @param result - Deployment verification result with health and pod details * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with health status, pod breakdown, and next steps * * @description * Produces a detailed deployment verification report including: * - Deployment health status with icon * - Pod breakdown (running, pending, failed) * - Individual pod details (name, status, restarts) * - Health check results (pass/fail) * - Conditions and issues * - Context-aware next steps based on health status (when chainHintsMode is 'enabled') */ export declare function formatVerifyDeployNarrative(result: VerifyDeploymentResult, chainHintsMode?: ChainHintsMode): string; /** * Format fix-dockerfile result as natural language narrative * * @param result - Dockerfile validation and fix plan * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with issues, recommendations, and validation score * * @description * Produces a comprehensive Dockerfile validation report including: * - Validation score/grade prominently displayed * - Issues categorized by type (security, performance, best practices) * - Fix recommendations with priority * - Policy validation results * - Estimated impact of fixes * - Context-aware next steps for implementation (when chainHintsMode is 'enabled') */ export declare function formatFixDockerfileNarrative(result: DockerfileFixPlan, chainHintsMode?: ChainHintsMode): string; /** * Format generate-k8s-manifests result as natural language narrative * * @param result - Kubernetes manifest generation result * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with manifest details and resource breakdown * * @description * Produces a comprehensive manifest generation report including: * - Manifest type and format * - Resources and requirements * - Security considerations * - Best practices recommendations * - Context-aware next steps (when chainHintsMode is 'enabled') */ export declare function formatGenerateK8sManifestsNarrative(result: ManifestPlan, chainHintsMode?: ChainHintsMode): string; /** * Format push-image result as natural language narrative * * @param result - Image push result with registry and digest * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with push details and next steps * * @description * Produces a concise push report including: * - Push success status * - Registry and tag information * - Image digest (truncated for readability) * - Full image reference * - Standard next steps (when chainHintsMode is 'enabled') */ export declare function formatPushImageNarrative(result: PushImageResult, chainHintsMode?: ChainHintsMode): string; /** * Format tag-image result as natural language narrative * * @param result - Image tagging result * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with tags applied * * @description * Produces a simple tagging report including: * - Success status * - Image identifier * - Tags applied (list) * - Standard next steps with versioning guidance (when chainHintsMode is 'enabled') */ export declare function formatTagImageNarrative(result: TagImageResult, chainHintsMode?: ChainHintsMode): string; /** * Format prepare-cluster result as natural language narrative * * @param result - Cluster preparation result * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with setup details * * @description * Produces a cluster preparation report including: * - Cluster preparation status * - Namespace and connectivity checks * - Resources and checks performed * - Warnings if any * - Context-aware next steps (when chainHintsMode is 'enabled') */ export declare function formatPrepareClusterNarrative(result: PrepareClusterResult, chainHintsMode?: ChainHintsMode): string; /** * Format ops ping result as natural language narrative * * @param result - Server ping result * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with server status * * @description * Produces a simple server ping report including: * - Response status * - Timestamp * - Server information (version, uptime, PID) * - Capabilities available * - Health indicators * Note: This formatter doesn't include Next Steps as it's a simple status check */ export declare function formatOpsPingNarrative(result: PingResult): string; /** * Format ops status result as natural language narrative * * @param result - Server status result with detailed metrics * @param chainHintsMode - Whether to include "Next Steps" section (default: 'enabled') * @returns Formatted narrative with system health and metrics * * @description * Produces a detailed server status report including: * - Health status with icon * - Version and uptime * - Memory usage with health indicators * - CPU information and load * - Tool availability * - Health summary * Note: This formatter doesn't include Next Steps as it's a status report */ export declare function formatOpsStatusNarrative(result: ServerStatusResult): string; //# sourceMappingURL=natural-language-formatters.d.ts.map