mcp-ai-agent-guidelines
Version:
A comprehensive Model Context Protocol server providing advanced tools, resources, and prompts for implementing AI agent best practices
90 lines • 3.01 kB
TypeScript
/**
* 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