Graphify / images /cm2.svg
ZahirJS's picture
Upload 8 files
b929261 verified
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: ConceptMap Pages: 1 -->
<svg width="1607pt" height="671pt"
viewBox="0.00 0.00 1606.50 671.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 635)">
<title>ConceptMap</title>
<polygon fill="white" stroke="transparent" points="-36,36 -36,-635 1570.5,-635 1570.5,36 -36,36"/>
<!-- central -->
<g id="node1" class="node">
<title>central</title>
<path fill="#19191a" stroke="black" d="M831.5,-599C831.5,-599 587.5,-599 587.5,-599 581.5,-599 575.5,-593 575.5,-587 575.5,-587 575.5,-575 575.5,-575 575.5,-569 581.5,-563 587.5,-563 587.5,-563 831.5,-563 831.5,-563 837.5,-563 843.5,-569 843.5,-575 843.5,-575 843.5,-587 843.5,-587 843.5,-593 837.5,-599 831.5,-599"/>
<text text-anchor="middle" x="709.5" y="-577.2" font-family="Times,serif" font-size="16.00" fill="white">Model Context Protocol (MCP)</text>
</g>
<!-- communication_layer -->
<g id="node2" class="node">
<title>communication_layer</title>
<path fill="#343435" stroke="black" d="M411,-517C411,-517 284,-517 284,-517 278,-517 272,-511 272,-505 272,-505 272,-493 272,-493 272,-487 278,-481 284,-481 284,-481 411,-481 411,-481 417,-481 423,-487 423,-493 423,-493 423,-505 423,-505 423,-511 417,-517 411,-517"/>
<text text-anchor="middle" x="347.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Communication Layer</text>
</g>
<!-- central&#45;&gt;communication_layer -->
<g id="edge1" class="edge">
<title>central&#45;&gt;communication_layer</title>
<path fill="none" stroke="#4a4a4a" d="M575.48,-581C472.41,-581 347.5,-581 347.5,-581 347.5,-581 347.5,-527.2 347.5,-527.2"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="351,-527.2 347.5,-517.2 344,-527.2 351,-527.2"/>
<text text-anchor="middle" x="451.5" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">establishes</text>
</g>
<!-- resource_management -->
<g id="node8" class="node">
<title>resource_management</title>
<path fill="#343435" stroke="black" d="M608,-517C608,-517 477,-517 477,-517 471,-517 465,-511 465,-505 465,-505 465,-493 465,-493 465,-487 471,-481 477,-481 477,-481 608,-481 608,-481 614,-481 620,-487 620,-493 620,-493 620,-505 620,-505 620,-511 614,-517 608,-517"/>
<text text-anchor="middle" x="542.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Resource Management</text>
</g>
<!-- central&#45;&gt;resource_management -->
<g id="edge7" class="edge">
<title>central&#45;&gt;resource_management</title>
<path fill="none" stroke="#4a4a4a" d="M597.75,-562.8C597.75,-562.8 597.75,-527.15 597.75,-527.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="601.25,-527.15 597.75,-517.15 594.25,-527.15 601.25,-527.15"/>
<text text-anchor="middle" x="618" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">handles</text>
</g>
<!-- context_integration -->
<g id="node18" class="node">
<title>context_integration</title>
<path fill="#343435" stroke="black" d="M764.5,-517C764.5,-517 654.5,-517 654.5,-517 648.5,-517 642.5,-511 642.5,-505 642.5,-505 642.5,-493 642.5,-493 642.5,-487 648.5,-481 654.5,-481 654.5,-481 764.5,-481 764.5,-481 770.5,-481 776.5,-487 776.5,-493 776.5,-493 776.5,-505 776.5,-505 776.5,-511 770.5,-517 764.5,-517"/>
<text text-anchor="middle" x="709.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Context Integration</text>
</g>
<!-- central&#45;&gt;context_integration -->
<g id="edge17" class="edge">
<title>central&#45;&gt;context_integration</title>
<path fill="none" stroke="#4a4a4a" d="M709.5,-562.8C709.5,-562.8 709.5,-527.15 709.5,-527.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="713,-527.15 709.5,-517.15 706,-527.15 713,-527.15"/>
<text text-anchor="middle" x="732.5" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">facilitates</text>
</g>
<!-- security_framework -->
<g id="node25" class="node">
<title>security_framework</title>
<path fill="#343435" stroke="black" d="M990.5,-517C990.5,-517 872.5,-517 872.5,-517 866.5,-517 860.5,-511 860.5,-505 860.5,-505 860.5,-493 860.5,-493 860.5,-487 866.5,-481 872.5,-481 872.5,-481 990.5,-481 990.5,-481 996.5,-481 1002.5,-487 1002.5,-493 1002.5,-493 1002.5,-505 1002.5,-505 1002.5,-511 996.5,-517 990.5,-517"/>
<text text-anchor="middle" x="931.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Security Framework</text>
</g>
<!-- central&#45;&gt;security_framework -->
<g id="edge24" class="edge">
<title>central&#45;&gt;security_framework</title>
<path fill="none" stroke="#4a4a4a" d="M823.5,-562.8C823.5,-538.64 823.5,-499 823.5,-499 823.5,-499 850.37,-499 850.37,-499"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="850.37,-502.5 860.37,-499 850.37,-495.5 850.37,-502.5"/>
<text text-anchor="middle" x="921.5" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">implements</text>
</g>
<!-- extensibility_model -->
<g id="node32" class="node">
<title>extensibility_model</title>
<path fill="#343435" stroke="black" d="M1312.5,-517C1312.5,-517 1204.5,-517 1204.5,-517 1198.5,-517 1192.5,-511 1192.5,-505 1192.5,-505 1192.5,-493 1192.5,-493 1192.5,-487 1198.5,-481 1204.5,-481 1204.5,-481 1312.5,-481 1312.5,-481 1318.5,-481 1324.5,-487 1324.5,-493 1324.5,-493 1324.5,-505 1324.5,-505 1324.5,-511 1318.5,-517 1312.5,-517"/>
<text text-anchor="middle" x="1258.5" y="-495.9" font-family="Times,serif" font-size="12.00" fill="white">Extensibility Model</text>
</g>
<!-- central&#45;&gt;extensibility_model -->
<g id="edge31" class="edge">
<title>central&#45;&gt;extensibility_model</title>
<path fill="none" stroke="#4a4a4a" d="M843.8,-581C1006.33,-581 1258.5,-581 1258.5,-581 1258.5,-581 1258.5,-527.2 1258.5,-527.2"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1262,-527.2 1258.5,-517.2 1255,-527.2 1262,-527.2"/>
<text text-anchor="middle" x="1135" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">supports</text>
</g>
<!-- bidirectional_messaging -->
<g id="node3" class="node">
<title>bidirectional_messaging</title>
<path fill="#505050" stroke="black" d="M214.5,-436C214.5,-436 98.5,-436 98.5,-436 92.5,-436 86.5,-430 86.5,-424 86.5,-424 86.5,-412 86.5,-412 86.5,-406 92.5,-400 98.5,-400 98.5,-400 214.5,-400 214.5,-400 220.5,-400 226.5,-406 226.5,-412 226.5,-412 226.5,-424 226.5,-424 226.5,-430 220.5,-436 214.5,-436"/>
<text text-anchor="middle" x="156.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Bidirectional Messaging</text>
</g>
<!-- communication_layer&#45;&gt;bidirectional_messaging -->
<g id="edge2" class="edge">
<title>communication_layer&#45;&gt;bidirectional_messaging</title>
<path fill="none" stroke="#4a4a4a" d="M298,-480.84C298,-458.65 298,-424 298,-424 298,-424 236.84,-424 236.84,-424"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="236.84,-420.5 226.84,-424 236.84,-427.5 236.84,-420.5"/>
<text text-anchor="middle" x="315" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">enables</text>
</g>
<!-- request_response_pattern -->
<g id="node4" class="node">
<title>request_response_pattern</title>
<path fill="#6b6b6c" stroke="black" d="M131.5,-356C131.5,-356 17.5,-356 17.5,-356 11.5,-356 5.5,-350 5.5,-344 5.5,-344 5.5,-332 5.5,-332 5.5,-326 11.5,-320 17.5,-320 17.5,-320 131.5,-320 131.5,-320 137.5,-320 143.5,-326 143.5,-332 143.5,-332 143.5,-344 143.5,-344 143.5,-350 137.5,-356 131.5,-356"/>
<text text-anchor="middle" x="74.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Request&#45;Response Pattern</text>
</g>
<!-- bidirectional_messaging&#45;&gt;request_response_pattern -->
<g id="edge3" class="edge">
<title>bidirectional_messaging&#45;&gt;request_response_pattern</title>
<path fill="none" stroke="#4a4a4a" d="M115,-399.85C115,-399.85 115,-366.08 115,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="118.5,-366.08 115,-356.08 111.5,-366.08 118.5,-366.08"/>
<text text-anchor="middle" x="126.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">follows</text>
</g>
<!-- json_rpc_protocol -->
<g id="node5" class="node">
<title>json_rpc_protocol</title>
<path fill="#878787" stroke="black" d="M115.5,-276C115.5,-276 33.5,-276 33.5,-276 27.5,-276 21.5,-270 21.5,-264 21.5,-264 21.5,-252 21.5,-252 21.5,-246 27.5,-240 33.5,-240 33.5,-240 115.5,-240 115.5,-240 121.5,-240 127.5,-246 127.5,-252 127.5,-252 127.5,-264 127.5,-264 127.5,-270 121.5,-276 115.5,-276"/>
<text text-anchor="middle" x="74.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">JSON&#45;RPC Protocol</text>
</g>
<!-- request_response_pattern&#45;&gt;json_rpc_protocol -->
<g id="edge4" class="edge">
<title>request_response_pattern&#45;&gt;json_rpc_protocol</title>
<path fill="none" stroke="#4a4a4a" d="M74.5,-319.85C74.5,-319.85 74.5,-286.08 74.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="78,-286.08 74.5,-276.08 71,-286.08 78,-286.08"/>
<text text-anchor="middle" x="83" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">uses</text>
</g>
<!-- standardized_format -->
<g id="node6" class="node">
<title>standardized_format</title>
<path fill="#a3a3a3" stroke="black" d="M119.5,-196C119.5,-196 29.5,-196 29.5,-196 23.5,-196 17.5,-190 17.5,-184 17.5,-184 17.5,-172 17.5,-172 17.5,-166 23.5,-160 29.5,-160 29.5,-160 119.5,-160 119.5,-160 125.5,-160 131.5,-166 131.5,-172 131.5,-172 131.5,-184 131.5,-184 131.5,-190 125.5,-196 119.5,-196"/>
<text text-anchor="middle" x="74.5" y="-175.8" font-family="Times,serif" font-size="9.00">Standardized Format</text>
</g>
<!-- json_rpc_protocol&#45;&gt;standardized_format -->
<g id="edge5" class="edge">
<title>json_rpc_protocol&#45;&gt;standardized_format</title>
<path fill="none" stroke="#4a4a4a" d="M74.5,-239.85C74.5,-239.85 74.5,-206.08 74.5,-206.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="78,-206.08 74.5,-196.08 71,-206.08 78,-206.08"/>
<text text-anchor="middle" x="89" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">ensures</text>
</g>
<!-- cross_platform_compatibility -->
<g id="node7" class="node">
<title>cross_platform_compatibility</title>
<path fill="#bebebe" stroke="black" d="M137,-116C137,-116 12,-116 12,-116 6,-116 0,-110 0,-104 0,-104 0,-92 0,-92 0,-86 6,-80 12,-80 12,-80 137,-80 137,-80 143,-80 149,-86 149,-92 149,-92 149,-104 149,-104 149,-110 143,-116 137,-116"/>
<text text-anchor="middle" x="74.5" y="-95.8" font-family="Times,serif" font-size="9.00">Cross&#45;Platform Compatibility</text>
</g>
<!-- standardized_format&#45;&gt;cross_platform_compatibility -->
<g id="edge6" class="edge">
<title>standardized_format&#45;&gt;cross_platform_compatibility</title>
<path fill="none" stroke="#4a4a4a" d="M74.5,-159.85C74.5,-159.85 74.5,-126.08 74.5,-126.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="78,-126.08 74.5,-116.08 71,-126.08 78,-126.08"/>
<text text-anchor="middle" x="90" y="-136.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">provides</text>
</g>
<!-- server_capabilities -->
<g id="node9" class="node">
<title>server_capabilities</title>
<path fill="#505050" stroke="black" d="M425,-436C425,-436 336,-436 336,-436 330,-436 324,-430 324,-424 324,-424 324,-412 324,-412 324,-406 330,-400 336,-400 336,-400 425,-400 425,-400 431,-400 437,-406 437,-412 437,-412 437,-424 437,-424 437,-430 431,-436 425,-436"/>
<text text-anchor="middle" x="380.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Server Capabilities</text>
</g>
<!-- resource_management&#45;&gt;server_capabilities -->
<g id="edge8" class="edge">
<title>resource_management&#45;&gt;server_capabilities</title>
<path fill="none" stroke="#4a4a4a" d="M471.25,-480.62C471.25,-456.72 471.25,-418 471.25,-418 471.25,-418 447.2,-418 447.2,-418"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="447.2,-414.5 437.2,-418 447.2,-421.5 447.2,-414.5"/>
<text text-anchor="middle" x="473" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">defines</text>
</g>
<!-- client_requests -->
<g id="node13" class="node">
<title>client_requests</title>
<path fill="#505050" stroke="black" d="M579,-436C579,-436 506,-436 506,-436 500,-436 494,-430 494,-424 494,-424 494,-412 494,-412 494,-406 500,-400 506,-400 506,-400 579,-400 579,-400 585,-400 591,-406 591,-412 591,-412 591,-424 591,-424 591,-430 585,-436 579,-436"/>
<text text-anchor="middle" x="542.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Client Requests</text>
</g>
<!-- resource_management&#45;&gt;client_requests -->
<g id="edge12" class="edge">
<title>resource_management&#45;&gt;client_requests</title>
<path fill="none" stroke="#4a4a4a" d="M542.5,-480.62C542.5,-480.62 542.5,-446.03 542.5,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="546,-446.03 542.5,-436.03 539,-446.03 546,-446.03"/>
<text text-anchor="middle" x="562" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">processes</text>
</g>
<!-- tools_registry -->
<g id="node10" class="node">
<title>tools_registry</title>
<path fill="#6b6b6c" stroke="black" d="M231.5,-356C231.5,-356 173.5,-356 173.5,-356 167.5,-356 161.5,-350 161.5,-344 161.5,-344 161.5,-332 161.5,-332 161.5,-326 167.5,-320 173.5,-320 173.5,-320 231.5,-320 231.5,-320 237.5,-320 243.5,-326 243.5,-332 243.5,-332 243.5,-344 243.5,-344 243.5,-350 237.5,-356 231.5,-356"/>
<text text-anchor="middle" x="202.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Tools Registry</text>
</g>
<!-- server_capabilities&#45;&gt;tools_registry -->
<g id="edge9" class="edge">
<title>server_capabilities&#45;&gt;tools_registry</title>
<path fill="none" stroke="#4a4a4a" d="M323.83,-412C282.98,-412 235,-412 235,-412 235,-412 235,-366.29 235,-366.29"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="238.5,-366.29 235,-356.29 231.5,-366.29 238.5,-366.29"/>
<text text-anchor="middle" x="221" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">maintains</text>
</g>
<!-- resource_catalog -->
<g id="node11" class="node">
<title>resource_catalog</title>
<path fill="#6b6b6c" stroke="black" d="M347.5,-356C347.5,-356 273.5,-356 273.5,-356 267.5,-356 261.5,-350 261.5,-344 261.5,-344 261.5,-332 261.5,-332 261.5,-326 267.5,-320 273.5,-320 273.5,-320 347.5,-320 347.5,-320 353.5,-320 359.5,-326 359.5,-332 359.5,-332 359.5,-344 359.5,-344 359.5,-350 353.5,-356 347.5,-356"/>
<text text-anchor="middle" x="310.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Resource Catalog</text>
</g>
<!-- server_capabilities&#45;&gt;resource_catalog -->
<g id="edge10" class="edge">
<title>server_capabilities&#45;&gt;resource_catalog</title>
<path fill="none" stroke="#4a4a4a" d="M341.75,-399.85C341.75,-399.85 341.75,-366.08 341.75,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="345.25,-366.08 341.75,-356.08 338.25,-366.08 345.25,-366.08"/>
<text text-anchor="middle" x="327.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">manages</text>
</g>
<!-- prompt_templates -->
<g id="node12" class="node">
<title>prompt_templates</title>
<path fill="#6b6b6c" stroke="black" d="M465.5,-356C465.5,-356 389.5,-356 389.5,-356 383.5,-356 377.5,-350 377.5,-344 377.5,-344 377.5,-332 377.5,-332 377.5,-326 383.5,-320 389.5,-320 389.5,-320 465.5,-320 465.5,-320 471.5,-320 477.5,-326 477.5,-332 477.5,-332 477.5,-344 477.5,-344 477.5,-350 471.5,-356 465.5,-356"/>
<text text-anchor="middle" x="427.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Prompt Templates</text>
</g>
<!-- server_capabilities&#45;&gt;prompt_templates -->
<g id="edge11" class="edge">
<title>server_capabilities&#45;&gt;prompt_templates</title>
<path fill="none" stroke="#4a4a4a" d="M407.25,-399.85C407.25,-399.85 407.25,-366.08 407.25,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="410.75,-366.08 407.25,-356.08 403.75,-366.08 410.75,-366.08"/>
<text text-anchor="middle" x="443" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">provides</text>
</g>
<!-- tool_invocation -->
<g id="node14" class="node">
<title>tool_invocation</title>
<path fill="#6b6b6c" stroke="black" d="M571,-356C571,-356 508,-356 508,-356 502,-356 496,-350 496,-344 496,-344 496,-332 496,-332 496,-326 502,-320 508,-320 508,-320 571,-320 571,-320 577,-320 583,-326 583,-332 583,-332 583,-344 583,-344 583,-350 577,-356 571,-356"/>
<text text-anchor="middle" x="539.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Tool Invocation</text>
</g>
<!-- client_requests&#45;&gt;tool_invocation -->
<g id="edge13" class="edge">
<title>client_requests&#45;&gt;tool_invocation</title>
<path fill="none" stroke="#4a4a4a" d="M539.5,-399.85C539.5,-399.85 539.5,-366.08 539.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="543,-366.08 539.5,-356.08 536,-366.08 543,-366.08"/>
<text text-anchor="middle" x="557" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">executes</text>
</g>
<!-- resource_access -->
<g id="node16" class="node">
<title>resource_access</title>
<path fill="#6b6b6c" stroke="black" d="M683.5,-356C683.5,-356 613.5,-356 613.5,-356 607.5,-356 601.5,-350 601.5,-344 601.5,-344 601.5,-332 601.5,-332 601.5,-326 607.5,-320 613.5,-320 613.5,-320 683.5,-320 683.5,-320 689.5,-320 695.5,-326 695.5,-332 695.5,-332 695.5,-344 695.5,-344 695.5,-350 689.5,-356 683.5,-356"/>
<text text-anchor="middle" x="648.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Resource Access</text>
</g>
<!-- client_requests&#45;&gt;resource_access -->
<g id="edge15" class="edge">
<title>client_requests&#45;&gt;resource_access</title>
<path fill="none" stroke="#4a4a4a" d="M587,-399.85C587,-376.24 587,-338 587,-338 587,-338 591.26,-338 591.26,-338"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="591.26,-341.5 601.26,-338 591.26,-334.5 591.26,-341.5"/>
<text text-anchor="middle" x="637.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">controls</text>
</g>
<!-- parameter_validation -->
<g id="node15" class="node">
<title>parameter_validation</title>
<path fill="#878787" stroke="black" d="M566.5,-276C566.5,-276 476.5,-276 476.5,-276 470.5,-276 464.5,-270 464.5,-264 464.5,-264 464.5,-252 464.5,-252 464.5,-246 470.5,-240 476.5,-240 476.5,-240 566.5,-240 566.5,-240 572.5,-240 578.5,-246 578.5,-252 578.5,-252 578.5,-264 578.5,-264 578.5,-270 572.5,-276 566.5,-276"/>
<text text-anchor="middle" x="521.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">Parameter Validation</text>
</g>
<!-- tool_invocation&#45;&gt;parameter_validation -->
<g id="edge14" class="edge">
<title>tool_invocation&#45;&gt;parameter_validation</title>
<path fill="none" stroke="#4a4a4a" d="M537.25,-319.85C537.25,-319.85 537.25,-286.08 537.25,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="540.75,-286.08 537.25,-276.08 533.75,-286.08 540.75,-286.08"/>
<text text-anchor="middle" x="538" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">performs</text>
</g>
<!-- permission_system -->
<g id="node17" class="node">
<title>permission_system</title>
<path fill="#878787" stroke="black" d="M688,-276C688,-276 609,-276 609,-276 603,-276 597,-270 597,-264 597,-264 597,-252 597,-252 597,-246 603,-240 609,-240 609,-240 688,-240 688,-240 694,-240 700,-246 700,-252 700,-252 700,-264 700,-264 700,-270 694,-276 688,-276"/>
<text text-anchor="middle" x="648.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">Permission System</text>
</g>
<!-- resource_access&#45;&gt;permission_system -->
<g id="edge16" class="edge">
<title>resource_access&#45;&gt;permission_system</title>
<path fill="none" stroke="#4a4a4a" d="M648.5,-319.85C648.5,-319.85 648.5,-286.08 648.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="652,-286.08 648.5,-276.08 645,-286.08 652,-286.08"/>
<text text-anchor="middle" x="664" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">enforces</text>
</g>
<!-- dynamic_context_injection -->
<g id="node19" class="node">
<title>dynamic_context_injection</title>
<path fill="#505050" stroke="black" d="M773.5,-436C773.5,-436 645.5,-436 645.5,-436 639.5,-436 633.5,-430 633.5,-424 633.5,-424 633.5,-412 633.5,-412 633.5,-406 639.5,-400 645.5,-400 645.5,-400 773.5,-400 773.5,-400 779.5,-400 785.5,-406 785.5,-412 785.5,-412 785.5,-424 785.5,-424 785.5,-430 779.5,-436 773.5,-436"/>
<text text-anchor="middle" x="709.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Dynamic Context Injection</text>
</g>
<!-- context_integration&#45;&gt;dynamic_context_injection -->
<g id="edge18" class="edge">
<title>context_integration&#45;&gt;dynamic_context_injection</title>
<path fill="none" stroke="#4a4a4a" d="M709.5,-480.62C709.5,-480.62 709.5,-446.03 709.5,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="713,-446.03 709.5,-436.03 706,-446.03 713,-446.03"/>
<text text-anchor="middle" x="727" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">supports</text>
</g>
<!-- real_time_data -->
<g id="node20" class="node">
<title>real_time_data</title>
<path fill="#6b6b6c" stroke="black" d="M787,-356C787,-356 726,-356 726,-356 720,-356 714,-350 714,-344 714,-344 714,-332 714,-332 714,-326 720,-320 726,-320 726,-320 787,-320 787,-320 793,-320 799,-326 799,-332 799,-332 799,-344 799,-344 799,-350 793,-356 787,-356"/>
<text text-anchor="middle" x="756.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Real&#45;time Data</text>
</g>
<!-- dynamic_context_injection&#45;&gt;real_time_data -->
<g id="edge19" class="edge">
<title>dynamic_context_injection&#45;&gt;real_time_data</title>
<path fill="none" stroke="#4a4a4a" d="M749.75,-399.85C749.75,-399.85 749.75,-366.08 749.75,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="753.25,-366.08 749.75,-356.08 746.25,-366.08 753.25,-366.08"/>
<text text-anchor="middle" x="752.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">incorporates</text>
</g>
<!-- live_system_state -->
<g id="node21" class="node">
<title>live_system_state</title>
<path fill="#878787" stroke="black" d="M805,-276C805,-276 730,-276 730,-276 724,-276 718,-270 718,-264 718,-264 718,-252 718,-252 718,-246 724,-240 730,-240 730,-240 805,-240 805,-240 811,-240 817,-246 817,-252 817,-252 817,-264 817,-264 817,-270 811,-276 805,-276"/>
<text text-anchor="middle" x="767.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">Live System State</text>
</g>
<!-- real_time_data&#45;&gt;live_system_state -->
<g id="edge20" class="edge">
<title>real_time_data&#45;&gt;live_system_state</title>
<path fill="none" stroke="#4a4a4a" d="M758.5,-319.85C758.5,-319.85 758.5,-286.08 758.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="762,-286.08 758.5,-276.08 755,-286.08 762,-286.08"/>
<text text-anchor="middle" x="775.5" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">reflects</text>
</g>
<!-- database_queries -->
<g id="node22" class="node">
<title>database_queries</title>
<path fill="#a3a3a3" stroke="black" d="M695.5,-196C695.5,-196 621.5,-196 621.5,-196 615.5,-196 609.5,-190 609.5,-184 609.5,-184 609.5,-172 609.5,-172 609.5,-166 615.5,-160 621.5,-160 621.5,-160 695.5,-160 695.5,-160 701.5,-160 707.5,-166 707.5,-172 707.5,-172 707.5,-184 707.5,-184 707.5,-190 701.5,-196 695.5,-196"/>
<text text-anchor="middle" x="658.5" y="-175.8" font-family="Times,serif" font-size="9.00">Database Queries</text>
</g>
<!-- live_system_state&#45;&gt;database_queries -->
<g id="edge21" class="edge">
<title>live_system_state&#45;&gt;database_queries</title>
<path fill="none" stroke="#4a4a4a" d="M717.9,-258C709.67,-258 703.75,-258 703.75,-258 703.75,-258 703.75,-206.15 703.75,-206.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="707.25,-206.15 703.75,-196.15 700.25,-206.15 707.25,-206.15"/>
<text text-anchor="middle" x="674" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">includes</text>
</g>
<!-- api_responses -->
<g id="node23" class="node">
<title>api_responses</title>
<path fill="#a3a3a3" stroke="black" d="M797.5,-196C797.5,-196 737.5,-196 737.5,-196 731.5,-196 725.5,-190 725.5,-184 725.5,-184 725.5,-172 725.5,-172 725.5,-166 731.5,-160 737.5,-160 737.5,-160 797.5,-160 797.5,-160 803.5,-160 809.5,-166 809.5,-172 809.5,-172 809.5,-184 809.5,-184 809.5,-190 803.5,-196 797.5,-196"/>
<text text-anchor="middle" x="767.5" y="-175.8" font-family="Times,serif" font-size="9.00">API Responses</text>
</g>
<!-- live_system_state&#45;&gt;api_responses -->
<g id="edge22" class="edge">
<title>live_system_state&#45;&gt;api_responses</title>
<path fill="none" stroke="#4a4a4a" d="M767.5,-239.85C767.5,-239.85 767.5,-206.08 767.5,-206.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="771,-206.08 767.5,-196.08 764,-206.08 771,-206.08"/>
<text text-anchor="middle" x="783" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">includes</text>
</g>
<!-- file_system_access -->
<g id="node24" class="node">
<title>file_system_access</title>
<path fill="#a3a3a3" stroke="black" d="M919.5,-196C919.5,-196 839.5,-196 839.5,-196 833.5,-196 827.5,-190 827.5,-184 827.5,-184 827.5,-172 827.5,-172 827.5,-166 833.5,-160 839.5,-160 839.5,-160 919.5,-160 919.5,-160 925.5,-160 931.5,-166 931.5,-172 931.5,-172 931.5,-184 931.5,-184 931.5,-190 925.5,-196 919.5,-196"/>
<text text-anchor="middle" x="879.5" y="-175.8" font-family="Times,serif" font-size="9.00">File System Access</text>
</g>
<!-- live_system_state&#45;&gt;file_system_access -->
<g id="edge23" class="edge">
<title>live_system_state&#45;&gt;file_system_access</title>
<path fill="none" stroke="#4a4a4a" d="M813.25,-239.85C813.25,-216.24 813.25,-178 813.25,-178 813.25,-178 817.3,-178 817.3,-178"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="817.3,-181.5 827.3,-178 817.3,-174.5 817.3,-181.5"/>
<text text-anchor="middle" x="895" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">includes</text>
</g>
<!-- authentication_layer -->
<g id="node26" class="node">
<title>authentication_layer</title>
<path fill="#505050" stroke="black" d="M915.5,-436C915.5,-436 815.5,-436 815.5,-436 809.5,-436 803.5,-430 803.5,-424 803.5,-424 803.5,-412 803.5,-412 803.5,-406 809.5,-400 815.5,-400 815.5,-400 915.5,-400 915.5,-400 921.5,-400 927.5,-406 927.5,-412 927.5,-412 927.5,-424 927.5,-424 927.5,-430 921.5,-436 915.5,-436"/>
<text text-anchor="middle" x="865.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Authentication Layer</text>
</g>
<!-- security_framework&#45;&gt;authentication_layer -->
<g id="edge25" class="edge">
<title>security_framework&#45;&gt;authentication_layer</title>
<path fill="none" stroke="#4a4a4a" d="M894,-480.62C894,-480.62 894,-446.03 894,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="897.5,-446.03 894,-436.03 890.5,-446.03 897.5,-446.03"/>
<text text-anchor="middle" x="905.5" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">provides</text>
</g>
<!-- authorization_controls -->
<g id="node28" class="node">
<title>authorization_controls</title>
<path fill="#505050" stroke="black" d="M1065,-436C1065,-436 958,-436 958,-436 952,-436 946,-430 946,-424 946,-424 946,-412 946,-412 946,-406 952,-400 958,-400 958,-400 1065,-400 1065,-400 1071,-400 1077,-406 1077,-412 1077,-412 1077,-424 1077,-424 1077,-430 1071,-436 1065,-436"/>
<text text-anchor="middle" x="1011.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Authorization Controls</text>
</g>
<!-- security_framework&#45;&gt;authorization_controls -->
<g id="edge27" class="edge">
<title>security_framework&#45;&gt;authorization_controls</title>
<path fill="none" stroke="#4a4a4a" d="M974.25,-480.62C974.25,-480.62 974.25,-446.03 974.25,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="977.75,-446.03 974.25,-436.03 970.75,-446.03 977.75,-446.03"/>
<text text-anchor="middle" x="984.5" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">enforces</text>
</g>
<!-- data_isolation -->
<g id="node30" class="node">
<title>data_isolation</title>
<path fill="#505050" stroke="black" d="M1170,-436C1170,-436 1107,-436 1107,-436 1101,-436 1095,-430 1095,-424 1095,-424 1095,-412 1095,-412 1095,-406 1101,-400 1107,-400 1107,-400 1170,-400 1170,-400 1176,-400 1182,-406 1182,-412 1182,-412 1182,-424 1182,-424 1182,-430 1176,-436 1170,-436"/>
<text text-anchor="middle" x="1138.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Data Isolation</text>
</g>
<!-- security_framework&#45;&gt;data_isolation -->
<g id="edge29" class="edge">
<title>security_framework&#45;&gt;data_isolation</title>
<path fill="none" stroke="#4a4a4a" d="M1002.74,-499C1062.62,-499 1138.5,-499 1138.5,-499 1138.5,-499 1138.5,-446.38 1138.5,-446.38"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1142,-446.38 1138.5,-436.38 1135,-446.38 1142,-446.38"/>
<text text-anchor="middle" x="1097" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">ensures</text>
</g>
<!-- token_based_auth -->
<g id="node27" class="node">
<title>token_based_auth</title>
<path fill="#6b6b6c" stroke="black" d="M904,-356C904,-356 829,-356 829,-356 823,-356 817,-350 817,-344 817,-344 817,-332 817,-332 817,-326 823,-320 829,-320 829,-320 904,-320 904,-320 910,-320 916,-326 916,-332 916,-332 916,-344 916,-344 916,-350 910,-356 904,-356"/>
<text text-anchor="middle" x="866.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Token&#45;based Auth</text>
</g>
<!-- authentication_layer&#45;&gt;token_based_auth -->
<g id="edge26" class="edge">
<title>authentication_layer&#45;&gt;token_based_auth</title>
<path fill="none" stroke="#4a4a4a" d="M866.5,-399.85C866.5,-399.85 866.5,-366.08 866.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="870,-366.08 866.5,-356.08 863,-366.08 870,-366.08"/>
<text text-anchor="middle" x="875" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">uses</text>
</g>
<!-- role_based_access -->
<g id="node29" class="node">
<title>role_based_access</title>
<path fill="#6b6b6c" stroke="black" d="M1050,-356C1050,-356 973,-356 973,-356 967,-356 961,-350 961,-344 961,-344 961,-332 961,-332 961,-326 967,-320 973,-320 973,-320 1050,-320 1050,-320 1056,-320 1062,-326 1062,-332 1062,-332 1062,-344 1062,-344 1062,-350 1056,-356 1050,-356"/>
<text text-anchor="middle" x="1011.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Role&#45;based Access</text>
</g>
<!-- authorization_controls&#45;&gt;role_based_access -->
<g id="edge28" class="edge">
<title>authorization_controls&#45;&gt;role_based_access</title>
<path fill="none" stroke="#4a4a4a" d="M1011.5,-399.85C1011.5,-399.85 1011.5,-366.08 1011.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1015,-366.08 1011.5,-356.08 1008,-366.08 1015,-366.08"/>
<text text-anchor="middle" x="1033" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">implements</text>
</g>
<!-- sandboxed_execution -->
<g id="node31" class="node">
<title>sandboxed_execution</title>
<path fill="#6b6b6c" stroke="black" d="M1185,-356C1185,-356 1092,-356 1092,-356 1086,-356 1080,-350 1080,-344 1080,-344 1080,-332 1080,-332 1080,-326 1086,-320 1092,-320 1092,-320 1185,-320 1185,-320 1191,-320 1197,-326 1197,-332 1197,-332 1197,-344 1197,-344 1197,-350 1191,-356 1185,-356"/>
<text text-anchor="middle" x="1138.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Sandboxed Execution</text>
</g>
<!-- data_isolation&#45;&gt;sandboxed_execution -->
<g id="edge30" class="edge">
<title>data_isolation&#45;&gt;sandboxed_execution</title>
<path fill="none" stroke="#4a4a4a" d="M1138.5,-399.85C1138.5,-399.85 1138.5,-366.08 1138.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1142,-366.08 1138.5,-356.08 1135,-366.08 1142,-366.08"/>
<text text-anchor="middle" x="1154" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">provides</text>
</g>
<!-- plugin_architecture -->
<g id="node33" class="node">
<title>plugin_architecture</title>
<path fill="#505050" stroke="black" d="M1304.5,-436C1304.5,-436 1212.5,-436 1212.5,-436 1206.5,-436 1200.5,-430 1200.5,-424 1200.5,-424 1200.5,-412 1200.5,-412 1200.5,-406 1206.5,-400 1212.5,-400 1212.5,-400 1304.5,-400 1304.5,-400 1310.5,-400 1316.5,-406 1316.5,-412 1316.5,-412 1316.5,-424 1316.5,-424 1316.5,-430 1310.5,-436 1304.5,-436"/>
<text text-anchor="middle" x="1258.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Plugin Architecture</text>
</g>
<!-- extensibility_model&#45;&gt;plugin_architecture -->
<g id="edge32" class="edge">
<title>extensibility_model&#45;&gt;plugin_architecture</title>
<path fill="none" stroke="#4a4a4a" d="M1258.5,-480.62C1258.5,-480.62 1258.5,-446.03 1258.5,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1262,-446.03 1258.5,-436.03 1255,-446.03 1262,-446.03"/>
<text text-anchor="middle" x="1274" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">enables</text>
</g>
<!-- standardized_interfaces -->
<g id="node39" class="node">
<title>standardized_interfaces</title>
<path fill="#505050" stroke="black" d="M1462,-436C1462,-436 1347,-436 1347,-436 1341,-436 1335,-430 1335,-424 1335,-424 1335,-412 1335,-412 1335,-406 1341,-400 1347,-400 1347,-400 1462,-400 1462,-400 1468,-400 1474,-406 1474,-412 1474,-412 1474,-424 1474,-424 1474,-430 1468,-436 1462,-436"/>
<text text-anchor="middle" x="1404.5" y="-415.5" font-family="Times,serif" font-size="10.00" fill="white">Standardized Interfaces</text>
</g>
<!-- extensibility_model&#45;&gt;standardized_interfaces -->
<g id="edge38" class="edge">
<title>extensibility_model&#45;&gt;standardized_interfaces</title>
<path fill="none" stroke="#4a4a4a" d="M1321,-480.62C1321,-456.72 1321,-418 1321,-418 1321,-418 1324.79,-418 1324.79,-418"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1324.79,-421.5 1334.79,-418 1324.79,-414.5 1324.79,-421.5"/>
<text text-anchor="middle" x="1373" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">defines</text>
</g>
<!-- custom_servers -->
<g id="node34" class="node">
<title>custom_servers</title>
<path fill="#6b6b6c" stroke="black" d="M1292,-356C1292,-356 1227,-356 1227,-356 1221,-356 1215,-350 1215,-344 1215,-344 1215,-332 1215,-332 1215,-326 1221,-320 1227,-320 1227,-320 1292,-320 1292,-320 1298,-320 1304,-326 1304,-332 1304,-332 1304,-344 1304,-344 1304,-350 1298,-356 1292,-356"/>
<text text-anchor="middle" x="1259.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Custom Servers</text>
</g>
<!-- plugin_architecture&#45;&gt;custom_servers -->
<g id="edge33" class="edge">
<title>plugin_architecture&#45;&gt;custom_servers</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-399.85C1259.5,-399.85 1259.5,-366.08 1259.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-366.08 1259.5,-356.08 1256,-366.08 1263,-366.08"/>
<text text-anchor="middle" x="1271.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">allows</text>
</g>
<!-- domain_specific_tools -->
<g id="node35" class="node">
<title>domain_specific_tools</title>
<path fill="#878787" stroke="black" d="M1305.5,-276C1305.5,-276 1213.5,-276 1213.5,-276 1207.5,-276 1201.5,-270 1201.5,-264 1201.5,-264 1201.5,-252 1201.5,-252 1201.5,-246 1207.5,-240 1213.5,-240 1213.5,-240 1305.5,-240 1305.5,-240 1311.5,-240 1317.5,-246 1317.5,-252 1317.5,-252 1317.5,-264 1317.5,-264 1317.5,-270 1311.5,-276 1305.5,-276"/>
<text text-anchor="middle" x="1259.5" y="-255.8" font-family="Times,serif" font-size="9.00" fill="white">Domain&#45;specific Tools</text>
</g>
<!-- custom_servers&#45;&gt;domain_specific_tools -->
<g id="edge34" class="edge">
<title>custom_servers&#45;&gt;domain_specific_tools</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-319.85C1259.5,-319.85 1259.5,-286.08 1259.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-286.08 1259.5,-276.08 1256,-286.08 1263,-286.08"/>
<text text-anchor="middle" x="1273.5" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">creates</text>
</g>
<!-- business_logic_integration -->
<g id="node36" class="node">
<title>business_logic_integration</title>
<path fill="#a3a3a3" stroke="black" d="M1318,-196C1318,-196 1201,-196 1201,-196 1195,-196 1189,-190 1189,-184 1189,-184 1189,-172 1189,-172 1189,-166 1195,-160 1201,-160 1201,-160 1318,-160 1318,-160 1324,-160 1330,-166 1330,-172 1330,-172 1330,-184 1330,-184 1330,-190 1324,-196 1318,-196"/>
<text text-anchor="middle" x="1259.5" y="-175.8" font-family="Times,serif" font-size="9.00">Business Logic Integration</text>
</g>
<!-- domain_specific_tools&#45;&gt;business_logic_integration -->
<g id="edge35" class="edge">
<title>domain_specific_tools&#45;&gt;business_logic_integration</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-239.85C1259.5,-239.85 1259.5,-206.08 1259.5,-206.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-206.08 1259.5,-196.08 1256,-206.08 1263,-206.08"/>
<text text-anchor="middle" x="1278" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">facilitates</text>
</g>
<!-- workflow_automation -->
<g id="node37" class="node">
<title>workflow_automation</title>
<path fill="#bebebe" stroke="black" d="M1305.5,-116C1305.5,-116 1213.5,-116 1213.5,-116 1207.5,-116 1201.5,-110 1201.5,-104 1201.5,-104 1201.5,-92 1201.5,-92 1201.5,-86 1207.5,-80 1213.5,-80 1213.5,-80 1305.5,-80 1305.5,-80 1311.5,-80 1317.5,-86 1317.5,-92 1317.5,-92 1317.5,-104 1317.5,-104 1317.5,-110 1311.5,-116 1305.5,-116"/>
<text text-anchor="middle" x="1259.5" y="-95.8" font-family="Times,serif" font-size="9.00">Workflow Automation</text>
</g>
<!-- business_logic_integration&#45;&gt;workflow_automation -->
<g id="edge36" class="edge">
<title>business_logic_integration&#45;&gt;workflow_automation</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-159.85C1259.5,-159.85 1259.5,-126.08 1259.5,-126.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-126.08 1259.5,-116.08 1256,-126.08 1263,-126.08"/>
<text text-anchor="middle" x="1274" y="-136.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">enables</text>
</g>
<!-- ai_agent_orchestration -->
<g id="node38" class="node">
<title>ai_agent_orchestration</title>
<path fill="#dadada" stroke="black" d="M1310,-36C1310,-36 1209,-36 1209,-36 1203,-36 1197,-30 1197,-24 1197,-24 1197,-12 1197,-12 1197,-6 1203,0 1209,0 1209,0 1310,0 1310,0 1316,0 1322,-6 1322,-12 1322,-12 1322,-24 1322,-24 1322,-30 1316,-36 1310,-36"/>
<text text-anchor="middle" x="1259.5" y="-15.8" font-family="Times,serif" font-size="9.00">AI Agent Orchestration</text>
</g>
<!-- workflow_automation&#45;&gt;ai_agent_orchestration -->
<g id="edge37" class="edge">
<title>workflow_automation&#45;&gt;ai_agent_orchestration</title>
<path fill="none" stroke="#4a4a4a" d="M1259.5,-79.85C1259.5,-79.85 1259.5,-46.08 1259.5,-46.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1263,-46.08 1259.5,-36.08 1256,-46.08 1263,-46.08"/>
<text text-anchor="middle" x="1275.5" y="-56.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">supports</text>
</g>
<!-- tool_schema -->
<g id="node40" class="node">
<title>tool_schema</title>
<path fill="#6b6b6c" stroke="black" d="M1406.5,-356C1406.5,-356 1356.5,-356 1356.5,-356 1350.5,-356 1344.5,-350 1344.5,-344 1344.5,-344 1344.5,-332 1344.5,-332 1344.5,-326 1350.5,-320 1356.5,-320 1356.5,-320 1406.5,-320 1406.5,-320 1412.5,-320 1418.5,-326 1418.5,-332 1418.5,-332 1418.5,-344 1418.5,-344 1418.5,-350 1412.5,-356 1406.5,-356"/>
<text text-anchor="middle" x="1381.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Tool Schema</text>
</g>
<!-- standardized_interfaces&#45;&gt;tool_schema -->
<g id="edge39" class="edge">
<title>standardized_interfaces&#45;&gt;tool_schema</title>
<path fill="none" stroke="#4a4a4a" d="M1381.5,-399.85C1381.5,-399.85 1381.5,-366.08 1381.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1385,-366.08 1381.5,-356.08 1378,-366.08 1385,-366.08"/>
<text text-anchor="middle" x="1397.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">specifies</text>
</g>
<!-- resource_schema -->
<g id="node41" class="node">
<title>resource_schema</title>
<path fill="#6b6b6c" stroke="black" d="M1522.5,-356C1522.5,-356 1448.5,-356 1448.5,-356 1442.5,-356 1436.5,-350 1436.5,-344 1436.5,-344 1436.5,-332 1436.5,-332 1436.5,-326 1442.5,-320 1448.5,-320 1448.5,-320 1522.5,-320 1522.5,-320 1528.5,-320 1534.5,-326 1534.5,-332 1534.5,-332 1534.5,-344 1534.5,-344 1534.5,-350 1528.5,-356 1522.5,-356"/>
<text text-anchor="middle" x="1485.5" y="-335.8" font-family="Times,serif" font-size="9.00" fill="white">Resource Schema</text>
</g>
<!-- standardized_interfaces&#45;&gt;resource_schema -->
<g id="edge40" class="edge">
<title>standardized_interfaces&#45;&gt;resource_schema</title>
<path fill="none" stroke="#4a4a4a" d="M1455.25,-399.85C1455.25,-399.85 1455.25,-366.08 1455.25,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1458.75,-366.08 1455.25,-356.08 1451.75,-366.08 1458.75,-366.08"/>
<text text-anchor="middle" x="1501.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">specifies</text>
</g>
</g>
</svg>