{"_id":"@ai-of-mine/mermaid-validator-mcp","_rev":"11-36b4a0af27ae9d2650be684418937496","name":"@ai-of-mine/mermaid-validator-mcp","dist-tags":{"latest":"1.0.29"},"versions":{"1.0.17":{"name":"@ai-of-mine/mermaid-validator-mcp","version":"1.0.17","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@br.ibm.com"},"license":"Apache-2.0","_id":"@ai-of-mine/mermaid-validator-mcp@1.0.17","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"homepage":"https://github.com/gregoriomomm/mermaid-validator-mcp#readme","bugs":{"url":"https://github.com/gregoriomomm/mermaid-validator-mcp/issues"},"bin":{"mermaid-validator":"src/server.js"},"dist":{"shasum":"75e28e030d1801a23b44380219d2fa9a3751d2e5","tarball":"https://registry.npmjs.org/@ai-of-mine/mermaid-validator-mcp/-/mermaid-validator-mcp-1.0.17.tgz","fileCount":204,"integrity":"sha512-e+YEZRjNDSf/6ovJ/2i7eHStDRqeAtWPhv7vf4S37bvotZqMIZxV2IBPDcZkXSBcPLiBFlqVJE4TWA1g0V2j1g==","signatures":[{"sig":"MEUCIBLyOy3JYhcRKgf9SXV175gqIqC8G5SOqSFeq+iOxZ7+AiEAnv3qAQK5vpTKkH56crObIZdGzJW5PC7Ow53y/MnHeCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1352275},"main":"src/server.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"gitHead":"000298dd7889bb241cbdf4dcef4d085e32885ebc","scripts":{"dev":"nodemon src/server.js","docs":"swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json","lint":"eslint src/ --ext .js","test":"npm run test:unit && npm run test:integration","audit":"npm audit","build":"npm run build:grammars","clean":"npm run clean:generated && npm run clean:dist && npm run clean:mcp","start":"node src/server.js","dev:mcp":"npm run build:mcp && nodemon dist/mcp/server.js","prepack":"npm run clean:generated","prepare":"npm run build || true","audit:ci":"audit-ci --config audit-ci.json","lint:fix":"eslint src/ --ext .js --fix","prebuild":"npm run clean:generated","test:api":"jest --testPathPattern=test/api","test:mcp":"npm run build:mcp && node tests/mcp/test-mcp-integration.js","audit:fix":"npm audit fix","build:mcp":"tsc -p tsconfig.mcp.json","clean:mcp":"rm -rf dist/mcp","start:mcp":"npm run build:mcp && node dist/mcp/server.js","test:unit":"jest --testPathPattern=test/unit --passWithNoTests","clean:dist":"rm -rf dist build","deps:check":"npm-check-updates","docker:run":"docker run -p 8000:8000 mermaid-validator-mcp","preinstall":"npm run build:grammars || true","test:watch":"jest --watch","build:antlr":"node scripts/compile-grammars.js --antlr-only","build:jison":"node scripts/compile-grammars.js --jison-only","build:types":"node scripts/compile-grammars.js --types-only","deps:update":"npm-check-updates -u","postinstall":"npm run build || true","test:upload":"node test/integration/upload-endpoints.js","dev:mcp-http":"npm run build:mcp && nodemon dist/mcp/server-http.js","docker:build":"docker build -t mermaid-validator-mcp .","build:langium":"node scripts/compile-grammars.js --langium-only","license:check":"license-checker","security:full":"npm run audit && npm run security:snyk && npm run security:retire","security:snyk":"snyk test","test:coverage":"jest --coverage","test:validate":"node test/integration/validate-endpoints.js","validate:deps":"dependency-check package.json","version:major":"node scripts/increment-version.js major","version:minor":"node scripts/increment-version.js minor","version:patch":"node scripts/increment-version.js patch","build:grammars":"node scripts/compile-grammars.js --jison-only","dev:mcp-secure":"npm run build:mcp && nodemon dist/mcp/server-secure.js","prepublishOnly":"npm run build","start:mcp-http":"npm run build:mcp && node dist/mcp/server-http.js","clean:generated":"rm -rf src/generated","security:retire":"retire","start:mcp-secure":"npm run build:mcp && node dist/mcp/server-secure.js","test:integration":"node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js","docker:build:auto":"npm run version:patch && make docker-build-manual"},"_npmUser":{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"},"repository":{"url":"git+https://github.com/gregoriomomm/mermaid-validator-mcp.git","type":"git"},"_npmVersion":"11.6.0","description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","directories":{},"_nodeVersion":"24.8.0","dependencies":{"joi":"^17.11.0","zod":"^3.25.76","cors":"^2.8.5","uuid":"^9.0.1","jison":"^0.4.18","yauzl":"^2.10.0","helmet":"^7.1.0","morgan":"^1.10.0","multer":"^1.4.5-lts.1","express":"^4.18.2","langium":"^3.3.1","winston":"^3.11.0","chevrotain":"^11.0.3","mime-types":"^2.1.35","compression":"^1.7.4","swagger-jsdoc":"^6.2.8","express-validator":"^7.0.1","express-rate-limit":"^7.5.1","swagger-ui-express":"^5.0.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","snyk":"^1.1290.0","eslint":"^8.57.1","retire":"^4.0.3","nodemon":"^3.0.2","audit-ci":"^7.0.1","form-data":"^4.0.4","supertest":"^6.3.3","@eslint/js":"^9.35.0","typescript":"^5.7.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","langium-cli":"^4.0.0","@types/express":"^5.0.3","license-checker":"^25.0.1","dependency-check":"^4.1.0","npm-check-updates":"^16.14.12","eslint-plugin-import":"^2.29.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mermaid-validator-mcp_1.0.17_1759161136812_0.6696217563472591","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package renamed to @ai-of-mine/fast-mermaid-validator-mcp. Please use the new package: npm install @ai-of-mine/fast-mermaid-validator-mcp"},"1.0.18":{"name":"@ai-of-mine/mermaid-validator-mcp","version":"1.0.18","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@br.ibm.com"},"license":"Apache-2.0","_id":"@ai-of-mine/mermaid-validator-mcp@1.0.18","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"homepage":"https://github.com/gregoriomomm/mermaid-validator-mcp#readme","bugs":{"url":"https://github.com/gregoriomomm/mermaid-validator-mcp/issues"},"bin":{"mermaid-validator-mcp":"src/server.js"},"dist":{"shasum":"f5b890b941a959fa6b7c35f9f8bb1eb8f32769a4","tarball":"https://registry.npmjs.org/@ai-of-mine/mermaid-validator-mcp/-/mermaid-validator-mcp-1.0.18.tgz","fileCount":204,"integrity":"sha512-GnBGNlks5cll1tUoeH5BUE7E20lTb4ILmlZHhByOttU58T/MjplWWcymWPCBZPptlkn90l5yf2RJsfg40mDVew==","signatures":[{"sig":"MEYCIQCS+89oSIXzdkcdhcFW693NFn+xjdex/3AqOnqZheyxOQIhAI1g0sNDedYY/LSmtaURxEmYpi6mw77kOqle9a8TD5iT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1353227},"main":"src/server.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"gitHead":"000298dd7889bb241cbdf4dcef4d085e32885ebc","scripts":{"dev":"nodemon src/server.js","docs":"swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json","lint":"eslint src/ --ext .js","test":"npm run test:unit && npm run test:integration","audit":"npm audit","build":"npm run build:grammars","clean":"npm run clean:generated && npm run clean:dist && npm run clean:mcp","start":"node src/server.js","dev:mcp":"npm run build:mcp && nodemon dist/mcp/server.js","prepack":"npm run clean:generated","prepare":"npm run build || true","audit:ci":"audit-ci --config audit-ci.json","lint:fix":"eslint src/ --ext .js --fix","prebuild":"npm run clean:generated","test:api":"jest --testPathPattern=test/api","test:mcp":"npm run build:mcp && node tests/mcp/test-mcp-integration.js","audit:fix":"npm audit fix","build:mcp":"tsc -p tsconfig.mcp.json","clean:mcp":"rm -rf dist/mcp","start:mcp":"npm run build:mcp && node dist/mcp/server.js","test:unit":"jest --testPathPattern=test/unit --passWithNoTests","clean:dist":"rm -rf dist build","deps:check":"npm-check-updates","docker:run":"docker run -p 8000:8000 mermaid-validator-mcp","preinstall":"npm run build:grammars || true","test:watch":"jest --watch","build:antlr":"node scripts/compile-grammars.js --antlr-only","build:jison":"node scripts/compile-grammars.js --jison-only","build:types":"node scripts/compile-grammars.js --types-only","deps:update":"npm-check-updates -u","postinstall":"npm run build || true","test:upload":"node test/integration/upload-endpoints.js","dev:mcp-http":"npm run build:mcp && nodemon dist/mcp/server-http.js","docker:build":"docker build -t mermaid-validator-mcp .","build:langium":"node scripts/compile-grammars.js --langium-only","license:check":"license-checker","security:full":"npm run audit && npm run security:snyk && npm run security:retire","security:snyk":"snyk test","test:coverage":"jest --coverage","test:validate":"node test/integration/validate-endpoints.js","validate:deps":"dependency-check package.json","version:major":"node scripts/increment-version.js major","version:minor":"node scripts/increment-version.js minor","version:patch":"node scripts/increment-version.js patch","build:grammars":"node scripts/compile-grammars.js --jison-only","dev:mcp-secure":"npm run build:mcp && nodemon dist/mcp/server-secure.js","prepublishOnly":"npm run build","start:mcp-http":"npm run build:mcp && node dist/mcp/server-http.js","clean:generated":"rm -rf src/generated","security:retire":"retire","start:mcp-secure":"npm run build:mcp && node dist/mcp/server-secure.js","test:integration":"node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js","docker:build:auto":"npm run version:patch && make docker-build-manual"},"_npmUser":{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"},"repository":{"url":"git+https://github.com/gregoriomomm/mermaid-validator-mcp.git","type":"git"},"_npmVersion":"11.6.0","description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","directories":{},"_nodeVersion":"24.8.0","dependencies":{"joi":"^17.11.0","zod":"^3.25.76","cors":"^2.8.5","uuid":"^9.0.1","jison":"^0.4.18","yauzl":"^2.10.0","helmet":"^7.1.0","morgan":"^1.10.0","multer":"^1.4.5-lts.1","express":"^4.18.2","langium":"^3.3.1","winston":"^3.11.0","chevrotain":"^11.0.3","mime-types":"^2.1.35","compression":"^1.7.4","swagger-jsdoc":"^6.2.8","express-validator":"^7.0.1","express-rate-limit":"^7.5.1","swagger-ui-express":"^5.0.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","snyk":"^1.1290.0","eslint":"^8.57.1","retire":"^4.0.3","nodemon":"^3.0.2","audit-ci":"^7.0.1","form-data":"^4.0.4","supertest":"^6.3.3","@eslint/js":"^9.35.0","typescript":"^5.7.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","langium-cli":"^4.0.0","@types/express":"^5.0.3","license-checker":"^25.0.1","dependency-check":"^4.1.0","npm-check-updates":"^16.14.12","eslint-plugin-import":"^2.29.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mermaid-validator-mcp_1.0.18_1759162323452_0.7930859757151572","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package renamed to @ai-of-mine/fast-mermaid-validator-mcp. Please use the new package: npm install @ai-of-mine/fast-mermaid-validator-mcp"},"1.0.19":{"name":"@ai-of-mine/mermaid-validator-mcp","version":"1.0.19","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@br.ibm.com"},"license":"Apache-2.0","_id":"@ai-of-mine/mermaid-validator-mcp@1.0.19","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"homepage":"https://github.com/gregoriomomm/mermaid-validator-mcp#readme","bugs":{"url":"https://github.com/gregoriomomm/mermaid-validator-mcp/issues"},"bin":{"mermaid-validator-mcp":"src/server.js"},"dist":{"shasum":"c61a1dda449b12bda0dcc04ffb34a89a21cf540f","tarball":"https://registry.npmjs.org/@ai-of-mine/mermaid-validator-mcp/-/mermaid-validator-mcp-1.0.19.tgz","fileCount":204,"integrity":"sha512-WBg7p+kFC7+2tr0pr2S1MX6EgpKEHTYYV7inBckcTMMdRjJcr+Wqj2WRR0WfOZI3BGcCTVYTz10uWUZ7x/Jrnw==","signatures":[{"sig":"MEUCIQDGR109B3BJBTeQrLCECg6Cnyx0xsRaIF4W5p5CAHfuYwIgExRazRz71ntvdL/Z/pPz1PTFgvUl2bWaWoWo9jxdFt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1353530},"main":"src/server.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"gitHead":"0f656ccd7edd5abe2a432ab60bdf00332e406f05","scripts":{"dev":"nodemon src/server.js","docs":"swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json","lint":"eslint src/ --ext .js","test":"npm run test:unit && npm run test:integration","audit":"npm audit","build":"npm run build:grammars","clean":"npm run clean:generated && npm run clean:dist && npm run clean:mcp","start":"node src/server.js","dev:mcp":"npm run build:mcp && nodemon dist/mcp/server.js","prepack":"npm run clean:generated","prepare":"npm run build || true","audit:ci":"audit-ci --config audit-ci.json","lint:fix":"eslint src/ --ext .js --fix","prebuild":"npm run clean:generated","test:api":"jest --testPathPattern=test/api","test:mcp":"npm run build:mcp && node tests/mcp/test-mcp-integration.js","audit:fix":"npm audit fix","build:mcp":"tsc -p tsconfig.mcp.json","clean:mcp":"rm -rf dist/mcp","start:mcp":"npm run build:mcp && node dist/mcp/server.js","test:unit":"jest --testPathPattern=test/unit --passWithNoTests","clean:dist":"rm -rf dist build","deps:check":"npm-check-updates","docker:run":"docker run -p 8000:8000 mermaid-validator-mcp","preinstall":"npm run build:grammars || true","test:watch":"jest --watch","build:antlr":"node scripts/compile-grammars.js --antlr-only","build:jison":"node scripts/compile-grammars.js --jison-only","build:types":"node scripts/compile-grammars.js --types-only","deps:update":"npm-check-updates -u","postinstall":"npm run build || true","test:upload":"node test/integration/upload-endpoints.js","dev:mcp-http":"npm run build:mcp && nodemon dist/mcp/server-http.js","docker:build":"docker build -t mermaid-validator-mcp .","build:langium":"node scripts/compile-grammars.js --langium-only","license:check":"license-checker","security:full":"npm run audit && npm run security:snyk && npm run security:retire","security:snyk":"snyk test","test:coverage":"jest --coverage","test:validate":"node test/integration/validate-endpoints.js","validate:deps":"dependency-check package.json","version:major":"node scripts/increment-version.js major","version:minor":"node scripts/increment-version.js minor","version:patch":"node scripts/increment-version.js patch","build:grammars":"node scripts/compile-grammars.js --jison-only","dev:mcp-secure":"npm run build:mcp && nodemon dist/mcp/server-secure.js","prepublishOnly":"npm run build","start:mcp-http":"npm run build:mcp && node dist/mcp/server-http.js","clean:generated":"rm -rf src/generated","security:retire":"retire","start:mcp-secure":"npm run build:mcp && node dist/mcp/server-secure.js","test:integration":"node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js","docker:build:auto":"npm run version:patch && make docker-build-manual"},"_npmUser":{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"},"repository":{"url":"git+https://github.com/gregoriomomm/mermaid-validator-mcp.git","type":"git"},"_npmVersion":"11.6.0","description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","directories":{},"_nodeVersion":"24.8.0","dependencies":{"joi":"^17.11.0","zod":"^3.25.76","cors":"^2.8.5","uuid":"^9.0.1","jison":"^0.4.18","yauzl":"^2.10.0","helmet":"^7.1.0","morgan":"^1.10.0","multer":"^1.4.5-lts.1","express":"^4.18.2","langium":"^3.3.1","winston":"^3.11.0","chevrotain":"^11.0.3","mime-types":"^2.1.35","compression":"^1.7.4","swagger-jsdoc":"^6.2.8","express-validator":"^7.0.1","express-rate-limit":"^7.5.1","swagger-ui-express":"^5.0.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","snyk":"^1.1290.0","eslint":"^8.57.1","retire":"^4.0.3","nodemon":"^3.0.2","audit-ci":"^7.0.1","form-data":"^4.0.4","supertest":"^6.3.3","@eslint/js":"^9.35.0","typescript":"^5.7.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","langium-cli":"^4.0.0","@types/express":"^5.0.3","license-checker":"^25.0.1","dependency-check":"^4.1.0","npm-check-updates":"^16.14.12","eslint-plugin-import":"^2.29.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mermaid-validator-mcp_1.0.19_1759167329148_0.7119791257078092","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package renamed to @ai-of-mine/fast-mermaid-validator-mcp. Please use the new package: npm install @ai-of-mine/fast-mermaid-validator-mcp"},"1.0.20":{"name":"@ai-of-mine/mermaid-validator-mcp","version":"1.0.20","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@br.ibm.com"},"license":"Apache-2.0","_id":"@ai-of-mine/mermaid-validator-mcp@1.0.20","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"homepage":"https://github.com/gregoriomomm/mermaid-validator-mcp#readme","bugs":{"url":"https://github.com/gregoriomomm/mermaid-validator-mcp/issues"},"bin":{"mermaid-validator-mcp":"src/server.js"},"dist":{"shasum":"bca843daf72c525021f3db20ee83ea538e1e139f","tarball":"https://registry.npmjs.org/@ai-of-mine/mermaid-validator-mcp/-/mermaid-validator-mcp-1.0.20.tgz","fileCount":204,"integrity":"sha512-LPCI74yqP0TS/zBgEeEQPUU4fXU1wwP9PUu1hH3do+nHRDKbIkNNqpi8PENS/anlzKb4cjKw7tKpUk04XzXIQQ==","signatures":[{"sig":"MEUCIBXriFveM2dBnJ/gkJ6ZMHsLWbmEUr6PP5k8XYolXaFAAiEAm2MKSIQwdi8SQRwTBnFLHedJ2ZYZP6CMwWASYouZm0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1353488},"main":"src/server.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"gitHead":"0f656ccd7edd5abe2a432ab60bdf00332e406f05","scripts":{"dev":"nodemon src/server.js","docs":"swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json","lint":"eslint src/ --ext .js","test":"npm run test:unit && npm run test:integration","audit":"npm audit","build":"npm run build:grammars","clean":"npm run clean:generated && npm run clean:dist && npm run clean:mcp","start":"node src/server.js","dev:mcp":"npm run build:mcp && nodemon dist/mcp/server.js","prepare":"npm run build || true","audit:ci":"audit-ci --config audit-ci.json","lint:fix":"eslint src/ --ext .js --fix","prebuild":"npm run clean:generated","test:api":"jest --testPathPattern=test/api","test:mcp":"npm run build:mcp && node tests/mcp/test-mcp-integration.js","audit:fix":"npm audit fix","build:mcp":"tsc -p tsconfig.mcp.json","clean:mcp":"rm -rf dist/mcp","start:mcp":"npm run build:mcp && node dist/mcp/server.js","test:unit":"jest --testPathPattern=test/unit --passWithNoTests","clean:dist":"rm -rf dist build","deps:check":"npm-check-updates","docker:run":"docker run -p 8000:8000 mermaid-validator-mcp","preinstall":"npm run build:grammars || true","test:watch":"jest --watch","build:antlr":"node scripts/compile-grammars.js --antlr-only","build:jison":"node scripts/compile-grammars.js --jison-only","build:types":"node scripts/compile-grammars.js --types-only","deps:update":"npm-check-updates -u","postinstall":"npm run build || true","test:upload":"node test/integration/upload-endpoints.js","dev:mcp-http":"npm run build:mcp && nodemon dist/mcp/server-http.js","docker:build":"docker build -t mermaid-validator-mcp .","build:langium":"node scripts/compile-grammars.js --langium-only","license:check":"license-checker","security:full":"npm run audit && npm run security:snyk && npm run security:retire","security:snyk":"snyk test","test:coverage":"jest --coverage","test:validate":"node test/integration/validate-endpoints.js","validate:deps":"dependency-check package.json","version:major":"node scripts/increment-version.js major","version:minor":"node scripts/increment-version.js minor","version:patch":"node scripts/increment-version.js patch","build:grammars":"node scripts/compile-grammars.js --jison-only","dev:mcp-secure":"npm run build:mcp && nodemon dist/mcp/server-secure.js","prepublishOnly":"npm run build","start:mcp-http":"npm run build:mcp && node dist/mcp/server-http.js","clean:generated":"rm -rf src/generated","security:retire":"retire","start:mcp-secure":"npm run build:mcp && node dist/mcp/server-secure.js","test:integration":"node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js","docker:build:auto":"npm run version:patch && make docker-build-manual"},"_npmUser":{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"},"repository":{"url":"git+https://github.com/gregoriomomm/mermaid-validator-mcp.git","type":"git"},"_npmVersion":"11.6.0","description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","directories":{},"_nodeVersion":"24.8.0","dependencies":{"joi":"^17.11.0","zod":"^3.25.76","cors":"^2.8.5","uuid":"^9.0.1","jison":"^0.4.18","yauzl":"^2.10.0","helmet":"^7.1.0","morgan":"^1.10.0","multer":"^1.4.5-lts.1","express":"^4.18.2","langium":"^3.3.1","winston":"^3.11.0","chevrotain":"^11.0.3","mime-types":"^2.1.35","compression":"^1.7.4","swagger-jsdoc":"^6.2.8","express-validator":"^7.0.1","express-rate-limit":"^7.5.1","swagger-ui-express":"^5.0.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","snyk":"^1.1290.0","eslint":"^8.57.1","retire":"^4.0.3","nodemon":"^3.0.2","audit-ci":"^7.0.1","form-data":"^4.0.4","supertest":"^6.3.3","@eslint/js":"^9.35.0","typescript":"^5.7.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","langium-cli":"^4.0.0","@types/express":"^5.0.3","license-checker":"^25.0.1","dependency-check":"^4.1.0","npm-check-updates":"^16.14.12","eslint-plugin-import":"^2.29.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mermaid-validator-mcp_1.0.20_1759168377325_0.8026588693630832","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package renamed to @ai-of-mine/fast-mermaid-validator-mcp. Please use the new package: npm install @ai-of-mine/fast-mermaid-validator-mcp"},"1.0.21":{"name":"@ai-of-mine/mermaid-validator-mcp","version":"1.0.21","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@br.ibm.com"},"license":"Apache-2.0","_id":"@ai-of-mine/mermaid-validator-mcp@1.0.21","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"homepage":"https://github.com/gregoriomomm/mermaid-validator-mcp#readme","bugs":{"url":"https://github.com/gregoriomomm/mermaid-validator-mcp/issues"},"bin":{"mermaid-validator-mcp":"src/server.js"},"dist":{"shasum":"4ae098dc110b290cb538ef868fcf3d6e61ba3d33","tarball":"https://registry.npmjs.org/@ai-of-mine/mermaid-validator-mcp/-/mermaid-validator-mcp-1.0.21.tgz","fileCount":204,"integrity":"sha512-NW7fVY3A66xaH8ZMRFj5JMXyzwLWF+cZewJiTZTJMTQq9fkbS5U49xEruD7wGPhw3x4u6KPmg80HRHxXFWCxDg==","signatures":[{"sig":"MEUCIBm13sn4pRG3JVzMRsRKmFQ+FqFotIzlCGXOGFeuQaw4AiEA4ZqLSqEEfCeeT9Wn+5j0WVyRGfsv+vXW/O3PCykgkjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1353488},"main":"src/server.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"gitHead":"0f656ccd7edd5abe2a432ab60bdf00332e406f05","scripts":{"dev":"nodemon src/server.js","docs":"swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json","lint":"eslint src/ --ext .js","test":"npm run test:unit && npm run test:integration","audit":"npm audit","build":"npm run build:grammars","clean":"npm run clean:generated && npm run clean:dist && npm run clean:mcp","start":"node src/server.js","dev:mcp":"npm run build:mcp && nodemon dist/mcp/server.js","prepare":"npm run build || true","audit:ci":"audit-ci --config audit-ci.json","lint:fix":"eslint src/ --ext .js --fix","prebuild":"npm run clean:generated","test:api":"jest --testPathPattern=test/api","test:mcp":"npm run build:mcp && node tests/mcp/test-mcp-integration.js","audit:fix":"npm audit fix","build:mcp":"tsc -p tsconfig.mcp.json","clean:mcp":"rm -rf dist/mcp","start:mcp":"npm run build:mcp && node dist/mcp/server.js","test:unit":"jest --testPathPattern=test/unit --passWithNoTests","clean:dist":"rm -rf dist build","deps:check":"npm-check-updates","docker:run":"docker run -p 8000:8000 mermaid-validator-mcp","preinstall":"npm run build:grammars || true","test:watch":"jest --watch","build:antlr":"node scripts/compile-grammars.js --antlr-only","build:jison":"node scripts/compile-grammars.js --jison-only","build:types":"node scripts/compile-grammars.js --types-only","deps:update":"npm-check-updates -u","postinstall":"npm run build || true","test:upload":"node test/integration/upload-endpoints.js","dev:mcp-http":"npm run build:mcp && nodemon dist/mcp/server-http.js","docker:build":"docker build -t mermaid-validator-mcp .","build:langium":"node scripts/compile-grammars.js --langium-only","license:check":"license-checker","security:full":"npm run audit && npm run security:snyk && npm run security:retire","security:snyk":"snyk test","test:coverage":"jest --coverage","test:validate":"node test/integration/validate-endpoints.js","validate:deps":"dependency-check package.json","version:major":"node scripts/increment-version.js major","version:minor":"node scripts/increment-version.js minor","version:patch":"node scripts/increment-version.js patch","build:grammars":"node scripts/compile-grammars.js --jison-only","dev:mcp-secure":"npm run build:mcp && nodemon dist/mcp/server-secure.js","prepublishOnly":"npm run build","start:mcp-http":"npm run build:mcp && node dist/mcp/server-http.js","clean:generated":"rm -rf src/generated","security:retire":"retire","start:mcp-secure":"npm run build:mcp && node dist/mcp/server-secure.js","test:integration":"node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js","docker:build:auto":"npm run version:patch && make docker-build-manual"},"_npmUser":{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"},"repository":{"url":"git+https://github.com/gregoriomomm/mermaid-validator-mcp.git","type":"git"},"_npmVersion":"11.6.0","description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","directories":{},"_nodeVersion":"24.8.0","dependencies":{"joi":"^17.11.0","zod":"^3.25.76","cors":"^2.8.5","uuid":"^9.0.1","jison":"^0.4.18","yauzl":"^2.10.0","helmet":"^7.1.0","morgan":"^1.10.0","multer":"^1.4.5-lts.1","express":"^4.18.2","langium":"^3.3.1","winston":"^3.11.0","chevrotain":"^11.0.3","mime-types":"^2.1.35","compression":"^1.7.4","swagger-jsdoc":"^6.2.8","express-validator":"^7.0.1","express-rate-limit":"^7.5.1","swagger-ui-express":"^5.0.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","snyk":"^1.1290.0","eslint":"^8.57.1","retire":"^4.0.3","nodemon":"^3.0.2","audit-ci":"^7.0.1","form-data":"^4.0.4","supertest":"^6.3.3","@eslint/js":"^9.35.0","typescript":"^5.7.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","langium-cli":"^4.0.0","@types/express":"^5.0.3","license-checker":"^25.0.1","dependency-check":"^4.1.0","npm-check-updates":"^16.14.12","eslint-plugin-import":"^2.29.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mermaid-validator-mcp_1.0.21_1759169499310_0.5946147589396129","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package renamed to @ai-of-mine/fast-mermaid-validator-mcp. Please use the new package: npm install @ai-of-mine/fast-mermaid-validator-mcp"},"1.0.22":{"name":"@ai-of-mine/mermaid-validator-mcp","version":"1.0.22","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@br.ibm.com"},"license":"Apache-2.0","_id":"@ai-of-mine/mermaid-validator-mcp@1.0.22","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"homepage":"https://github.com/gregoriomomm/mermaid-validator-mcp#readme","bugs":{"url":"https://github.com/gregoriomomm/mermaid-validator-mcp/issues"},"bin":{"mermaid-validator-mcp":"src/server.js"},"dist":{"shasum":"cb6663c04d52dbe77d0979480dd27389bbf858e2","tarball":"https://registry.npmjs.org/@ai-of-mine/mermaid-validator-mcp/-/mermaid-validator-mcp-1.0.22.tgz","fileCount":204,"integrity":"sha512-9Pyyz9HW6+9bcpUOiZCKTup+wdLlLykLsrwIG5JCOe6pbNPtx7RwyzgQFPc0sCi93aYivqCTGAljuJvJx8Hb6Q==","signatures":[{"sig":"MEUCIF8EhHbihtIj7R22FZJZlxLmnXPnYi99Nqsgs+CvyzusAiEAvczo42P1KusbZ/jCt8Gj/wIxJh9wMglFXLwgj/bovH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1353540},"main":"src/server.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"gitHead":"0f656ccd7edd5abe2a432ab60bdf00332e406f05","scripts":{"dev":"nodemon src/server.js","docs":"swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json","lint":"eslint src/ --ext .js","test":"npm run test:unit && npm run test:integration","audit":"npm audit","build":"npm run build:grammars","clean":"npm run clean:generated && npm run clean:dist && npm run clean:mcp","start":"node src/server.js","dev:mcp":"npm run build:mcp && nodemon dist/mcp/server.js","prepare":"npm run build || true","audit:ci":"audit-ci --config audit-ci.json","lint:fix":"eslint src/ --ext .js --fix","prebuild":"npm run clean:generated","test:api":"jest --testPathPattern=test/api","test:mcp":"npm run build:mcp && node tests/mcp/test-mcp-integration.js","audit:fix":"npm audit fix","build:mcp":"tsc -p tsconfig.mcp.json","clean:mcp":"rm -rf dist/mcp","start:mcp":"npm run build:mcp && node dist/mcp/server.js","test:unit":"jest --testPathPattern=test/unit --passWithNoTests","clean:dist":"rm -rf dist build","deps:check":"npm-check-updates","docker:run":"docker run -p 8000:8000 mermaid-validator-mcp","preinstall":"npm run build:grammars || true","test:watch":"jest --watch","build:antlr":"node scripts/compile-grammars.js --antlr-only","build:jison":"node scripts/compile-grammars.js --jison-only","build:types":"node scripts/compile-grammars.js --types-only","deps:update":"npm-check-updates -u","postinstall":"npm run build || true","test:upload":"node test/integration/upload-endpoints.js","dev:mcp-http":"npm run build:mcp && nodemon dist/mcp/server-http.js","docker:build":"docker build -t mermaid-validator-mcp .","build:langium":"node scripts/compile-grammars.js --langium-only","license:check":"license-checker","security:full":"npm run audit && npm run security:snyk && npm run security:retire","security:snyk":"snyk test","test:coverage":"jest --coverage","test:validate":"node test/integration/validate-endpoints.js","validate:deps":"dependency-check package.json","version:major":"node scripts/increment-version.js major","version:minor":"node scripts/increment-version.js minor","version:patch":"node scripts/increment-version.js patch","build:grammars":"node scripts/compile-grammars.js --jison-only","dev:mcp-secure":"npm run build:mcp && nodemon dist/mcp/server-secure.js","prepublishOnly":"npm run build","start:mcp-http":"npm run build:mcp && node dist/mcp/server-http.js","clean:generated":"rm -rf src/generated","security:retire":"retire","start:mcp-secure":"npm run build:mcp && node dist/mcp/server-secure.js","test:integration":"node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js","docker:build:auto":"npm run version:patch && make docker-build-manual"},"_npmUser":{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"},"repository":{"url":"git+https://github.com/gregoriomomm/mermaid-validator-mcp.git","type":"git"},"_npmVersion":"11.6.0","description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","directories":{},"_nodeVersion":"24.8.0","dependencies":{"joi":"^17.11.0","zod":"^3.25.76","cors":"^2.8.5","uuid":"^9.0.1","jison":"^0.4.18","yauzl":"^2.10.0","helmet":"^7.1.0","morgan":"^1.10.0","multer":"^1.4.5-lts.1","express":"^4.18.2","langium":"^3.3.1","winston":"^3.11.0","chevrotain":"^11.0.3","mime-types":"^2.1.35","compression":"^1.7.4","swagger-jsdoc":"^6.2.8","express-validator":"^7.0.1","express-rate-limit":"^7.5.1","swagger-ui-express":"^5.0.0","@modelcontextprotocol/sdk":"^1.18.0","@ai-of-mine/mermaid-validator-mcp":"^1.0.21"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","snyk":"^1.1290.0","eslint":"^8.57.1","retire":"^4.0.3","nodemon":"^3.0.2","audit-ci":"^7.0.1","form-data":"^4.0.4","supertest":"^6.3.3","@eslint/js":"^9.35.0","typescript":"^5.7.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","langium-cli":"^4.0.0","@types/express":"^5.0.3","license-checker":"^25.0.1","dependency-check":"^4.1.0","npm-check-updates":"^16.14.12","eslint-plugin-import":"^2.29.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mermaid-validator-mcp_1.0.22_1759172433826_0.5907867277965106","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package renamed to @ai-of-mine/fast-mermaid-validator-mcp. Please use the new package: npm install @ai-of-mine/fast-mermaid-validator-mcp"},"1.0.23":{"name":"@ai-of-mine/mermaid-validator-mcp","version":"1.0.23","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@br.ibm.com"},"license":"Apache-2.0","_id":"@ai-of-mine/mermaid-validator-mcp@1.0.23","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"homepage":"https://github.com/gregoriomomm/mermaid-validator-mcp#readme","bugs":{"url":"https://github.com/gregoriomomm/mermaid-validator-mcp/issues"},"bin":{"mermaid-validator-mcp":"src/server.js"},"dist":{"shasum":"811ad96a2732f6cf75f85948a0c51a654234e778","tarball":"https://registry.npmjs.org/@ai-of-mine/mermaid-validator-mcp/-/mermaid-validator-mcp-1.0.23.tgz","fileCount":204,"integrity":"sha512-Sfrb1JnKiA52Eb3IFRGfLKgHYG3l6DksPO+H869O8rqouBay4xtvjeL4qXrzhFn+UvuxcMfeUonHpnmED/C7zg==","signatures":[{"sig":"MEUCIFP8oKWMCV+cs+zQkqW3YPV0PBzmk4EVL/LhtF7K31EjAiEAy5nT3X03vFtHxZXscNC9R3myaVGkHtnO+nDtKSlaeJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1354133},"main":"src/server.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"gitHead":"0f656ccd7edd5abe2a432ab60bdf00332e406f05","scripts":{"dev":"nodemon src/server.js","docs":"swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json","lint":"eslint src/ --ext .js","test":"npm run test:unit && npm run test:integration","audit":"npm audit","build":"npm run build:grammars","clean":"npm run clean:generated && npm run clean:dist && npm run clean:mcp","start":"node src/server.js","dev:mcp":"npm run build:mcp && nodemon dist/mcp/server.js","prepare":"npm run build || true","audit:ci":"audit-ci --config audit-ci.json","lint:fix":"eslint src/ --ext .js --fix","prebuild":"echo 'Prebuild: Keeping generated files for packaging'","test:api":"jest --testPathPattern=test/api","test:mcp":"npm run build:mcp && node tests/mcp/test-mcp-integration.js","audit:fix":"npm audit fix","build:mcp":"tsc -p tsconfig.mcp.json","clean:mcp":"rm -rf dist/mcp","start:mcp":"npm run build:mcp && node dist/mcp/server.js","test:unit":"jest --testPathPattern=test/unit --passWithNoTests","clean:dist":"rm -rf dist build","deps:check":"npm-check-updates","docker:run":"docker run -p 8000:8000 mermaid-validator-mcp","preinstall":"npm run build:grammars || true","test:watch":"jest --watch","build:antlr":"node scripts/compile-grammars.js --antlr-only","build:jison":"node scripts/compile-grammars.js --jison-only","build:types":"node scripts/compile-grammars.js --types-only","deps:update":"npm-check-updates -u","postinstall":"npm run build || true","test:upload":"node test/integration/upload-endpoints.js","dev:mcp-http":"npm run build:mcp && nodemon dist/mcp/server-http.js","docker:build":"docker build -t mermaid-validator-mcp .","build:langium":"node scripts/compile-grammars.js --langium-only","license:check":"license-checker","security:full":"npm run audit && npm run security:snyk && npm run security:retire","security:snyk":"snyk test","test:coverage":"jest --coverage","test:validate":"node test/integration/validate-endpoints.js","validate:deps":"dependency-check package.json","version:major":"node scripts/increment-version.js major","version:minor":"node scripts/increment-version.js minor","version:patch":"node scripts/increment-version.js patch","build:grammars":"node scripts/compile-grammars.js --jison-only","dev:mcp-secure":"npm run build:mcp && nodemon dist/mcp/server-secure.js","prepublishOnly":"npm run build","start:mcp-http":"npm run build:mcp && node dist/mcp/server-http.js","clean:generated":"rm -rf src/generated","security:retire":"retire","start:mcp-secure":"npm run build:mcp && node dist/mcp/server-secure.js","test:integration":"node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js","docker:build:auto":"npm run version:patch && make docker-build-manual"},"_npmUser":{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"},"repository":{"url":"git+https://github.com/gregoriomomm/mermaid-validator-mcp.git","type":"git"},"_npmVersion":"11.6.0","description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","directories":{},"_nodeVersion":"24.8.0","dependencies":{"joi":"^17.11.0","zod":"^3.25.76","cors":"^2.8.5","uuid":"^9.0.1","jison":"^0.4.18","yauzl":"^2.10.0","helmet":"^7.1.0","morgan":"^1.10.0","multer":"^1.4.5-lts.1","express":"^4.18.2","langium":"^3.3.1","winston":"^3.11.0","chevrotain":"^11.0.3","mime-types":"^2.1.35","compression":"^1.7.4","swagger-jsdoc":"^6.2.8","express-validator":"^7.0.1","express-rate-limit":"^7.5.1","swagger-ui-express":"^5.0.0","@modelcontextprotocol/sdk":"^1.18.0","@ai-of-mine/mermaid-validator-mcp":"^1.0.21"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","snyk":"^1.1290.0","eslint":"^8.57.1","retire":"^4.0.3","nodemon":"^3.0.2","audit-ci":"^7.0.1","form-data":"^4.0.4","supertest":"^6.3.3","@eslint/js":"^9.35.0","typescript":"^5.7.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","langium-cli":"^4.0.0","@types/express":"^5.0.3","license-checker":"^25.0.1","dependency-check":"^4.1.0","npm-check-updates":"^16.14.12","eslint-plugin-import":"^2.29.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mermaid-validator-mcp_1.0.23_1759173293593_0.5109855138816641","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package renamed to @ai-of-mine/fast-mermaid-validator-mcp. Please use the new package: npm install @ai-of-mine/fast-mermaid-validator-mcp"},"1.0.24":{"name":"@ai-of-mine/mermaid-validator-mcp","version":"1.0.24","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@br.ibm.com"},"license":"Apache-2.0","_id":"@ai-of-mine/mermaid-validator-mcp@1.0.24","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"homepage":"https://github.com/gregoriomomm/mermaid-validator-mcp#readme","bugs":{"url":"https://github.com/gregoriomomm/mermaid-validator-mcp/issues"},"bin":{"mermaid-validator-mcp":"src/server.js"},"dist":{"shasum":"23540b4aab00133627cfa50ec497ee782aee1dec","tarball":"https://registry.npmjs.org/@ai-of-mine/mermaid-validator-mcp/-/mermaid-validator-mcp-1.0.24.tgz","fileCount":204,"integrity":"sha512-rxQg0EwxzfMPPLaRNplz9UQMSJAGZad8f5K8En1hD+ZF4aq0sE1bX8OKpf5sZHqCiYrKOeGnAzs2dQ2rIgKWpg==","signatures":[{"sig":"MEUCIDGkQnIuTFyKdEF2VgGqtsN3emhwz6gEQcnuiiFDnaU8AiEAooMgwkO5SpPPNYiTXJLIi6Au6eKpDKhyqGDHf3VTr3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1354046},"main":"src/server.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"gitHead":"0f656ccd7edd5abe2a432ab60bdf00332e406f05","scripts":{"dev":"nodemon src/server.js","docs":"swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json","lint":"eslint src/ --ext .js","test":"npm run test:unit && npm run test:integration","audit":"npm audit","build":"npm run build:grammars","clean":"npm run clean:generated && npm run clean:dist && npm run clean:mcp","start":"node src/server.js","dev:mcp":"npm run build:mcp && nodemon dist/mcp/server.js","prepare":"npm run build || true","audit:ci":"audit-ci --config audit-ci.json","lint:fix":"eslint src/ --ext .js --fix","prebuild":"echo 'Prebuild: Keeping generated files for packaging'","test:api":"jest --testPathPattern=test/api","test:mcp":"npm run build:mcp && node tests/mcp/test-mcp-integration.js","audit:fix":"npm audit fix","build:mcp":"tsc -p tsconfig.mcp.json","clean:mcp":"rm -rf dist/mcp","start:mcp":"npm run build:mcp && node dist/mcp/server.js","test:unit":"jest --testPathPattern=test/unit --passWithNoTests","clean:dist":"rm -rf dist build","deps:check":"npm-check-updates","docker:run":"docker run -p 8000:8000 mermaid-validator-mcp","preinstall":"npm run build:grammars || true","test:watch":"jest --watch","build:antlr":"node scripts/compile-grammars.js --antlr-only","build:jison":"node scripts/compile-grammars.js --jison-only","build:types":"node scripts/compile-grammars.js --types-only","deps:update":"npm-check-updates -u","postinstall":"npm run build || true","test:upload":"node test/integration/upload-endpoints.js","dev:mcp-http":"npm run build:mcp && nodemon dist/mcp/server-http.js","docker:build":"docker build -t mermaid-validator-mcp .","build:langium":"node scripts/compile-grammars.js --langium-only","license:check":"license-checker","security:full":"npm run audit && npm run security:snyk && npm run security:retire","security:snyk":"snyk test","test:coverage":"jest --coverage","test:validate":"node test/integration/validate-endpoints.js","validate:deps":"dependency-check package.json","version:major":"node scripts/increment-version.js major","version:minor":"node scripts/increment-version.js minor","version:patch":"node scripts/increment-version.js patch","build:grammars":"node scripts/compile-grammars.js --jison-only","dev:mcp-secure":"npm run build:mcp && nodemon dist/mcp/server-secure.js","prepublishOnly":"npm run build","start:mcp-http":"npm run build:mcp && node dist/mcp/server-http.js","clean:generated":"rm -rf src/generated","security:retire":"retire","start:mcp-secure":"npm run build:mcp && node dist/mcp/server-secure.js","test:integration":"node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js","docker:build:auto":"npm run version:patch && make docker-build-manual"},"_npmUser":{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"},"repository":{"url":"git+https://github.com/gregoriomomm/mermaid-validator-mcp.git","type":"git"},"_npmVersion":"11.6.0","description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","directories":{},"_nodeVersion":"24.8.0","dependencies":{"joi":"^17.11.0","zod":"^3.25.76","cors":"^2.8.5","uuid":"^9.0.1","jison":"^0.4.18","yauzl":"^2.10.0","helmet":"^7.1.0","morgan":"^1.10.0","multer":"^1.4.5-lts.1","express":"^4.18.2","langium":"^3.3.1","winston":"^3.11.0","chevrotain":"^11.0.3","mime-types":"^2.1.35","compression":"^1.7.4","swagger-jsdoc":"^6.2.8","express-validator":"^7.0.1","express-rate-limit":"^7.5.1","swagger-ui-express":"^5.0.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","snyk":"^1.1290.0","eslint":"^8.57.1","retire":"^4.0.3","nodemon":"^3.0.2","audit-ci":"^7.0.1","form-data":"^4.0.4","supertest":"^6.3.3","@eslint/js":"^9.35.0","typescript":"^5.7.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","langium-cli":"^4.0.0","@types/express":"^5.0.3","license-checker":"^25.0.1","dependency-check":"^4.1.0","npm-check-updates":"^16.14.12","eslint-plugin-import":"^2.29.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mermaid-validator-mcp_1.0.24_1759174901093_0.18908555737575927","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package renamed to @ai-of-mine/fast-mermaid-validator-mcp. Please use the new package: npm install @ai-of-mine/fast-mermaid-validator-mcp"},"1.0.29":{"name":"@ai-of-mine/mermaid-validator-mcp","version":"1.0.29","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@gmail.com"},"license":"Apache-2.0","_id":"@ai-of-mine/mermaid-validator-mcp@1.0.29","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"homepage":"https://github.com/ai-of-mine/fast-mermaid-validator-mcp#readme","bugs":{"url":"https://github.com/ai-of-mine/fast-mermaid-validator-mcp/issues"},"bin":{"mermaid-validator-mcp":"src/server.js"},"dist":{"shasum":"5bc5ef38a6698123cb39c93e3f393192a61f4cc9","tarball":"https://registry.npmjs.org/@ai-of-mine/mermaid-validator-mcp/-/mermaid-validator-mcp-1.0.29.tgz","fileCount":300,"integrity":"sha512-SlIaNC5uQRQMfURcKbc/fSD25AxblpJ+66LUepNoeZdpwpLkwNFSteeHQ47B7rG78bh9QKvgHmWRpHXWKE7A1g==","signatures":[{"sig":"MEUCIQC7GKvbwvu2lhIg/B2vP47lyc5ygl56PgpLkzoo0Z3YpwIgCiS6ELNQ475PBcC3PRWzINoac7JCKm965C3nKlC01f8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1606496},"main":"src/server.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"gitHead":"c46d9d3d0aa1b28318697cadd2f7931040a1766d","scripts":{"dev":"nodemon src/server.js","docs":"swagger-jsdoc -d docs/swagger.js src/routes/*.js -o docs/swagger.json","lint":"eslint src/ --ext .js","test":"npm run test:unit && npm run test:integration","audit":"npm audit","build":"npm run build:grammars","clean":"npm run clean:generated && npm run clean:dist && npm run clean:mcp","start":"node src/server.js","dev:mcp":"npm run build:mcp && nodemon dist/mcp/server.js","prepare":"npm run build || true","audit:ci":"audit-ci --config audit-ci.json","lint:fix":"eslint src/ --ext .js --fix","prebuild":"npm run build:mcp","test:api":"jest --testPathPattern=test/api","test:mcp":"npm run build:mcp && node tests/mcp/test-mcp-integration.js","audit:fix":"npm audit fix","build:mcp":"tsc -p tsconfig.mcp.json","clean:mcp":"rm -rf dist/mcp","start:mcp":"npm run build:mcp && node dist/mcp/server.js","test:unit":"jest --testPathPattern=test/unit --passWithNoTests","clean:dist":"rm -rf dist build","deps:check":"npm-check-updates","docker:run":"docker run -p 8000:8000 mermaid-validator-mcp","preinstall":"npm run build:grammars || true","test:watch":"jest --watch","build:antlr":"node scripts/compile-grammars.js --antlr-only","build:jison":"node scripts/compile-grammars.js --jison-only","build:types":"node scripts/compile-grammars.js --types-only","deps:update":"npm-check-updates -u","postinstall":"npm run build || true","test:upload":"node test/integration/upload-endpoints.js","dev:mcp-http":"npm run build:mcp && nodemon dist/mcp/server-http.js","docker:build":"docker build -t mermaid-validator-mcp .","build:langium":"node scripts/compile-grammars.js --langium-only","license:check":"license-checker","security:full":"npm run audit && npm run security:snyk && npm run security:retire","security:snyk":"snyk test","test:coverage":"jest --coverage","test:validate":"node test/integration/validate-endpoints.js","validate:deps":"dependency-check package.json","version:major":"node scripts/increment-version.js major","version:minor":"node scripts/increment-version.js minor","version:patch":"node scripts/increment-version.js patch","build:grammars":"node scripts/compile-grammars.js --jison-only","dev:mcp-secure":"npm run build:mcp && nodemon dist/mcp/server-secure.js","prepublishOnly":"npm run build:grammars && (npm run build:mcp || true)","start:mcp-http":"npm run build:mcp && node dist/mcp/server-http.js","clean:generated":"rm -rf src/generated","security:retire":"retire","start:mcp-secure":"npm run build:mcp && node dist/mcp/server-secure.js","test:integration":"node test/integration/validate-endpoints.js && node test/integration/upload-endpoints.js","docker:build:auto":"npm run version:patch && make docker-build-manual"},"_npmUser":{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"},"repository":{"url":"git+https://github.com/ai-of-mine/fast-mermaid-validator-mcp.git","type":"git"},"_npmVersion":"11.6.0","description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","directories":{},"_nodeVersion":"24.8.0","dependencies":{"joi":"^17.11.0","zod":"^3.25.76","cors":"^2.8.5","uuid":"^9.0.1","jison":"^0.4.18","yauzl":"^2.10.0","helmet":"^7.1.0","morgan":"^1.10.0","multer":"^2.0.2","express":"^4.18.2","langium":"^3.3.1","winston":"^3.11.0","chevrotain":"^11.0.3","mime-types":"^2.1.35","compression":"^1.7.4","swagger-jsdoc":"^6.2.8","express-validator":"^7.0.1","express-rate-limit":"^7.5.1","swagger-ui-express":"^5.0.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","snyk":"^1.1290.0","axios":"^1.12.2","eslint":"^8.57.1","retire":"^4.0.3","nodemon":"^3.0.2","audit-ci":"^7.0.1","form-data":"^4.0.4","supertest":"^6.3.3","@eslint/js":"^9.35.0","typescript":"^5.7.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","langium-cli":"^4.0.0","@types/express":"^5.0.3","license-checker":"^25.0.1","dependency-check":"^4.1.0","npm-check-updates":"^16.14.12","eslint-plugin-import":"^2.29.0","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mermaid-validator-mcp_1.0.29_1759374146444_0.43166753582044026","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package renamed to @ai-of-mine/fast-mermaid-validator-mcp. Please use the new package: npm install @ai-of-mine/fast-mermaid-validator-mcp"}},"time":{"created":"2025-09-29T15:52:16.811Z","modified":"2025-10-04T00:12:09.214Z","1.0.17":"2025-09-29T15:52:17.076Z","1.0.18":"2025-09-29T16:12:03.698Z","1.0.19":"2025-09-29T17:35:29.347Z","1.0.20":"2025-09-29T17:52:57.597Z","1.0.21":"2025-09-29T18:11:39.583Z","1.0.22":"2025-09-29T19:00:34.103Z","1.0.23":"2025-09-29T19:14:53.833Z","1.0.24":"2025-09-29T19:41:41.355Z","1.0.29":"2025-10-02T03:02:26.688Z"},"bugs":{"url":"https://github.com/ai-of-mine/fast-mermaid-validator-mcp/issues"},"author":{"name":"Gregorio Elias Roecker Momm","email":"gregoriomomm@gmail.com"},"license":"Apache-2.0","homepage":"https://github.com/ai-of-mine/fast-mermaid-validator-mcp#readme","keywords":["mermaid","diagram","validation","api","markdown","svg","mcp","model-context-protocol","grammar-parsing","syntax-validation","developer-tools","jison","langium","enterprise"],"repository":{"url":"git+https://github.com/ai-of-mine/fast-mermaid-validator-mcp.git","type":"git"},"description":"High-performance API and Model Context Protocol (MCP) server for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities","maintainers":[{"name":"user-ai-of-mine","email":"gregoriomomm@gmail.com"}],"readme":"# Mermaid Validator API\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](./LICENSE)\n[![Version](https://img.shields.io/badge/Version-1.0.29-green)](./PROJECT_STATUS.md)\n[![Node.js](https://img.shields.io/badge/Node.js-18.x-brightgreen)](https://nodejs.org/)\n[![Docker](https://img.shields.io/badge/Docker-Ready-blue)](./Dockerfile)\n[![Open Source](https://img.shields.io/badge/Open%20Source-❤-red)](./CONTRIBUTING.md)\n\nHigh-performance API and **Model Context Protocol (MCP) server** for validating Mermaid diagrams with comprehensive security features, multiple transport options, and enterprise-grade capabilities.\n\n**Author**: Gregorio Elias Roecker Momm (gregoriomomm@gmail.com)\n\n## 🆕 **Latest Updates (v1.0.29)**\n\n**Unified CLI with Port Configuration:**\n- ✅ **Single Command**: One `npx` command with flags to start any server mode\n- ✅ **Port Control**: `--port <number>` flag works with all server modes\n- ✅ **Environment Variables**: `PORT`, `MCP_HTTP_PORT`, `MCP_HTTP_HOST` support\n- ✅ **REST API**: `npx @ai-of-mine/mermaid-validator-mcp` (default port: 8000)\n- ✅ **MCP HTTP**: `npx @ai-of-mine/mermaid-validator-mcp --mcp-http` (default port: 8080)\n- ✅ **Built-in Help**: `npx @ai-of-mine/mermaid-validator-mcp --help`\n\n**Package Features:**\n- ✅ **NPM Package**: Available as `@ai-of-mine/mermaid-validator-mcp`\n- ✅ **Security Updates**: Fixed multer vulnerabilities\n- ✅ **Clean Logging**: Default log level set to `warn` for production readiness\n- ✅ **Complete Distribution**: Both source (`src/`) and compiled (`dist/mcp/`) files\n- ✅ **Enterprise Ready**: Unlimited configuration, environment variables, Docker support\n\n**API Endpoints:**\n- `http://localhost:8000/api/v1/validate` - Direct diagram validation (JSON)\n- `http://localhost:8000/api/v1/upload/file` - File upload validation (multipart)\n\n**MCP Server Commands:**\n- `npx @ai-of-mine/mermaid-validator-mcp --mcp-stdio` - Stdio transport (Claude Desktop)\n- `npx @ai-of-mine/mermaid-validator-mcp --mcp-http` - HTTP transport (port 8080)\n- `npx @ai-of-mine/mermaid-validator-mcp --mcp-secure` - Secure HTTP with authentication\n\n## 🚀 **Dual Architecture: REST API + MCP Server**\n\nThis project provides **two complementary interfaces**:\n\n1. **🌐 REST API**: Traditional HTTP API for web applications and direct integrations\n2. **🤖 MCP Server**: Model Context Protocol server for LLM integrations (Claude Desktop, etc.)\n\n### **Quick Start**\n\n```bash\n# Install from npm (recommended)\nnpm install @ai-of-mine/mermaid-validator-mcp\n\n# Start REST API server (default)\nnpx @ai-of-mine/mermaid-validator-mcp\n\n# Start MCP HTTP server\nnpx @ai-of-mine/mermaid-validator-mcp --mcp-http\n\n# Start MCP stdio server\nnpx @ai-of-mine/mermaid-validator-mcp --mcp-stdio\n\n# Start MCP secure server\nnpx @ai-of-mine/mermaid-validator-mcp --mcp-secure\n\n# Show help\nnpx @ai-of-mine/mermaid-validator-mcp --help\n```\n\n**Alternative: Install from source**\n```bash\ngit clone https://github.com/ai-of-mine/fast-mermaid-validator-mcp.git\ncd mermaid-validator-mcp\nnpm install\nnpm run build:mcp\n\n# Use npm scripts\nnpm start              # REST API server\nnpm run start:mcp      # MCP stdio\nnpm run start:mcp-http # MCP HTTP\nnpm run start:mcp-secure # MCP secure\n```\n\n**Test MCP HTTP server:**\n```bash\nnpx @modelcontextprotocol/inspector http://localhost:8080/mcp\n```\n![alt text](mcp_inspector.png)\n## 🎯 **Core Features**\n\n### **Validation Capabilities**\n- **28 Mermaid Diagram Types**: Complete support with real grammar parsing\n- **Multi-format Support**: Markdown files, ZIP archives, direct input\n- **Real Grammar Validation**: Jison, ANTLR, and Langium parsers\n- **High Performance**: Optimized with minimal dependencies\n\n### **MCP Server Features**\n- **Multiple Transports**: Stdio, HTTP streamable, Server-Sent Events (SSE)\n- **3 MCP Tools**: validate-diagrams, validate-files, get-validation-stats\n- **2 MCP Resources**: config://limits, info://diagram-types\n- **Full Protocol Compliance**: JSON-RPC 2.0, MCP specification 2024-11-05\n\n### **Security & Enterprise**\n- **Security Compliant**: Complete audit logging and security best practices\n- **Authentication**: API key and Bearer token support\n- **Rate Limiting**: Configurable request throttling\n- **Input Validation**: Comprehensive sanitization and validation\n- **Container Ready**: Docker deployment with optimized images\n\n## Supported Diagram Types (28 Total)\n\n### Jison-based Validation (23 types)\n- **Flowchart**: `flowchart`, `graph` - Flow diagrams and process charts ✅\n- **Sequence**: `sequenceDiagram` - UML sequence diagrams ✅\n- **Class**: `classDiagram` - UML class diagrams ✅\n- **State**: `stateDiagram`, `stateDiagram-v2` - UML state diagrams ✅\n- **ER**: `erDiagram` - Entity relationship diagrams ✅\n- **Gantt**: `gantt` - Project timeline charts ✅\n- **User Journey**: `journey` - User experience journey maps ✅\n- **Requirement**: `requirement`, `requirementDiagram` - Requirements engineering diagrams ✅\n- **Sankey**: `sankey-beta` - Sankey flow diagrams ✅\n- **XY Chart**: `xychart-beta` - Line and bar charts ✅\n- **Kanban**: `kanban` - Kanban boards ✅\n- **Block**: `block`, `block-beta` - Block diagrams ✅\n- **C4**: `c4`, `C4Context` - C4 architecture diagrams ✅\n- **Mindmap**: `mindmap` - Mind maps ✅\n- **Quadrant**: `quadrant`, `quadrantChart` - Four-quadrant charts ✅\n- **Timeline**: `timeline` - Timeline diagrams ✅\n- **Example**: `exampleDiagram` - Example/test diagrams ✅\n\n### Langium-based Validation (5 types)\n- **Packet**: `packet`, `packet-beta` - Packet diagrams ✅\n- **Architecture**: `architecture`, `architecture-beta` - Architecture diagrams ✅\n- **Treemap**: `treemap` - Treemap diagrams ✅\n\n**Validation Results:** 28/28 types supported with real grammar parsing\n\n## 🤖 **MCP Server Documentation**\n\nFor complete MCP server documentation, see: **[docs/api/README-MCP.md](docs/api/README-MCP.md)**\n\n### **Quick MCP Commands**\n\n```bash\n# Stdio transport (for Claude Desktop)\nnpm run start:mcp\n\n# HTTP streamable transport (for web integrations)\nnpm run start:mcp-http\n\n# Secure transport (production ready)\nnpm run start:mcp-secure\n\n# Test with MCP Inspector\nnpx @modelcontextprotocol/inspector http://localhost:8080/mcp\n```\n\n### **MCP Tools Available**\n- **validate_mermaid**: Direct diagram validation with comprehensive error reporting\n- **validate_file**: File content validation (Markdown, ZIP support) with base64 encoding\n- **get_examples**: Get sample diagrams for all 28+ supported diagram types\n\n### **MCP Resources Available**\n- **config://limits**: Validation limits and configuration\n- **info://diagram-types**: All 28 supported diagram types\n\n## 🛠️ **Claude Code Integration**\n\n### **Adding to Claude Code**\n\n1. **Install and start the MCP server:**\n   ```bash\n   # Install from npm\n   npm install @ai-of-mine/mermaid-validator-mcp\n\n   # Or from source\n   git clone https://github.com/ai-of-mine/fast-mermaid-validator-mcp.git\n   cd mermaid-validator-mcp\n   npm install\n   npm run build:mcp\n   npm run start:mcp-http  # HTTP transport for Claude Code\n   ```\n\n2. **Configure Claude Code using the CLI:**\n   ```bash\n   claude mcp add --transport http -s project mermaid-validator http://localhost:8080/mcp\n   ```\n\n   This creates a `.mcp.json` file in your project:\n   ```json\n   {\n     \"mcpServers\": {\n       \"mermaid-validator\": {\n         \"type\": \"http\",\n         \"url\": \"http://localhost:8080/mcp\"\n       }\n     }\n   }\n   ```\n\n3. **Available Tools in Claude Code:**\n\n   **🔍 validate_file** - *Validate ZIP Archives and Markdown Files*\n   ```\n   Process Base64-encoded ZIP archives containing multiple markdown files,\n   or individual markdown files. Automatically extracts ZIP contents,\n   finds ```mermaid code blocks, and validates all diagrams.\n\n   Perfect for: Documentation validation, CI/CD checks, bulk processing\n   ```\n\n   **🔧 validate_mermaid** - *Validate Individual Mermaid Diagrams*\n   ```\n   Validate raw Mermaid diagram code blocks directly.\n   Supports all 28+ diagram types with detailed syntax checking.\n   Returns comprehensive error information with line numbers.\n\n   Perfect for: Single diagram validation, syntax checking, error debugging\n   ```\n\n   **📊 get_examples** - *Get Sample Diagrams*\n   ```\n   Retrieve sample Mermaid diagrams for all supported diagram types.\n   Perfect for learning syntax, testing validation, and development.\n   ```\n\n### **Usage Examples with Claude Code**\n\n**Validate a documentation repository:**\n```\nUse the validate_file tool with this ZIP file containing our documentation:\n[Upload ZIP file with multiple .md files]\n```\n\n**Check a single diagram:**\n```\nUse validate_mermaid to check this flowchart:\nflowchart TD\n    A[Start] --> B{Decision}\n    B -->|Yes| C[Action 1]\n    B -->|No| D[Action 2]\n```\n\n**Get sample diagrams:**\n```\nUse get_examples to show sample diagrams for all supported types\n```\n\n**Developer Workflow Example:**\n```\n1. \"Show me examples of flowchart diagrams\"\n2. \"Validate this sequence diagram: [paste diagram]\"\n3. \"Check all diagrams in this documentation folder: [upload ZIP]\"\n4. \"Fix the syntax errors you found and re-validate\"\n```\n\n### **Supported Integrations**\n- ✅ **Claude Code** (HTTP transport)\n- ✅ **MCP Inspector** (SSE/HTTP)\n- ✅ **Claude Desktop** (stdio transport)\n- ✅ **Custom MCP clients** (all transports)\n\n## 🌐 **REST API Documentation**\n\n### Quick Start\n\nStart the API server:\n```bash\nnpx @ai-of-mine/mermaid-validator-mcp\n```\n\nThe server runs on `http://localhost:8000` by default.\n\n## API Endpoints\n\n### 1. Direct Diagram Validation\n```bash\nPOST /api/v1/validate\nContent-Type: application/json\n```\n\n**Examples:**\n\n**Valid Flowchart:**\n```bash\ncurl -X POST http://localhost:8000/api/v1/validate \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"diagram\": \"flowchart TD\\n    A[Start] --> B[Process]\\n    B --> C[End]\"\n  }'\n```\n\n**Invalid Flowchart:**\n```bash\ncurl -X POST http://localhost:8000/api/v1/validate \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"diagram\": \"flowchart TD\\n    A[Start -->> B[Invalid]\"\n  }'\n```\n\n**Valid Sequence Diagram:**\n```bash\ncurl -X POST http://localhost:8000/api/v1/validate \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"diagram\": \"sequenceDiagram\\n    Alice->>Bob: Hello\\n    Bob-->>Alice: Hi there\"\n  }'\n```\n\n### 2. File Upload Validation\n```bash\nPOST /api/v1/upload/file\nContent-Type: multipart/form-data\n```\n\n**Parameters:**\n- `file`: One or multiple markdown files (`.md`, `.markdown`, `.txt`) or ZIP archives (`.zip`)\n- `timeout`: Optional timeout in milliseconds\n\n**Examples:**\n\n**Single File Upload:**\n```bash\ncurl -X POST http://localhost:8000/api/v1/upload/file \\\n  -F \"file=@diagram.md\"\n```\n\n**Multiple Files Upload:**\n```bash\ncurl -X POST http://localhost:8000/api/v1/upload/file \\\n  -F \"file=@diagram1.md\" \\\n  -F \"file=@diagram2.md\" \\\n  -F \"file=@diagram3.md\"\n```\n\n**Upload ZIP Archive:**\n```bash\ncurl -X POST http://localhost:8000/api/v1/upload/file \\\n  -F \"file=@diagrams.zip\"\n```\n\n**With Validation Timeout:**\n```bash\ncurl -X POST http://localhost:8000/api/v1/upload/file \\\n  -F \"file=@diagram.md\" \\\n  -F \"timeout=60000\"\n```\n\n**Response:**\n```json\n{\n  \"requestId\": \"db4d2fd2-d16c-42b5-b09f-a4e67408ea06\",\n  \"timestamp\": \"2025-09-12T00:40:02.595Z\",\n  \"processingTime\": 2,\n  \"validator\": \"custom_grammar_parser\",\n  \"totalFiles\": 1,\n  \"processedFiles\": 1,\n  \"totalDiagrams\": 1,\n  \"validDiagrams\": 0,\n  \"invalidDiagrams\": 1,\n  \"fileProcessing\": {\n    \"totalFiles\": 1,\n    \"processedFiles\": 1,\n    \"errors\": [],\n    \"processingTime\": 1\n  },\n  \"files\": [\n    {\n      \"fileName\": \"sequence_test.md\",\n      \"size\": 152,\n      \"totalDiagrams\": 1,\n      \"validDiagrams\": 0,\n      \"invalidDiagrams\": 1,\n      \"results\": [\n        {\n          \"diagramId\": \"diagram_1\",\n          \"valid\": false,\n          \"errors\": [\n            {\n              \"type\": \"syntax_error\",\n              \"message\": \"Parse error on line 2: Expecting 'TEXT', got 'ID'\",\n              \"line\": 2,\n              \"column\": 1\n            }\n          ],\n          \"warnings\": [],\n          \"metadata\": {\n            \"diagramType\": \"sequenceDiagram\",\n            \"validationMethod\": \"real_jison_grammar\",\n            \"contentLength\": 112,\n            \"lineCount\": 5,\n            \"processingTime\": 1\n          }\n        }\n      ],\n      \"errors\": []\n    }\n  ],\n  \"validationOptions\": {\n    \"timeout\": 30000\n  }\n}\n```\n\n**Multiple Files Upload:**\n```bash\ncurl -X POST http://localhost:8000/api/v1/upload/file \\\n  -F \"file=@valid_diagrams.md\" \\\n  -F \"file=@invalid_diagrams.md\"\n```\n\n**Response:**\n```json\n{\n  \"requestId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n  \"timestamp\": \"2025-09-12T00:40:05.123Z\",\n  \"processingTime\": 15,\n  \"validator\": \"custom_grammar_parser\",\n  \"totalFiles\": 2,\n  \"processedFiles\": 2,\n  \"totalDiagrams\": 5,\n  \"validDiagrams\": 3,\n  \"invalidDiagrams\": 2,\n  \"fileProcessing\": {\n    \"totalFiles\": 2,\n    \"processedFiles\": 2,\n    \"errors\": [],\n    \"processingTime\": 8\n  },\n  \"files\": [\n    {\n      \"fileName\": \"valid_diagrams.md\",\n      \"size\": 456,\n      \"totalDiagrams\": 3,\n      \"validDiagrams\": 3,\n      \"invalidDiagrams\": 0,\n      \"results\": [\n        {\n          \"diagramId\": \"diagram_1\",\n          \"valid\": true,\n          \"errors\": [],\n          \"warnings\": [],\n          \"metadata\": {\n            \"diagramType\": \"flowchart\",\n            \"validationMethod\": \"real_jison_grammar\",\n            \"contentLength\": 45,\n            \"lineCount\": 3,\n            \"processingTime\": 2\n          }\n        }\n      ],\n      \"errors\": []\n    },\n    {\n      \"fileName\": \"invalid_diagrams.md\", \n      \"size\": 234,\n      \"totalDiagrams\": 2,\n      \"validDiagrams\": 0,\n      \"invalidDiagrams\": 2,\n      \"results\": [\n        {\n          \"diagramId\": \"diagram_1\",\n          \"valid\": false,\n          \"errors\": [\n            {\n              \"type\": \"syntax_error\",\n              \"message\": \"Parse error: Invalid syntax on line 1\",\n              \"line\": 1\n            }\n          ],\n          \"metadata\": {\n            \"diagramType\": \"flowchart\",\n            \"validationMethod\": \"real_jison_grammar\"\n          }\n        }\n      ],\n      \"errors\": []\n    }\n  ],\n  \"validationOptions\": {\n    \"timeout\": 30000\n  }\n}\n```\n\n**ZIP Archive Upload:**\n```bash\ncurl -X POST http://localhost:8000/api/v1/upload/file \\\n  -F \"file=@diagrams.zip;type=application/zip\"\n```\n\n**Response:**\n```json\n{\n  \"requestId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n  \"timestamp\": \"2025-09-12T00:40:10.456Z\",\n  \"processingTime\": 25,\n  \"validator\": \"custom_grammar_parser\",\n  \"totalFiles\": 1,\n  \"processedFiles\": 1,\n  \"totalDiagrams\": 8,\n  \"validDiagrams\": 6,\n  \"invalidDiagrams\": 2,\n  \"fileProcessing\": {\n    \"totalFiles\": 1,\n    \"processedFiles\": 1,\n    \"errors\": [],\n    \"processingTime\": 12\n  },\n  \"files\": [\n    {\n      \"fileName\": \"diagrams.zip\",\n      \"size\": 2048,\n      \"totalDiagrams\": 8,\n      \"validDiagrams\": 6,\n      \"invalidDiagrams\": 2,\n      \"results\": [\n        {\n          \"diagramId\": \"diagram_1\",\n          \"valid\": true,\n          \"errors\": [],\n          \"metadata\": {\n            \"diagramType\": \"flowchart\",\n            \"sourceFile\": \"diagrams.zip/flowchart.md\",\n            \"validationMethod\": \"real_jison_grammar\"\n          }\n        },\n        {\n          \"diagramId\": \"diagram_2\",\n          \"valid\": true,\n          \"errors\": [],\n          \"metadata\": {\n            \"diagramType\": \"sequenceDiagram\", \n            \"sourceFile\": \"diagrams.zip/sequence.md\",\n            \"validationMethod\": \"real_jison_grammar\"\n          }\n        }\n      ],\n      \"errors\": []\n    }\n  ]\n}\n```\n\n**Error Response Example:**\n```json\n{\n  \"error\": \"File validation failed\",\n  \"message\": \"File size exceeds maximum allowed (10MB)\",\n  \"requestId\": \"error-123-456\",\n  \"timestamp\": \"2025-09-12T00:40:15.789Z\"\n}\n```\n\n**Test Results - All 25 Diagram Types:**\n```bash\n# Comprehensive test with all supported diagram types\ncurl -X POST http://localhost:8000/api/v1/validate \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"diagrams\": [\n    {\"content\": \"flowchart TD\\n    A[Start] --> B[Process]\\n    B --> C[End]\", \"type\": \"flowchart\"},\n    {\"content\": \"sequenceDiagram\\n    participant A\\n    participant B\\n    A->>B: Hello\", \"type\": \"sequenceDiagram\"},\n    {\"content\": \"classDiagram\\n    class Animal\\n    Animal : +name string\", \"type\": \"classDiagram\"},\n    {\"content\": \"stateDiagram-v2\\n    [*] --> Still\\n    Still --> [*]\", \"type\": \"stateDiagram-v2\"},\n    {\"content\": \"erDiagram\\n    CUSTOMER {\\n        string name\\n    }\", \"type\": \"erDiagram\"},\n    {\"content\": \"gantt\\n    title A Gantt\\n    dateFormat YYYY-MM-DD\\n    section Section\\n    A task: 2014-01-01, 30d\", \"type\": \"gantt\"},\n    {\"content\": \"journey\\n    title My day\\n    section Go to work\\n      Make tea: 5: Me\", \"type\": \"journey\"},\n    {\"content\": \"requirementDiagram\\n    requirement test_req {\\n    id: 1\\n    text: test\\n    }\", \"type\": \"requirement\"},\n    {\"content\": \"xychart-beta\\n    title Sales\\n    x-axis [jan, feb]\\n    bar [5000, 6000]\", \"type\": \"xychart-beta\"},\n    {\"content\": \"kanban\\n    Todo\\n        Task 1\\n    Done\\n        Task 2\", \"type\": \"kanban\"},\n    {\"content\": \"C4Context\\n    Person(user, \\\"User\\\")\", \"type\": \"c4\"},\n    {\"content\": \"mindmap\\n  root((idea))\\n    branch1\\n    branch2\", \"type\": \"mindmap\"},\n    {\"content\": \"quadrantChart\\n    title Chart\\n    x-axis Low --> High\\n    quadrant-1 Expand\", \"type\": \"quadrant\"},\n    {\"content\": \"timeline\\n    title History\\n    2020 : Event 1\\n    2021 : Event 2\", \"type\": \"timeline\"},\n    {\"content\": \"pie title Data\\n    \\\"A\\\" : 50\\n    \\\"B\\\" : 30\", \"type\": \"pie\"},\n    {\"content\": \"gitGraph\\n    commit\\n    commit\\n    branch dev\\n    commit\", \"type\": \"gitGraph\"},\n    {\"content\": \"info\\n    showInfo\", \"type\": \"info\"},\n    {\"content\": \"architecture-beta\\n    service db(database)[DB]\", \"type\": \"architecture\"},\n    {\"content\": \"radar\\n    title Analysis\\n    \\\"Metric\\\" : [8, 6]\", \"type\": \"radar\"},\n    {\"content\": \"packet-beta\\n    0-15: Source Port\", \"type\": \"packet\"},\n    {\"content\": \"treemap-beta\\n    title Tree\\n    Branch\\n        Leaf: 100\", \"type\": \"treemap\"}\n  ]}'\n\n# Result: 21/23 diagrams validated successfully\n# ✅ All Jison parsers working (18 types)\n# ✅ All Langium parsers working (7 types)\n# ❌ 2 expected syntax failures in test data\n```\n\n### Health Check\n```bash\nGET /api/v1/health\n```\n\n**Response:**\n```json\n{\n  \"status\": \"healthy\",\n  \"timestamp\": \"2025-09-13T02:40:00.000Z\",\n  \"uptime\": 3600.5,\n  \"version\": \"1.0.15\",\n  \"environment\": \"production\"\n}\n```\n\n### Direct Validation (Alternative Method)\n```bash\nPOST /api/v1/validate\nContent-Type: application/json\n```\n\n**Request:**\n```json\n{\n  \"diagrams\": [\n    {\n      \"content\": \"flowchart TD\\\\n    A --> B\",\n      \"type\": \"flowchart\"\n    },\n    {\n      \"content\": \"pie title Sample\\\\n    \\\"A\\\" : 50\\\\n    \\\"B\\\" : 30\",\n      \"type\": \"pie\"\n    }\n  ],\n  \"options\": {\n    \"generateSvg\": false,\n    \"timeout\": 30000\n  }\n}\n```\n\n**Response:**\n```json\n{\n  \"requestId\": \"6e7ffdb8-b023-4c6b-8576-1cc60229c381\",\n  \"timestamp\": \"2025-09-11T06:21:45.793Z\",\n  \"totalDiagrams\": 2,\n  \"validDiagrams\": 2,\n  \"invalidDiagrams\": 0,\n  \"processingTime\": 33,\n  \"validator\": \"custom_grammar_parser\",\n  \"results\": [\n    {\n      \"diagramId\": \"direct_1\",\n      \"valid\": true,\n      \"errors\": [],\n      \"warnings\": [],\n      \"metadata\": {\n        \"diagramType\": \"flowchart\",\n        \"validationMethod\": \"real_jison_grammar\",\n        \"contentLength\": 25,\n        \"lineCount\": 2,\n        \"processingTime\": 3,\n        \"customValidator\": true\n      }\n    },\n    {\n      \"diagramId\": \"direct_2\", \n      \"valid\": true,\n      \"errors\": [],\n      \"warnings\": [],\n      \"metadata\": {\n        \"diagramType\": \"pie\",\n        \"validationMethod\": \"langium_grammar\",\n        \"contentLength\": 35,\n        \"lineCount\": 3,\n        \"processingTime\": 1,\n        \"customValidator\": true\n      }\n    }\n  ]\n}\n```\n\n### Validation Statistics\n```bash\nGET /api/v1/validate/stats\n```\n\n**Response:**\n```json\n{\n  \"supportedDiagramTypes\": [\n    \"flowchart\", \"graph\", \"sequenceDiagram\", \"classDiagram\", \n    \"stateDiagram\", \"stateDiagram-v2\", \"erDiagram\", \"gantt\", \n    \"journey\", \"requirement\", \"sankey-beta\", \"xychart-beta\", \n    \"kanban\", \"block\", \"c4\", \"mindmap\", \"quadrant\", \"timeline\",\n    \"pie\", \"gitGraph\", \"info\", \"architecture\", \"radar\", \n    \"packet\", \"treemap\"\n  ],\n  \"validationMethods\": {\n    \"jison\": 18,\n    \"langium\": 7,\n    \"total\": 25\n  },\n  \"limits\": {\n    \"maxFileSize\": 10485760,\n    \"maxFiles\": 20,\n    \"maxDiagramsPerFile\": 50,\n    \"maxTotalDiagrams\": 200,\n    \"validationTimeout\": 30000\n  },\n  \"features\": {\n    \"realGrammarValidation\": true,\n    \"markdownSupport\": true,\n    \"multiFileValidation\": true,\n    \"diagramGrammarParsers\": true,\n    \"jisonParsers\": true,\n    \"langiumParsers\": true\n  }\n}\n```\n\n## 🚀 **Quick Start**\n\n### Using Docker (Recommended)\n\n```bash\n# Pull and run the container\ndocker run -p 8000:8000 mermaid-validator-mcp\n\n# Or build from source\ngit clone <repository>\ncd mermaid-validator-mcp\ndocker-compose up\n```\n\n### Using Node.js\n\n```bash\n# Install from npm\nnpm install @ai-of-mine/mermaid-validator-mcp\n\n# Or install development dependencies from source\ngit clone https://github.com/ai-of-mine/fast-mermaid-validator-mcp.git\ncd mermaid-validator-mcp\nnpm install\n\n# Start development server\nnpm run dev\n\n# Start production server\nnpm start\n```\n\n### Environment Variables\n\n### **🆕 New Configurable Limits (v1.0.15)**\n\n```bash\n# Server Configuration\nPORT=8000\nHOST=0.0.0.0\nNODE_ENV=production\n\n# Server Performance Optimization\nSERVER_TIMEOUT=30000           # Server timeout in milliseconds\nKEEP_ALIVE_TIMEOUT=5000        # Keep-alive timeout\nHEADERS_TIMEOUT=6000           # Headers timeout (must be > keep-alive)\nMAX_CONNECTIONS=1000           # Maximum concurrent connections\nMAX_HEADERS_COUNT=2000         # Maximum headers per request\nMAX_REQUESTS_PER_SOCKET=0      # Max requests per socket (0 = unlimited)\n\n# Security (Rate limiting delegated to API Gateway)\nCORS_ORIGIN=*\nHSTS_MAX_AGE=31536000          # HTTPS Strict Transport Security\n\n# File Upload Limits (All configurable, use -1 for unlimited)\nMAX_FILE_SIZE=104857600        # 100MB (was 10MB)\nMAX_FILES=100000               # 100k files (was 20)\nMAX_TOTAL_DIAGRAMS=1000000     # 1M diagrams (was 200)\nMAX_DIAGRAMS_PER_FILE=10000    # 10k per file (was 50)\n\n# Validation Limits (All configurable, use -1 for unlimited)\nVALIDATION_TIMEOUT=30000\nMAX_DIAGRAM_CONTENT_LENGTH=1048576  # 1MB per diagram (was 50KB)\nMAX_TIMEOUT_MS=60000               # Max validation timeout\nMAX_FILENAME_LENGTH=255            # Max filename length\n\n# Mermaid Parser Limits (All configurable, use -1 for unlimited)\nMERMAID_MAX_TEXT_SIZE=1048576      # 1MB (was 50KB)\nMERMAID_MAX_EDGES=10000            # 10k edges (was 500)\nMERMAID_MAX_VERTICES=5000          # 5k vertices (was 200)\n\n# Logging\nLOG_LEVEL=info\nLOG_TO_FILE=true\nLOG_FILE=logs/app.log\nLOG_MAX_FILES=5\nLOG_MAX_SIZE=10m\n\n# Health Monitoring\nMEMORY_THRESHOLD=90\nDISK_THRESHOLD=90\n\n# Cleanup\nTEMP_DIR=./tmp\nCLEANUP_INTERVAL=3600000       # 1 hour cleanup interval\n```\n\n### **🚀 Unlimited Mode**\nSet any limit to `-1` to disable it completely:\n```bash\n# Unlimited processing configuration\nMAX_FILES=-1                   # Process unlimited files\nMAX_FILE_SIZE=-1               # Accept any file size\nMAX_DIAGRAM_CONTENT_LENGTH=-1  # Process any diagram size\nMERMAID_MAX_TEXT_SIZE=-1       # No text size limits\nMERMAID_MAX_EDGES=-1           # No edge count limits\nMERMAID_MAX_VERTICES=-1        # No vertex count limits\n```\n\n📋 **See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for complete configuration guide.**\n\n## Deployment\n\n### Prerequisites\n- Kubernetes cluster with kubectl access\n- Container registry access (Docker Hub, GitHub Container Registry, etc.)\n- Docker/Podman for building images\n- Helm 3.x (for Helm deployments)\n\n### Make Commands\n\n#### Development\n```bash\nmake install        # Install dependencies\nmake dev           # Start development server\nmake test          # Run tests\nmake lint          # Code linting\nmake security      # Security checks\n```\n\n#### Build & Deploy\n```bash\nmake deployment-amd64    # Build AMD64 deployment\nmake deployment-arm64    # Build ARM64 deployment (local)\nmake push-amd64         # Push AMD64 to registry\nmake push-arm64         # Push ARM64 to registry\n```\n\n#### Kubernetes (Kustomize)\n```bash\nmake k8s-deploy-dev     # Deploy to mmjc-dev namespace\nmake k8s-deploy-test    # Deploy to mmjc-test namespace\nmake k8s-status-dev     # Check dev deployment status\nmake k8s-status-test    # Check test deployment status\nmake k8s-logs-dev       # View dev logs\nmake k8s-logs-test      # View test logs\n```\n\n#### Kubernetes (Helm)\n```bash\nmake helm-install-dev   # Install Helm chart (dev)\nmake helm-install-test  # Install Helm chart (test)\nmake helm-uninstall-dev # Uninstall Helm chart (dev)\nmake helm-uninstall-test # Uninstall Helm chart (test)\n```\n\n### Docker Development\n```bash\ndocker-compose --profile dev up\n```\n\n### Production Deployment\n```bash\ndocker-compose --profile production up\n```\n\n### With Monitoring\n```bash\ndocker-compose --profile monitoring up\n```\n\n### Environment Configuration\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| NODE_ENV | Application environment | production |\n| PORT | Server port | 8000 |\n| LOG_LEVEL | Logging level | info |\n\nSee `DEPLOYMENT.md` for comprehensive deployment instructions.\n\n## Monitoring\n\n### Health Endpoints\n- `GET /api/v1/health` - Basic health check\n- `GET /api/v1/health/detailed` - Detailed system information\n- `GET /api/v1/health/live` - Kubernetes liveness probe\n- `GET /api/v1/health/ready` - Kubernetes readiness probe\n\n### Metrics (with Prometheus)\n- Request rate and response times\n- Error rates by endpoint\n- Memory and CPU usage\n- File processing statistics\n- Validation success/failure rates\n\n### Grafana Dashboards\n- API performance metrics\n- System resource utilization\n- Error rate monitoring\n- Request volume trends\n\n## Security Features\n\n- **Rate Limiting**: Configurable per-IP request limits (100 requests per 15 minutes)\n- **Input Validation**: Comprehensive request validation with express-validator\n- **File Security**: Dual MIME type and file extension validation for robust upload security\n- **Content Security**: CSP headers, XSS protection, and security headers via Helmet\n- **CORS Protection**: Configurable cross-origin policies with whitelist support\n- **Process Security**: Non-root container execution with dedicated nodejs user\n- **Resource Limits**: Memory and disk usage monitoring with configurable thresholds\n- **Upload Protection**: File size limits, suspicious filename detection, and malware prevention\n\n## Testing\n\n```bash\n# Run all tests\nnpm test\n\n# Run with coverage\nnpm run test:coverage\n\n# Run in watch mode\nnpm run test:watch\n\n# Lint code\nnpm run lint\n```\n\n## API Documentation\n\nInteractive API documentation is available at `/docs` when running in development mode.\n\n## Performance\n\n- **Custom Grammar Parser**: Fast validation without browser dependencies\n- **Concurrent Processing**: Multiple diagrams processed in parallel\n- **Memory Efficient**: Automatic cleanup of temporary files\n- **Minimal Dependencies**: Reduced attack surface and faster startup\n- **Response Compression**: Built-in compression for faster responses\n\n## Configuration\n\nSee `src/config/config.js` for all available configuration options. Most settings can be controlled via environment variables for easy deployment customization.\n\n## 📋 **Claude Code Usage Examples**\n\nFor comprehensive examples of using this validator with Claude Code, see:\n- **[CLAUDE_CODE_USAGE_EXAMPLE.md](CLAUDE_CODE_USAGE_EXAMPLE.md)** - Original validation examples\n- **[LATEST_CHANGES.md](LATEST_CHANGES.md)** - Latest features and capabilities\n- **[docs/CONFIGURATION.md](docs/CONFIGURATION.md)** - Complete configuration guide\n- **[docs/PERFORMANCE_TESTING.md](docs/PERFORMANCE_TESTING.md)** - Load testing methodology\n- **[docs/LOAD_TESTING_EVIDENCE.md](docs/LOAD_TESTING_EVIDENCE.md)** - Performance evidence\n\n### **Validation Results Summary**\n\nRecent validation of the `examples/` folder:\n- **Total Files Processed:** 9\n- **Total Diagrams Found:** 43\n- **Valid Diagrams:** 32 (74% success rate)\n- **Invalid Diagrams:** 11\n\n### **Common Issues and Fixes**\n\n**1. Quoted Text in Node Labels**\n```mermaid\n# ❌ Invalid (causes parser error)\nflowchart TD\n    A --> B[Error: \"No COMMAREA Received\"]\n\n# ✅ Fixed (remove quotes)\nflowchart TD\n    A --> B[Error: No COMMAREA Received]\n```\n\n**2. Diagram Type Syntax**\n```mermaid\n# ❌ Invalid\nquadrant\n    title Chart\n\n# ✅ Fixed\nquadrantChart\n    title Chart\n```\n\n**3. Beta Suffix Requirements**\n```mermaid\n# ❌ Invalid\ntreemap\n    title Tree\n\n# ✅ Fixed\ntreemap-beta\n    title Tree\n```\n\n### **Developer Workflow with Latest Features**\n1. **Discovery**: `claude validate all diagrams in examples folder`\n2. **Batch Processing**: Validates 43 diagrams across 9 files with unlimited processing\n3. **Error Analysis**: Comprehensive error reporting with line numbers and context\n4. **Systematic Fixes**: Apply corrections based on detailed error messages\n5. **Re-validation**: Instant re-validation with optimized performance\n6. **Enterprise Scale**: Process 100MB files, 100k+ diagrams with zero limits\n\n### **Performance Capabilities (v1.0.15)**\n- **Single Pod**: 500+ concurrent connections (with nginx proxy)\n- **Cluster Scale**: Auto-scale to 10,000+ concurrent connections\n- **Processing**: 145 req/sec sustained throughput\n- **Zero-Error Experience**: Aggressive HPA prevents connection failures\n- **Enterprise Limits**: 100MB files, 1MB diagrams, unlimited processing\n\n## License\n\nPROPRIETARY - see LICENSE file for details.\n\n## Author\n\nGregorio Elias Roecker Momm","readmeFilename":"README.md"}