UNPKG

mcp-ai-agent-guidelines

Version:

A comprehensive Model Context Protocol server providing advanced tools, resources, and prompts for implementing AI agent best practices

54 lines 1.78 kB
/** * Accessibility utilities for Mermaid diagrams. */ /** * Apply accessibility metadata to diagram. * Adds accTitle and accDescr as Mermaid comments. * @param diagram - Mermaid diagram code * @param accTitle - Optional accessibility title * @param accDescr - Optional accessibility description * @returns Diagram with accessibility comments prepended */ export function applyAccessibility(diagram, accTitle, accDescr) { const accLines = []; if (accTitle) accLines.push(`%% AccTitle: ${accTitle} %%`); if (accDescr) accLines.push(`%% AccDescr: ${accDescr} %%`); if (accLines.length === 0) { return diagram; } return [accLines.join("\n"), diagram].join("\n"); } /** * Prepare accessibility comments without applying to diagram. * @param accTitle - Optional accessibility title * @param accDescr - Optional accessibility description * @returns Accessibility comments string or empty string */ export function prepareAccessibilityComments(accTitle, accDescr) { const accLines = []; if (accTitle) accLines.push(`%% AccTitle: ${accTitle} %%`); if (accDescr) accLines.push(`%% AccDescr: ${accDescr} %%`); return accLines.join("\n"); } /** * Extract accessibility comments from diagram. * @param diagram - Mermaid diagram code * @returns Object with accTitle and accDescr if present */ export function extractAccessibility(diagram) { const result = {}; const titleMatch = diagram.match(/%% AccTitle: (.+?) %%/); if (titleMatch) { result.accTitle = titleMatch[1]; } const descrMatch = diagram.match(/%% AccDescr: (.+?) %%/); if (descrMatch) { result.accDescr = descrMatch[1]; } return result; } //# sourceMappingURL=accessibility.utils.js.map