File size: 41,448 Bytes
b929261 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 |
<?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->communication_layer -->
<g id="edge1" class="edge">
<title>central->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->resource_management -->
<g id="edge7" class="edge">
<title>central->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->context_integration -->
<g id="edge17" class="edge">
<title>central->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->security_framework -->
<g id="edge24" class="edge">
<title>central->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->extensibility_model -->
<g id="edge31" class="edge">
<title>central->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->bidirectional_messaging -->
<g id="edge2" class="edge">
<title>communication_layer->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-Response Pattern</text>
</g>
<!-- bidirectional_messaging->request_response_pattern -->
<g id="edge3" class="edge">
<title>bidirectional_messaging->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-RPC Protocol</text>
</g>
<!-- request_response_pattern->json_rpc_protocol -->
<g id="edge4" class="edge">
<title>request_response_pattern->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->standardized_format -->
<g id="edge5" class="edge">
<title>json_rpc_protocol->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-Platform Compatibility</text>
</g>
<!-- standardized_format->cross_platform_compatibility -->
<g id="edge6" class="edge">
<title>standardized_format->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->server_capabilities -->
<g id="edge8" class="edge">
<title>resource_management->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->client_requests -->
<g id="edge12" class="edge">
<title>resource_management->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->tools_registry -->
<g id="edge9" class="edge">
<title>server_capabilities->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->resource_catalog -->
<g id="edge10" class="edge">
<title>server_capabilities->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->prompt_templates -->
<g id="edge11" class="edge">
<title>server_capabilities->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->tool_invocation -->
<g id="edge13" class="edge">
<title>client_requests->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->resource_access -->
<g id="edge15" class="edge">
<title>client_requests->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->parameter_validation -->
<g id="edge14" class="edge">
<title>tool_invocation->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->permission_system -->
<g id="edge16" class="edge">
<title>resource_access->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->dynamic_context_injection -->
<g id="edge18" class="edge">
<title>context_integration->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-time Data</text>
</g>
<!-- dynamic_context_injection->real_time_data -->
<g id="edge19" class="edge">
<title>dynamic_context_injection->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->live_system_state -->
<g id="edge20" class="edge">
<title>real_time_data->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->database_queries -->
<g id="edge21" class="edge">
<title>live_system_state->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->api_responses -->
<g id="edge22" class="edge">
<title>live_system_state->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->file_system_access -->
<g id="edge23" class="edge">
<title>live_system_state->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->authentication_layer -->
<g id="edge25" class="edge">
<title>security_framework->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->authorization_controls -->
<g id="edge27" class="edge">
<title>security_framework->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->data_isolation -->
<g id="edge29" class="edge">
<title>security_framework->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-based Auth</text>
</g>
<!-- authentication_layer->token_based_auth -->
<g id="edge26" class="edge">
<title>authentication_layer->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-based Access</text>
</g>
<!-- authorization_controls->role_based_access -->
<g id="edge28" class="edge">
<title>authorization_controls->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->sandboxed_execution -->
<g id="edge30" class="edge">
<title>data_isolation->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->plugin_architecture -->
<g id="edge32" class="edge">
<title>extensibility_model->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->standardized_interfaces -->
<g id="edge38" class="edge">
<title>extensibility_model->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->custom_servers -->
<g id="edge33" class="edge">
<title>plugin_architecture->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-specific Tools</text>
</g>
<!-- custom_servers->domain_specific_tools -->
<g id="edge34" class="edge">
<title>custom_servers->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->business_logic_integration -->
<g id="edge35" class="edge">
<title>domain_specific_tools->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->workflow_automation -->
<g id="edge36" class="edge">
<title>business_logic_integration->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->ai_agent_orchestration -->
<g id="edge37" class="edge">
<title>workflow_automation->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->tool_schema -->
<g id="edge39" class="edge">
<title>standardized_interfaces->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->resource_schema -->
<g id="edge40" class="edge">
<title>standardized_interfaces->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>
|