Files
OmniRoute/docs/diagrams/exported/db-schema-overview.svg
diegosouzapw 519fdf41b8 chore(docs): add npm run docs:render-diagrams and export SVGs
Add scripts/docs/render-diagrams.mjs as a thin wrapper around
@mermaid-js/mermaid-cli (mmdc):

- Renders every docs/diagrams/*.mmd into docs/diagrams/exported/*.svg
- Writes a Puppeteer config with --no-sandbox for Ubuntu 23.10+/WSL
- Exits non-zero on first failure so CI can gate on rendering

Expose it as `npm run docs:render-diagrams` and commit the initial
8 rendered SVGs so reviewers see the diagrams without having to install
the renderer locally.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 13:54:09 -03:00

1 line
29 KiB
XML

<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="erDiagram" style="max-width: 2550.33px; background-color: white;" viewBox="0 0 2550.328125 470" role="graphics-document document" aria-roledescription="er"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg p{margin:0;}#my-svg .entityBox{fill:#ECECFF;stroke:#9370DB;}#my-svg .relationshipLabelBox{fill:hsl(80, 100%, 96.2745098039%);opacity:0.7;background-color:hsl(80, 100%, 96.2745098039%);}#my-svg .relationshipLabelBox rect{opacity:0.5;}#my-svg .labelBkg{background-color:rgba(248.6666666666, 255, 235.9999999999, 0.5);}#my-svg .edgeLabel{background-color:rgba(232,232,232, 0.8);}#my-svg .edgeLabel .label rect{fill:rgba(232,232,232, 0.8);}#my-svg .edgeLabel .label text{fill:#333;}#my-svg .edgeLabel .label{fill:#9370DB;font-size:14px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .edge-pattern-dashed{stroke-dasharray:8,8;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .relationshipLine{stroke:#333333;stroke-width:1px;fill:none;}#my-svg .marker{fill:none!important;stroke:#333333!important;stroke-width:1;}#my-svg [data-look=neo].labelBkg{background-color:rgba(248.6666666666, 255, 235.9999999999, 0.5);}#my-svg .node .neo-node{stroke:#9370DB;}#my-svg [data-look="neo"].node rect,#my-svg [data-look="neo"].cluster rect,#my-svg [data-look="neo"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].node path{stroke:#9370DB;stroke-width:1px;}#my-svg [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].node .neo-line path{stroke:#9370DB;filter:none;}#my-svg [data-look="neo"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].node circle .state-start{fill:#000000;}#my-svg [data-look="neo"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><defs><marker id="my-svg_er-onlyOneStart" class="marker onlyOne er" refX="0" refY="9" markerWidth="18" markerHeight="18" orient="auto"><path d="M9,0 L9,18 M15,0 L15,18"/></marker></defs><defs><marker id="my-svg_er-onlyOneEnd" class="marker onlyOne er" refX="18" refY="9" markerWidth="18" markerHeight="18" orient="auto"><path d="M3,0 L3,18 M9,0 L9,18"/></marker></defs><defs><marker id="my-svg_er-zeroOrOneStart" class="marker zeroOrOne er" refX="0" refY="9" markerWidth="30" markerHeight="18" orient="auto"><circle fill="white" cx="21" cy="9" r="6"/><path d="M9,0 L9,18"/></marker></defs><defs><marker id="my-svg_er-zeroOrOneEnd" class="marker zeroOrOne er" refX="30" refY="9" markerWidth="30" markerHeight="18" orient="auto"><circle fill="white" cx="9" cy="9" r="6"/><path d="M21,0 L21,18"/></marker></defs><defs><marker id="my-svg_er-oneOrMoreStart" class="marker oneOrMore er" refX="18" refY="18" markerWidth="45" markerHeight="36" orient="auto"><path d="M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"/></marker></defs><defs><marker id="my-svg_er-oneOrMoreEnd" class="marker oneOrMore er" refX="27" refY="18" markerWidth="45" markerHeight="36" orient="auto"><path d="M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"/></marker></defs><defs><marker id="my-svg_er-zeroOrMoreStart" class="marker zeroOrMore er" refX="18" refY="18" markerWidth="57" markerHeight="36" orient="auto"><circle fill="white" cx="48" cy="18" r="6"/><path d="M0,18 Q18,0 36,18 Q18,36 0,18"/></marker></defs><defs><marker id="my-svg_er-zeroOrMoreEnd" class="marker zeroOrMore er" refX="39" refY="18" markerWidth="57" markerHeight="36" orient="auto"><circle fill="white" cx="9" cy="18" r="6"/><path d="M21,18 Q39,0 57,18 Q39,36 21,18"/></marker></defs><g class="root"><g class="clusters"/><g class="edgePaths"><path d="M519.691,270.305L505.765,279.837C491.839,289.37,463.986,308.435,450.059,326.384C436.133,344.333,436.133,361.167,436.133,369.583L436.133,378" id="my-svg-id_entity-api_keys-0_entity-api_key_usage-1_0" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-api_keys-0_entity-api_key_usage-1_0" data-points="W3sieCI6NTE5LjY5MTQwNjI1LCJ5IjoyNzAuMzA0ODEyODM0MjI0Nn0seyJ4Ijo0MzYuMTMyODEyNSwieSI6MzI3LjV9LHsieCI6NDM2LjEzMjgxMjUsInkiOjM3OH1d" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M622.848,270.305L636.774,279.837C650.701,289.37,678.553,308.435,692.48,326.384C706.406,344.333,706.406,361.167,706.406,369.583L706.406,378" id="my-svg-id_entity-api_keys-0_entity-rate_limits-2_1" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-api_keys-0_entity-rate_limits-2_1" data-points="W3sieCI6NjIyLjg0NzY1NjI1LCJ5IjoyNzAuMzA0ODEyODM0MjI0Nn0seyJ4Ijo3MDYuNDA2MjUsInkiOjMyNy41fSx7IngiOjcwNi40MDYyNSwieSI6Mzc4fV0=" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M115.156,92L115.156,100.417C115.156,108.833,115.156,125.667,115.156,142.5C115.156,159.333,115.156,176.167,115.156,184.583L115.156,193" id="my-svg-id_entity-providers-3_entity-provider_connections-4_2" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-providers-3_entity-provider_connections-4_2" data-points="W3sieCI6MTE1LjE1NjI1LCJ5Ijo5Mn0seyJ4IjoxMTUuMTU2MjUsInkiOjE0Mi41fSx7IngiOjExNS4xNTYyNSwieSI6MTkzfV0=" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M115.156,277L115.156,285.417C115.156,293.833,115.156,310.667,115.156,327.5C115.156,344.333,115.156,361.167,115.156,369.583L115.156,378" id="my-svg-id_entity-provider_connections-4_entity-domain_circuit_breakers-5_3" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-provider_connections-4_entity-domain_circuit_breakers-5_3" data-points="W3sieCI6MTE1LjE1NjI1LCJ5IjoyNzd9LHsieCI6MTE1LjE1NjI1LCJ5IjozMjcuNX0seyJ4IjoxMTUuMTU2MjUsInkiOjM3OH1d" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M1051.488,80.871L1034.852,91.143C1018.216,101.414,984.944,121.957,968.308,140.645C951.672,159.333,951.672,176.167,951.672,184.583L951.672,193" id="my-svg-id_entity-combos-6_entity-combo_targets-7_4" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-combos-6_entity-combo_targets-7_4" data-points="W3sieCI6MTA1MS40ODgyODEyNSwieSI6ODAuODcxMTE4Mjk1ODMwODR9LHsieCI6OTUxLjY3MTg3NSwieSI6MTQyLjV9LHsieCI6OTUxLjY3MTg3NSwieSI6MTkzfV0=" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M1151.488,80.871L1168.124,91.143C1184.76,101.414,1218.033,121.957,1234.669,140.645C1251.305,159.333,1251.305,176.167,1251.305,184.583L1251.305,193" id="my-svg-id_entity-combos-6_entity-combo_executions-8_5" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-combos-6_entity-combo_executions-8_5" data-points="W3sieCI6MTE1MS40ODgyODEyNSwieSI6ODAuODcxMTE4Mjk1ODMwODR9LHsieCI6MTI1MS4zMDQ2ODc1LCJ5IjoxNDIuNX0seyJ4IjoxMjUxLjMwNDY4NzUsInkiOjE5M31d" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M1570.523,92L1570.523,100.417C1570.523,108.833,1570.523,125.667,1570.523,142.5C1570.523,159.333,1570.523,176.167,1570.523,184.583L1570.523,193" id="my-svg-id_entity-spend_buffer-9_entity-usage_aggregations-10_6" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-spend_buffer-9_entity-usage_aggregations-10_6" data-points="W3sieCI6MTU3MC41MjM0Mzc1LCJ5Ijo5Mn0seyJ4IjoxNTcwLjUyMzQzNzUsInkiOjE0Mi41fSx7IngiOjE1NzAuNTIzNDM3NSwieSI6MTkzfV0=" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M1881.719,92L1881.719,100.417C1881.719,108.833,1881.719,125.667,1881.719,142.5C1881.719,159.333,1881.719,176.167,1881.719,184.583L1881.719,193" id="my-svg-id_entity-memory_documents-11_entity-memory_chunks-12_7" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-memory_documents-11_entity-memory_chunks-12_7" data-points="W3sieCI6MTg4MS43MTg3NSwieSI6OTJ9LHsieCI6MTg4MS43MTg3NSwieSI6MTQyLjV9LHsieCI6MTg4MS43MTg3NSwieSI6MTkzfV0=" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M2171.539,92L2171.539,100.417C2171.539,108.833,2171.539,125.667,2171.539,142.5C2171.539,159.333,2171.539,176.167,2171.539,184.583L2171.539,193" id="my-svg-id_entity-skills_runs-13_entity-skills_logs-14_8" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-skills_runs-13_entity-skills_logs-14_8" data-points="W3sieCI6MjE3MS41MzkwNjI1LCJ5Ijo5Mn0seyJ4IjoyMTcxLjUzOTA2MjUsInkiOjE0Mi41fSx7IngiOjIxNzEuNTM5MDYyNSwieSI6MTkzfV0=" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M2455.164,92L2455.164,100.417C2455.164,108.833,2455.164,125.667,2455.164,142.5C2455.164,159.333,2455.164,176.167,2455.164,184.583L2455.164,193" id="my-svg-id_entity-agent_tasks-15_entity-agent_task_events-16_9" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-agent_tasks-15_entity-agent_task_events-16_9" data-points="W3sieCI6MjQ1NS4xNjQwNjI1LCJ5Ijo5Mn0seyJ4IjoyNDU1LjE2NDA2MjUsInkiOjE0Mi41fSx7IngiOjI0NTUuMTY0MDYyNSwieSI6MTkzfV0=" data-look="classic" marker-start="url(#my-svg_er-onlyOneStart)" marker-end="url(#my-svg_er-zeroOrMoreEnd)"/><path d="M398.336,92L398.336,100.417C398.336,108.833,398.336,125.667,418.562,144.902C438.788,164.137,479.24,185.774,499.465,196.593L519.691,207.412" id="my-svg-id_entity-audit_log-17_entity-api_keys-0_10" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-audit_log-17_entity-api_keys-0_10" data-points="W3sieCI6Mzk4LjMzNTkzNzUsInkiOjkyfSx7IngiOjM5OC4zMzU5Mzc1LCJ5IjoxNDIuNX0seyJ4Ijo1MTkuNjkxNDA2MjUsInkiOjIwNy40MTE1MTA5MjEzNzA2NX1d" data-look="classic" marker-start="url(#my-svg_er-oneOrMoreStart)" marker-end="url(#my-svg_er-onlyOneEnd)"/><path d="M695.965,92L695.965,100.417C695.965,108.833,695.965,125.667,683.779,143.123C671.592,160.58,647.22,178.659,635.034,187.699L622.848,196.739" id="my-svg-id_entity-mcp_audit-18_entity-api_keys-0_11" class="edge-thickness-normal edge-pattern-solid relationshipLine" style="undefined;;;undefined" data-edge="true" data-et="edge" data-id="id_entity-mcp_audit-18_entity-api_keys-0_11" data-points="W3sieCI6Njk1Ljk2NDg0Mzc1LCJ5Ijo5Mn0seyJ4Ijo2OTUuOTY0ODQzNzUsInkiOjE0Mi41fSx7IngiOjYyMi44NDc2NTYyNSwieSI6MTk2LjczODkyNjEzMjQ0NzgzfV0=" data-look="classic" marker-start="url(#my-svg_er-oneOrMoreStart)" marker-end="url(#my-svg_er-onlyOneEnd)"/></g><g class="edgeLabels"><g class="edgeLabel" transform="translate(436.1328125, 327.5)"><g class="label" data-id="id_entity-api_keys-0_entity-api_key_usage-1_0" transform="translate(-18.671875, -10.5)"><foreignObject width="37.34375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>tracks</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(706.40625, 327.5)"><g class="label" data-id="id_entity-api_keys-0_entity-rate_limits-2_1" transform="translate(-26.8515625, -10.5)"><foreignObject width="53.703125" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>enforces</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(115.15625, 142.5)"><g class="label" data-id="id_entity-providers-3_entity-provider_connections-4_2" transform="translate(-16.734375, -10.5)"><foreignObject width="33.46875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>holds</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(115.15625, 327.5)"><g class="label" data-id="id_entity-provider_connections-4_entity-domain_circuit_breakers-5_3" transform="translate(-40.4765625, -10.5)"><foreignObject width="80.953125" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>protected_by</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(951.671875, 142.5)"><g class="label" data-id="id_entity-combos-6_entity-combo_targets-7_4" transform="translate(-26.078125, -10.5)"><foreignObject width="52.15625" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>contains</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1251.3046875, 142.5)"><g class="label" data-id="id_entity-combos-6_entity-combo_executions-8_5" transform="translate(-12.84375, -10.5)"><foreignObject width="25.6875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>logs</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1570.5234375, 142.5)"><g class="label" data-id="id_entity-spend_buffer-9_entity-usage_aggregations-10_6" transform="translate(-32.3046875, -10.5)"><foreignObject width="64.609375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>flushed_to</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1881.71875, 142.5)"><g class="label" data-id="id_entity-memory_documents-11_entity-memory_chunks-12_7" transform="translate(-27.6328125, -10.5)"><foreignObject width="55.265625" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>split_into</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(2171.5390625, 142.5)"><g class="label" data-id="id_entity-skills_runs-13_entity-skills_logs-14_8" transform="translate(-29.1953125, -10.5)"><foreignObject width="58.390625" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>produced</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(2455.1640625, 142.5)"><g class="label" data-id="id_entity-agent_tasks-15_entity-agent_task_events-16_9" transform="translate(-24.8984375, -10.5)"><foreignObject width="49.796875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>streams</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(398.3359375, 142.5)"><g class="label" data-id="id_entity-audit_log-17_entity-api_keys-0_10" transform="translate(-7.3984375, -10.5)"><foreignObject width="14.796875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>by</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(695.96484375, 142.5)"><g class="label" data-id="id_entity-mcp_audit-18_entity-api_keys-0_11" transform="translate(-7.3984375, -10.5)"><foreignObject width="14.796875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>by</p></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="my-svg-entity-api_keys-0" data-look="classic" transform="translate(571.26953125, 235)"><rect class="basic label-container" style="" x="-51.578125" y="-42" width="103.15625" height="84"/><g class="label" style="" transform="translate(-31.578125, -12)"><rect/><foreignObject width="63.15625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>api_keys</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-api_key_usage-1" data-look="classic" transform="translate(436.1328125, 420)"><rect class="basic label-container" style="" x="-73.8203125" y="-42" width="147.640625" height="84"/><g class="label" style="" transform="translate(-53.8203125, -12)"><rect/><foreignObject width="107.640625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>api_key_usage</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-rate_limits-2" data-look="classic" transform="translate(706.40625, 420)"><rect class="basic label-container" style="" x="-56.453125" y="-42" width="112.90625" height="84"/><g class="label" style="" transform="translate(-36.453125, -12)"><rect/><foreignObject width="72.90625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>rate_limits</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-providers-3" data-look="classic" transform="translate(115.15625, 50)"><rect class="basic label-container" style="" x="-52.90625" y="-42" width="105.8125" height="84"/><g class="label" style="" transform="translate(-32.90625, -12)"><rect/><foreignObject width="65.8125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>providers</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-provider_connections-4" data-look="classic" transform="translate(115.15625, 235)"><rect class="basic label-container" style="" x="-96.046875" y="-42" width="192.09375" height="84"/><g class="label" style="" transform="translate(-76.046875, -12)"><rect/><foreignObject width="152.09375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>provider_connections</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-domain_circuit_breakers-5" data-look="classic" transform="translate(115.15625, 420)"><rect class="basic label-container" style="" x="-107.15625" y="-42" width="214.3125" height="84"/><g class="label" style="" transform="translate(-87.15625, -12)"><rect/><foreignObject width="174.3125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>domain_circuit_breakers</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-combos-6" data-look="classic" transform="translate(1101.48828125, 50)"><rect class="basic label-container" style="" x="-50" y="-42" width="100" height="84"/><g class="label" style="" transform="translate(-28.015625, -12)"><rect/><foreignObject width="56.03125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 100px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>combos</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-combo_targets-7" data-look="classic" transform="translate(951.671875, 235)"><rect class="basic label-container" style="" x="-72.921875" y="-42" width="145.84375" height="84"/><g class="label" style="" transform="translate(-52.921875, -12)"><rect/><foreignObject width="105.84375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>combo_targets</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-combo_executions-8" data-look="classic" transform="translate(1251.3046875, 235)"><rect class="basic label-container" style="" x="-86.7109375" y="-42" width="173.421875" height="84"/><g class="label" style="" transform="translate(-66.7109375, -12)"><rect/><foreignObject width="133.421875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>combo_executions</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-spend_buffer-9" data-look="classic" transform="translate(1570.5234375, 50)"><rect class="basic label-container" style="" x="-66.5625" y="-42" width="133.125" height="84"/><g class="label" style="" transform="translate(-46.5625, -12)"><rect/><foreignObject width="93.125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>spend_buffer</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-usage_aggregations-10" data-look="classic" transform="translate(1570.5234375, 235)"><rect class="basic label-container" style="" x="-92.5078125" y="-42" width="185.015625" height="84"/><g class="label" style="" transform="translate(-72.5078125, -12)"><rect/><foreignObject width="145.015625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>usage_aggregations</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-memory_documents-11" data-look="classic" transform="translate(1881.71875, 50)"><rect class="basic label-container" style="" x="-92.4765625" y="-42" width="184.953125" height="84"/><g class="label" style="" transform="translate(-72.4765625, -12)"><rect/><foreignObject width="144.953125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>memory_documents</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-memory_chunks-12" data-look="classic" transform="translate(1881.71875, 235)"><rect class="basic label-container" style="" x="-78.6875" y="-42" width="157.375" height="84"/><g class="label" style="" transform="translate(-58.6875, -12)"><rect/><foreignObject width="117.375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>memory_chunks</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-skills_runs-13" data-look="classic" transform="translate(2171.5390625, 50)"><rect class="basic label-container" style="" x="-57.34375" y="-42" width="114.6875" height="84"/><g class="label" style="" transform="translate(-37.34375, -12)"><rect/><foreignObject width="74.6875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>skills_runs</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-skills_logs-14" data-look="classic" transform="translate(2171.5390625, 235)"><rect class="basic label-container" style="" x="-56.4609375" y="-42" width="112.921875" height="84"/><g class="label" style="" transform="translate(-36.4609375, -12)"><rect/><foreignObject width="72.921875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>skills_logs</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-agent_tasks-15" data-look="classic" transform="translate(2455.1640625, 50)"><rect class="basic label-container" style="" x="-63.140625" y="-42" width="126.28125" height="84"/><g class="label" style="" transform="translate(-43.140625, -12)"><rect/><foreignObject width="86.28125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>agent_tasks</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-agent_task_events-16" data-look="classic" transform="translate(2455.1640625, 235)"><rect class="basic label-container" style="" x="-87.1640625" y="-42" width="174.328125" height="84"/><g class="label" style="" transform="translate(-67.1640625, -12)"><rect/><foreignObject width="134.328125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>agent_task_events</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-audit_log-17" data-look="classic" transform="translate(398.3359375, 50)"><rect class="basic label-container" style="" x="-52.4765625" y="-42" width="104.953125" height="84"/><g class="label" style="" transform="translate(-32.4765625, -12)"><rect/><foreignObject width="64.953125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>audit_log</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-entity-mcp_audit-18" data-look="classic" transform="translate(695.96484375, 50)"><rect class="basic label-container" style="" x="-56.9140625" y="-42" width="113.828125" height="84"/><g class="label" style="" transform="translate(-36.9140625, -12)"><rect/><foreignObject width="73.828125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel markdown-node-label"><p>mcp_audit</p></span></div></foreignObject></g></g></g></g></g><defs><filter id="my-svg-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"/></filter></defs><defs><filter id="my-svg-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"/></filter></defs></svg>