/** * Diagram Capability Handler * * Generates Mermaid diagrams (flowcharts, sequence diagrams, class diagrams, etc.) * from domain results as cross-cutting artifacts. * * @module strategies/cross-cutting/diagram-handler * @see {@link https://github.com/Anselmoo/mcp-ai-agent-guidelines/blob/development/plan-v0.13.x/specs/SPEC-001-output-strategy-layer.md SPEC-001 ยง5.3} */ import { type CrossCuttingArtifact, CrossCuttingCapability } from "../output-strategy.js"; import type { CapabilityContext, CapabilityHandler } from "./types.js"; /** * Handler for generating Mermaid diagram artifacts. * * Detects appropriate diagram type based on domain result structure * and generates corresponding Mermaid syntax wrapped in markdown. * * @implements {CapabilityHandler} */ export declare class DiagramCapabilityHandler implements CapabilityHandler { readonly capability = CrossCuttingCapability.DIAGRAM; /** * Generate a Mermaid diagram artifact from the context. * * @param context - Context with domain result and metadata * @returns Diagram artifact or null if not applicable */ generate(context: CapabilityContext): CrossCuttingArtifact | null; /** * Check if this handler supports the given domain type. * * @param domainType - Domain type identifier * @returns True if diagrams can be generated for this type */ supports(domainType: string): boolean; /** * Detect appropriate diagram type based on domain result structure. * * @param result - Domain result data * @param metadata - Optional metadata * @returns Diagram type identifier */ private detectDiagramType; /** * Extract description/content for diagram generation. * * @param result - Domain result data * @param metadata - Optional metadata * @returns Description string or null if unavailable */ private extractDiagramDescription; /** * Generate Mermaid diagram code based on type. * * @param type - Diagram type * @param description - Content description * @returns Mermaid syntax */ private generateDiagram; /** * Generate a flowchart diagram. * * @param description - Flowchart description * @returns Mermaid flowchart syntax */ private generateFlowchart; /** * Generate a sequence diagram. * * @param description - Sequence description * @returns Mermaid sequence syntax */ private generateSequence; /** * Generate a class diagram. * * @param description - Class diagram description * @returns Mermaid class diagram syntax */ private generateClassDiagram; /** * Wrap Mermaid code in markdown with header and footer. * * @param mermaidCode - Generated Mermaid syntax * @param type - Diagram type * @returns Markdown-formatted content */ private wrapInMarkdown; } //# sourceMappingURL=diagram-handler.d.ts.map