File size: 41,160 Bytes
da43f5e |
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="1625pt" height="671pt"
viewBox="0.00 0.00 1624.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 1588.5,-635 1588.5,36 -36,36"/>
<!-- central -->
<g id="node1" class="node">
<title>central</title>
<path fill="#bebebe" stroke="black" d="M863.5,-599C863.5,-599 619.5,-599 619.5,-599 613.5,-599 607.5,-593 607.5,-587 607.5,-587 607.5,-575 607.5,-575 607.5,-569 613.5,-563 619.5,-563 619.5,-563 863.5,-563 863.5,-563 869.5,-563 875.5,-569 875.5,-575 875.5,-575 875.5,-587 875.5,-587 875.5,-593 869.5,-599 863.5,-599"/>
<text text-anchor="middle" x="741.5" y="-577.2" font-family="Times,serif" font-size="16.00">Model Context Protocol (MCP)</text>
</g>
<!-- communication_layer -->
<g id="node2" class="node">
<title>communication_layer</title>
<path fill="#c1c1c1" stroke="black" d="M451,-517C451,-517 324,-517 324,-517 318,-517 312,-511 312,-505 312,-505 312,-493 312,-493 312,-487 318,-481 324,-481 324,-481 451,-481 451,-481 457,-481 463,-487 463,-493 463,-493 463,-505 463,-505 463,-511 457,-517 451,-517"/>
<text text-anchor="middle" x="387.5" y="-495.9" font-family="Times,serif" font-size="12.00">Communication Layer</text>
</g>
<!-- central->communication_layer -->
<g id="edge1" class="edge">
<title>central->communication_layer</title>
<path fill="none" stroke="#4a4a4a" d="M607.42,-581C507.22,-581 387.5,-581 387.5,-581 387.5,-581 387.5,-527.2 387.5,-527.2"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="391,-527.2 387.5,-517.2 384,-527.2 391,-527.2"/>
<text text-anchor="middle" x="483.5" y="-537.8" font-family="Times,serif" font-size="9.00" fill="#4a4a4a">establishes</text>
</g>
<!-- resource_management -->
<g id="node12" class="node">
<title>resource_management</title>
<path fill="#c1c1c1" stroke="black" d="M644,-517C644,-517 513,-517 513,-517 507,-517 501,-511 501,-505 501,-505 501,-493 501,-493 501,-487 507,-481 513,-481 513,-481 644,-481 644,-481 650,-481 656,-487 656,-493 656,-493 656,-505 656,-505 656,-511 650,-517 644,-517"/>
<text text-anchor="middle" x="578.5" y="-495.9" font-family="Times,serif" font-size="12.00">Resource Management</text>
</g>
<!-- central->resource_management -->
<g id="edge11" class="edge">
<title>central->resource_management</title>
<path fill="none" stroke="#4a4a4a" d="M631.75,-562.8C631.75,-562.8 631.75,-527.15 631.75,-527.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="635.25,-527.15 631.75,-517.15 628.25,-527.15 635.25,-527.15"/>
<text text-anchor="middle" x="650" 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="#c1c1c1" stroke="black" d="M796.5,-517C796.5,-517 686.5,-517 686.5,-517 680.5,-517 674.5,-511 674.5,-505 674.5,-505 674.5,-493 674.5,-493 674.5,-487 680.5,-481 686.5,-481 686.5,-481 796.5,-481 796.5,-481 802.5,-481 808.5,-487 808.5,-493 808.5,-493 808.5,-505 808.5,-505 808.5,-511 802.5,-517 796.5,-517"/>
<text text-anchor="middle" x="741.5" y="-495.9" font-family="Times,serif" font-size="12.00">Context Integration</text>
</g>
<!-- central->context_integration -->
<g id="edge17" class="edge">
<title>central->context_integration</title>
<path fill="none" stroke="#4a4a4a" d="M741.5,-562.8C741.5,-562.8 741.5,-527.15 741.5,-527.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="745,-527.15 741.5,-517.15 738,-527.15 745,-527.15"/>
<text text-anchor="middle" x="764.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="#c1c1c1" stroke="black" d="M1010.5,-517C1010.5,-517 892.5,-517 892.5,-517 886.5,-517 880.5,-511 880.5,-505 880.5,-505 880.5,-493 880.5,-493 880.5,-487 886.5,-481 892.5,-481 892.5,-481 1010.5,-481 1010.5,-481 1016.5,-481 1022.5,-487 1022.5,-493 1022.5,-493 1022.5,-505 1022.5,-505 1022.5,-511 1016.5,-517 1010.5,-517"/>
<text text-anchor="middle" x="951.5" y="-495.9" font-family="Times,serif" font-size="12.00">Security Framework</text>
</g>
<!-- central->security_framework -->
<g id="edge24" class="edge">
<title>central->security_framework</title>
<path fill="none" stroke="#4a4a4a" d="M849.5,-562.8C849.5,-538.64 849.5,-499 849.5,-499 849.5,-499 870.38,-499 870.38,-499"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="870.38,-502.5 880.38,-499 870.38,-495.5 870.38,-502.5"/>
<text text-anchor="middle" x="885.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="#c1c1c1" stroke="black" d="M1165.5,-517C1165.5,-517 1057.5,-517 1057.5,-517 1051.5,-517 1045.5,-511 1045.5,-505 1045.5,-505 1045.5,-493 1045.5,-493 1045.5,-487 1051.5,-481 1057.5,-481 1057.5,-481 1165.5,-481 1165.5,-481 1171.5,-481 1177.5,-487 1177.5,-493 1177.5,-493 1177.5,-505 1177.5,-505 1177.5,-511 1171.5,-517 1165.5,-517"/>
<text text-anchor="middle" x="1111.5" y="-495.9" font-family="Times,serif" font-size="12.00">Extensibility Model</text>
</g>
<!-- central->extensibility_model -->
<g id="edge31" class="edge">
<title>central->extensibility_model</title>
<path fill="none" stroke="#4a4a4a" d="M875.6,-581C981.49,-581 1111.5,-581 1111.5,-581 1111.5,-581 1111.5,-527.2 1111.5,-527.2"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1115,-527.2 1111.5,-517.2 1108,-527.2 1115,-527.2"/>
<text text-anchor="middle" x="1019" 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="#c5c5c5" stroke="black" d="M352.5,-436C352.5,-436 236.5,-436 236.5,-436 230.5,-436 224.5,-430 224.5,-424 224.5,-424 224.5,-412 224.5,-412 224.5,-406 230.5,-400 236.5,-400 236.5,-400 352.5,-400 352.5,-400 358.5,-400 364.5,-406 364.5,-412 364.5,-412 364.5,-424 364.5,-424 364.5,-430 358.5,-436 352.5,-436"/>
<text text-anchor="middle" x="294.5" y="-415.5" font-family="Times,serif" font-size="10.00">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="M338.25,-480.62C338.25,-480.62 338.25,-446.03 338.25,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="341.75,-446.03 338.25,-436.03 334.75,-446.03 341.75,-446.03"/>
<text text-anchor="middle" x="364" 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="#c9c9c9" stroke="black" d="M171.5,-356C171.5,-356 57.5,-356 57.5,-356 51.5,-356 45.5,-350 45.5,-344 45.5,-344 45.5,-332 45.5,-332 45.5,-326 51.5,-320 57.5,-320 57.5,-320 171.5,-320 171.5,-320 177.5,-320 183.5,-326 183.5,-332 183.5,-332 183.5,-344 183.5,-344 183.5,-350 177.5,-356 171.5,-356"/>
<text text-anchor="middle" x="114.5" y="-335.8" font-family="Times,serif" font-size="9.00">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="M234.75,-399.71C234.75,-377.79 234.75,-344 234.75,-344 234.75,-344 193.75,-344 193.75,-344"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="193.75,-340.5 183.75,-344 193.75,-347.5 193.75,-340.5"/>
<text text-anchor="middle" x="193" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">uses</text>
</g>
<!-- server_capabilities -->
<g id="node8" class="node">
<title>server_capabilities</title>
<path fill="#c9c9c9" stroke="black" d="M335,-356C335,-356 254,-356 254,-356 248,-356 242,-350 242,-344 242,-344 242,-332 242,-332 242,-326 248,-320 254,-320 254,-320 335,-320 335,-320 341,-320 347,-326 347,-332 347,-332 347,-344 347,-344 347,-350 341,-356 335,-356"/>
<text text-anchor="middle" x="294.5" y="-335.8" font-family="Times,serif" font-size="9.00">Server Capabilities</text>
</g>
<!-- bidirectional_messaging->server_capabilities -->
<g id="edge7" class="edge">
<title>bidirectional_messaging->server_capabilities</title>
<path fill="none" stroke="#4a4a4a" d="M294.5,-399.85C294.5,-399.85 294.5,-366.08 294.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="298,-366.08 294.5,-356.08 291,-366.08 298,-366.08"/>
<text text-anchor="middle" x="311.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">manages</text>
</g>
<!-- json_rpc_protocol -->
<g id="node5" class="node">
<title>json_rpc_protocol</title>
<path fill="#cdcdcd" 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">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="M86.5,-319.85C86.5,-319.85 86.5,-286.08 86.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="90,-286.08 86.5,-276.08 83,-286.08 90,-286.08"/>
<text text-anchor="middle" x="119" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">ensures</text>
</g>
<!-- standardized_format -->
<g id="node6" class="node">
<title>standardized_format</title>
<path fill="#d1d1d1" 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="90" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">provides</text>
</g>
<!-- cross_platform_compatibility -->
<g id="node7" class="node">
<title>cross_platform_compatibility</title>
<path fill="#d5d5d5" 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>
<!-- tools_registry -->
<g id="node9" class="node">
<title>tools_registry</title>
<path fill="#cdcdcd" stroke="black" d="M215.5,-276C215.5,-276 157.5,-276 157.5,-276 151.5,-276 145.5,-270 145.5,-264 145.5,-264 145.5,-252 145.5,-252 145.5,-246 151.5,-240 157.5,-240 157.5,-240 215.5,-240 215.5,-240 221.5,-240 227.5,-246 227.5,-252 227.5,-252 227.5,-264 227.5,-264 227.5,-270 221.5,-276 215.5,-276"/>
<text text-anchor="middle" x="186.5" y="-255.8" font-family="Times,serif" font-size="9.00">Tools Registry</text>
</g>
<!-- server_capabilities->tools_registry -->
<g id="edge8" class="edge">
<title>server_capabilities->tools_registry</title>
<path fill="none" stroke="#4a4a4a" d="M241.86,-332C221.95,-332 204,-332 204,-332 204,-332 204,-286.29 204,-286.29"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="207.5,-286.29 204,-276.29 200.5,-286.29 207.5,-286.29"/>
<text text-anchor="middle" x="205" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">maintains</text>
</g>
<!-- resource_catalog -->
<g id="node10" class="node">
<title>resource_catalog</title>
<path fill="#cdcdcd" stroke="black" d="M331.5,-276C331.5,-276 257.5,-276 257.5,-276 251.5,-276 245.5,-270 245.5,-264 245.5,-264 245.5,-252 245.5,-252 245.5,-246 251.5,-240 257.5,-240 257.5,-240 331.5,-240 331.5,-240 337.5,-240 343.5,-246 343.5,-252 343.5,-252 343.5,-264 343.5,-264 343.5,-270 337.5,-276 331.5,-276"/>
<text text-anchor="middle" x="294.5" y="-255.8" font-family="Times,serif" font-size="9.00">Resource Catalog</text>
</g>
<!-- server_capabilities->resource_catalog -->
<g id="edge9" class="edge">
<title>server_capabilities->resource_catalog</title>
<path fill="none" stroke="#4a4a4a" d="M294.5,-319.85C294.5,-319.85 294.5,-286.08 294.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="298,-286.08 294.5,-276.08 291,-286.08 298,-286.08"/>
<text text-anchor="middle" x="310" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">provides</text>
</g>
<!-- prompt_templates -->
<g id="node11" class="node">
<title>prompt_templates</title>
<path fill="#cdcdcd" stroke="black" d="M449.5,-276C449.5,-276 373.5,-276 373.5,-276 367.5,-276 361.5,-270 361.5,-264 361.5,-264 361.5,-252 361.5,-252 361.5,-246 367.5,-240 373.5,-240 373.5,-240 449.5,-240 449.5,-240 455.5,-240 461.5,-246 461.5,-252 461.5,-252 461.5,-264 461.5,-264 461.5,-270 455.5,-276 449.5,-276"/>
<text text-anchor="middle" x="411.5" y="-255.8" font-family="Times,serif" font-size="9.00">Prompt Templates</text>
</g>
<!-- server_capabilities->prompt_templates -->
<g id="edge10" class="edge">
<title>server_capabilities->prompt_templates</title>
<path fill="none" stroke="#4a4a4a" d="M347.17,-338C378.81,-338 413,-338 413,-338 413,-338 413,-286.15 413,-286.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="416.5,-286.15 413,-276.15 409.5,-286.15 416.5,-286.15"/>
<text text-anchor="middle" x="427" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">provides</text>
</g>
<!-- client_requests -->
<g id="node13" class="node">
<title>client_requests</title>
<path fill="#c5c5c5" stroke="black" d="M615,-436C615,-436 542,-436 542,-436 536,-436 530,-430 530,-424 530,-424 530,-412 530,-412 530,-406 536,-400 542,-400 542,-400 615,-400 615,-400 621,-400 627,-406 627,-412 627,-412 627,-424 627,-424 627,-430 621,-436 615,-436"/>
<text text-anchor="middle" x="578.5" y="-415.5" font-family="Times,serif" font-size="10.00">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="M578.5,-480.62C578.5,-480.62 578.5,-446.03 578.5,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="582,-446.03 578.5,-436.03 575,-446.03 582,-446.03"/>
<text text-anchor="middle" x="598" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">processes</text>
</g>
<!-- tool_invocation -->
<g id="node14" class="node">
<title>tool_invocation</title>
<path fill="#c9c9c9" stroke="black" d="M570,-356C570,-356 507,-356 507,-356 501,-356 495,-350 495,-344 495,-344 495,-332 495,-332 495,-326 501,-320 507,-320 507,-320 570,-320 570,-320 576,-320 582,-326 582,-332 582,-332 582,-344 582,-344 582,-350 576,-356 570,-356"/>
<text text-anchor="middle" x="538.5" y="-335.8" font-family="Times,serif" font-size="9.00">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="M556,-399.85C556,-399.85 556,-366.08 556,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="559.5,-366.08 556,-356.08 552.5,-366.08 559.5,-366.08"/>
<text text-anchor="middle" x="591" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">performs</text>
</g>
<!-- resource_access -->
<g id="node16" class="node">
<title>resource_access</title>
<path fill="#c9c9c9" stroke="black" d="M690.5,-356C690.5,-356 620.5,-356 620.5,-356 614.5,-356 608.5,-350 608.5,-344 608.5,-344 608.5,-332 608.5,-332 608.5,-326 614.5,-320 620.5,-320 620.5,-320 690.5,-320 690.5,-320 696.5,-320 702.5,-326 702.5,-332 702.5,-332 702.5,-344 702.5,-344 702.5,-350 696.5,-356 690.5,-356"/>
<text text-anchor="middle" x="655.5" y="-335.8" font-family="Times,serif" font-size="9.00">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="M617.75,-399.85C617.75,-399.85 617.75,-366.08 617.75,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="621.25,-366.08 617.75,-356.08 614.25,-366.08 621.25,-366.08"/>
<text text-anchor="middle" x="647.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">creates</text>
</g>
<!-- parameter_validation -->
<g id="node15" class="node">
<title>parameter_validation</title>
<path fill="#cdcdcd" stroke="black" d="M581.5,-276C581.5,-276 491.5,-276 491.5,-276 485.5,-276 479.5,-270 479.5,-264 479.5,-264 479.5,-252 479.5,-252 479.5,-246 485.5,-240 491.5,-240 491.5,-240 581.5,-240 581.5,-240 587.5,-240 593.5,-246 593.5,-252 593.5,-252 593.5,-264 593.5,-264 593.5,-270 587.5,-276 581.5,-276"/>
<text text-anchor="middle" x="536.5" y="-255.8" font-family="Times,serif" font-size="9.00">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="M538.5,-319.85C538.5,-319.85 538.5,-286.08 538.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="542,-286.08 538.5,-276.08 535,-286.08 542,-286.08"/>
<text text-anchor="middle" x="553" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">performs</text>
</g>
<!-- persistent_system -->
<g id="node17" class="node">
<title>persistent_system</title>
<path fill="#cdcdcd" stroke="black" d="M699,-276C699,-276 624,-276 624,-276 618,-276 612,-270 612,-264 612,-264 612,-252 612,-252 612,-246 618,-240 624,-240 624,-240 699,-240 699,-240 705,-240 711,-246 711,-252 711,-252 711,-264 711,-264 711,-270 705,-276 699,-276"/>
<text text-anchor="middle" x="661.5" y="-255.8" font-family="Times,serif" font-size="9.00">Persistent System</text>
</g>
<!-- resource_access->persistent_system -->
<g id="edge16" class="edge">
<title>resource_access->persistent_system</title>
<path fill="none" stroke="#4a4a4a" d="M657.25,-319.85C657.25,-319.85 657.25,-286.08 657.25,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="660.75,-286.08 657.25,-276.08 653.75,-286.08 660.75,-286.08"/>
<text text-anchor="middle" x="675" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">utilizes</text>
</g>
<!-- dynamic_context_injection -->
<g id="node19" class="node">
<title>dynamic_context_injection</title>
<path fill="#c5c5c5" stroke="black" d="M793.5,-436C793.5,-436 665.5,-436 665.5,-436 659.5,-436 653.5,-430 653.5,-424 653.5,-424 653.5,-412 653.5,-412 653.5,-406 659.5,-400 665.5,-400 665.5,-400 793.5,-400 793.5,-400 799.5,-400 805.5,-406 805.5,-412 805.5,-412 805.5,-424 805.5,-424 805.5,-430 799.5,-436 793.5,-436"/>
<text text-anchor="middle" x="729.5" y="-415.5" font-family="Times,serif" font-size="10.00">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="M740,-480.62C740,-480.62 740,-446.03 740,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="743.5,-446.03 740,-436.03 736.5,-446.03 743.5,-446.03"/>
<text text-anchor="middle" x="757" 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="#c9c9c9" stroke="black" d="M802,-356C802,-356 741,-356 741,-356 735,-356 729,-350 729,-344 729,-344 729,-332 729,-332 729,-326 735,-320 741,-320 741,-320 802,-320 802,-320 808,-320 814,-326 814,-332 814,-332 814,-344 814,-344 814,-350 808,-356 802,-356"/>
<text text-anchor="middle" x="771.5" y="-335.8" font-family="Times,serif" font-size="9.00">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="M767.25,-399.85C767.25,-399.85 767.25,-366.08 767.25,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="770.75,-366.08 767.25,-356.08 763.75,-366.08 770.75,-366.08"/>
<text text-anchor="middle" x="764.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">informs</text>
</g>
<!-- live_system_state -->
<g id="node21" class="node">
<title>live_system_state</title>
<path fill="#cdcdcd" stroke="black" d="M816,-276C816,-276 741,-276 741,-276 735,-276 729,-270 729,-264 729,-264 729,-252 729,-252 729,-246 735,-240 741,-240 741,-240 816,-240 816,-240 822,-240 828,-246 828,-252 828,-252 828,-264 828,-264 828,-270 822,-276 816,-276"/>
<text text-anchor="middle" x="778.5" y="-255.8" font-family="Times,serif" font-size="9.00">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="M771.5,-319.85C771.5,-319.85 771.5,-286.08 771.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="775,-286.08 771.5,-276.08 768,-286.08 775,-286.08"/>
<text text-anchor="middle" x="790" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">includes</text>
</g>
<!-- database_queries -->
<g id="node22" class="node">
<title>database_queries</title>
<path fill="#d1d1d1" stroke="black" d="M706.5,-196C706.5,-196 632.5,-196 632.5,-196 626.5,-196 620.5,-190 620.5,-184 620.5,-184 620.5,-172 620.5,-172 620.5,-166 626.5,-160 632.5,-160 632.5,-160 706.5,-160 706.5,-160 712.5,-160 718.5,-166 718.5,-172 718.5,-172 718.5,-184 718.5,-184 718.5,-190 712.5,-196 706.5,-196"/>
<text text-anchor="middle" x="669.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="M728.9,-258C720.67,-258 714.75,-258 714.75,-258 714.75,-258 714.75,-206.15 714.75,-206.15"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="718.25,-206.15 714.75,-196.15 711.25,-206.15 718.25,-206.15"/>
<text text-anchor="middle" x="685" 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="#d1d1d1" stroke="black" d="M808.5,-196C808.5,-196 748.5,-196 748.5,-196 742.5,-196 736.5,-190 736.5,-184 736.5,-184 736.5,-172 736.5,-172 736.5,-166 742.5,-160 748.5,-160 748.5,-160 808.5,-160 808.5,-160 814.5,-160 820.5,-166 820.5,-172 820.5,-172 820.5,-184 820.5,-184 820.5,-190 814.5,-196 808.5,-196"/>
<text text-anchor="middle" x="778.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="M778.5,-239.85C778.5,-239.85 778.5,-206.08 778.5,-206.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="782,-206.08 778.5,-196.08 775,-206.08 782,-206.08"/>
<text text-anchor="middle" x="794" 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="#d1d1d1" stroke="black" d="M930.5,-196C930.5,-196 850.5,-196 850.5,-196 844.5,-196 838.5,-190 838.5,-184 838.5,-184 838.5,-172 838.5,-172 838.5,-166 844.5,-160 850.5,-160 850.5,-160 930.5,-160 930.5,-160 936.5,-160 942.5,-166 942.5,-172 942.5,-172 942.5,-184 942.5,-184 942.5,-190 936.5,-196 930.5,-196"/>
<text text-anchor="middle" x="890.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="M824.25,-239.85C824.25,-216.24 824.25,-178 824.25,-178 824.25,-178 828.3,-178 828.3,-178"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="828.3,-181.5 838.3,-178 828.3,-174.5 828.3,-181.5"/>
<text text-anchor="middle" x="906" 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="#c5c5c5" stroke="black" d="M935.5,-436C935.5,-436 835.5,-436 835.5,-436 829.5,-436 823.5,-430 823.5,-424 823.5,-424 823.5,-412 823.5,-412 823.5,-406 829.5,-400 835.5,-400 835.5,-400 935.5,-400 935.5,-400 941.5,-400 947.5,-406 947.5,-412 947.5,-412 947.5,-424 947.5,-424 947.5,-430 941.5,-436 935.5,-436"/>
<text text-anchor="middle" x="885.5" y="-415.5" font-family="Times,serif" font-size="10.00">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="M914,-480.62C914,-480.62 914,-446.03 914,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="917.5,-446.03 914,-436.03 910.5,-446.03 917.5,-446.03"/>
<text text-anchor="middle" x="924.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="#c5c5c5" stroke="black" d="M1085,-436C1085,-436 978,-436 978,-436 972,-436 966,-430 966,-424 966,-424 966,-412 966,-412 966,-406 972,-400 978,-400 978,-400 1085,-400 1085,-400 1091,-400 1097,-406 1097,-412 1097,-412 1097,-424 1097,-424 1097,-430 1091,-436 1085,-436"/>
<text text-anchor="middle" x="1031.5" y="-415.5" font-family="Times,serif" font-size="10.00">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="M984.83,-480.62C984.83,-480.62 984.83,-446.03 984.83,-446.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="988.33,-446.03 984.83,-436.03 981.33,-446.03 988.33,-446.03"/>
<text text-anchor="middle" x="1024" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">enforce</text>
</g>
<!-- data_isolation -->
<g id="node30" class="node">
<title>data_isolation</title>
<path fill="#c5c5c5" stroke="black" d="M1190,-436C1190,-436 1127,-436 1127,-436 1121,-436 1115,-430 1115,-424 1115,-424 1115,-412 1115,-412 1115,-406 1121,-400 1127,-400 1127,-400 1190,-400 1190,-400 1196,-400 1202,-406 1202,-412 1202,-412 1202,-424 1202,-424 1202,-430 1196,-436 1190,-436"/>
<text text-anchor="middle" x="1158.5" y="-415.5" font-family="Times,serif" font-size="10.00">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="M1003.67,-480.9C1003.67,-469.91 1003.67,-458 1003.67,-458 1003.67,-458 1146.25,-458 1146.25,-458 1146.25,-458 1146.25,-446.13 1146.25,-446.13"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1149.75,-446.13 1146.25,-436.13 1142.75,-446.13 1149.75,-446.13"/>
<text text-anchor="middle" x="1104" 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="#c9c9c9" stroke="black" d="M923,-356C923,-356 848,-356 848,-356 842,-356 836,-350 836,-344 836,-344 836,-332 836,-332 836,-326 842,-320 848,-320 848,-320 923,-320 923,-320 929,-320 935,-326 935,-332 935,-332 935,-344 935,-344 935,-350 929,-356 923,-356"/>
<text text-anchor="middle" x="885.5" y="-335.8" font-family="Times,serif" font-size="9.00">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="M885.5,-399.85C885.5,-399.85 885.5,-366.08 885.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="889,-366.08 885.5,-356.08 882,-366.08 889,-366.08"/>
<text text-anchor="middle" x="899" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">utilizes</text>
</g>
<!-- role_based_access -->
<g id="node29" class="node">
<title>role_based_access</title>
<path fill="#c9c9c9" stroke="black" d="M1070,-356C1070,-356 993,-356 993,-356 987,-356 981,-350 981,-344 981,-344 981,-332 981,-332 981,-326 987,-320 993,-320 993,-320 1070,-320 1070,-320 1076,-320 1082,-326 1082,-332 1082,-332 1082,-344 1082,-344 1082,-350 1076,-356 1070,-356"/>
<text text-anchor="middle" x="1031.5" y="-335.8" font-family="Times,serif" font-size="9.00">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="M1031.5,-399.85C1031.5,-399.85 1031.5,-366.08 1031.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1035,-366.08 1031.5,-356.08 1028,-366.08 1035,-366.08"/>
<text text-anchor="middle" x="1053" 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="#c9c9c9" stroke="black" d="M1205,-356C1205,-356 1112,-356 1112,-356 1106,-356 1100,-350 1100,-344 1100,-344 1100,-332 1100,-332 1100,-326 1106,-320 1112,-320 1112,-320 1205,-320 1205,-320 1211,-320 1217,-326 1217,-332 1217,-332 1217,-344 1217,-344 1217,-350 1211,-356 1205,-356"/>
<text text-anchor="middle" x="1158.5" y="-335.8" font-family="Times,serif" font-size="9.00">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="M1158.5,-399.85C1158.5,-399.85 1158.5,-366.08 1158.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1162,-366.08 1158.5,-356.08 1155,-366.08 1162,-366.08"/>
<text text-anchor="middle" x="1174" 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="#c5c5c5" stroke="black" d="M1325.5,-436C1325.5,-436 1233.5,-436 1233.5,-436 1227.5,-436 1221.5,-430 1221.5,-424 1221.5,-424 1221.5,-412 1221.5,-412 1221.5,-406 1227.5,-400 1233.5,-400 1233.5,-400 1325.5,-400 1325.5,-400 1331.5,-400 1337.5,-406 1337.5,-412 1337.5,-412 1337.5,-424 1337.5,-424 1337.5,-430 1331.5,-436 1325.5,-436"/>
<text text-anchor="middle" x="1279.5" y="-415.5" font-family="Times,serif" font-size="10.00">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="M1177.9,-499C1224.86,-499 1279.5,-499 1279.5,-499 1279.5,-499 1279.5,-446.38 1279.5,-446.38"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1283,-446.38 1279.5,-436.38 1276,-446.38 1283,-446.38"/>
<text text-anchor="middle" x="1171" y="-456.6" font-family="Times,serif" font-size="8.00" fill="#4a4a4a">enables</text>
</g>
<!-- custom_servers -->
<g id="node34" class="node">
<title>custom_servers</title>
<path fill="#c9c9c9" stroke="black" d="M1312,-356C1312,-356 1247,-356 1247,-356 1241,-356 1235,-350 1235,-344 1235,-344 1235,-332 1235,-332 1235,-326 1241,-320 1247,-320 1247,-320 1312,-320 1312,-320 1318,-320 1324,-326 1324,-332 1324,-332 1324,-344 1324,-344 1324,-350 1318,-356 1312,-356"/>
<text text-anchor="middle" x="1279.5" y="-335.8" font-family="Times,serif" font-size="9.00">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="M1279.5,-399.85C1279.5,-399.85 1279.5,-366.08 1279.5,-366.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1283,-366.08 1279.5,-356.08 1276,-366.08 1283,-366.08"/>
<text text-anchor="middle" x="1291.5" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">allows</text>
</g>
<!-- standardized_interfaces -->
<g id="node39" class="node">
<title>standardized_interfaces</title>
<path fill="#c9c9c9" stroke="black" d="M1458.5,-356C1458.5,-356 1354.5,-356 1354.5,-356 1348.5,-356 1342.5,-350 1342.5,-344 1342.5,-344 1342.5,-332 1342.5,-332 1342.5,-326 1348.5,-320 1354.5,-320 1354.5,-320 1458.5,-320 1458.5,-320 1464.5,-320 1470.5,-326 1470.5,-332 1470.5,-332 1470.5,-344 1470.5,-344 1470.5,-350 1464.5,-356 1458.5,-356"/>
<text text-anchor="middle" x="1406.5" y="-335.8" font-family="Times,serif" font-size="9.00">Standardized Interfaces</text>
</g>
<!-- plugin_architecture->standardized_interfaces -->
<g id="edge38" class="edge">
<title>plugin_architecture->standardized_interfaces</title>
<path fill="none" stroke="#4a4a4a" d="M1330.75,-399.85C1330.75,-376.24 1330.75,-338 1330.75,-338 1330.75,-338 1332.25,-338 1332.25,-338"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1332.25,-341.5 1342.25,-338 1332.25,-334.5 1332.25,-341.5"/>
<text text-anchor="middle" x="1380" y="-376.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">defines</text>
</g>
<!-- domain_specific_tools -->
<g id="node35" class="node">
<title>domain_specific_tools</title>
<path fill="#cdcdcd" stroke="black" d="M1325.5,-276C1325.5,-276 1233.5,-276 1233.5,-276 1227.5,-276 1221.5,-270 1221.5,-264 1221.5,-264 1221.5,-252 1221.5,-252 1221.5,-246 1227.5,-240 1233.5,-240 1233.5,-240 1325.5,-240 1325.5,-240 1331.5,-240 1337.5,-246 1337.5,-252 1337.5,-252 1337.5,-264 1337.5,-264 1337.5,-270 1331.5,-276 1325.5,-276"/>
<text text-anchor="middle" x="1279.5" y="-255.8" font-family="Times,serif" font-size="9.00">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="M1279.5,-319.85C1279.5,-319.85 1279.5,-286.08 1279.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1283,-286.08 1279.5,-276.08 1276,-286.08 1283,-286.08"/>
<text text-anchor="middle" x="1293.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="#d1d1d1" stroke="black" d="M1338,-196C1338,-196 1221,-196 1221,-196 1215,-196 1209,-190 1209,-184 1209,-184 1209,-172 1209,-172 1209,-166 1215,-160 1221,-160 1221,-160 1338,-160 1338,-160 1344,-160 1350,-166 1350,-172 1350,-172 1350,-184 1350,-184 1350,-190 1344,-196 1338,-196"/>
<text text-anchor="middle" x="1279.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="M1279.5,-239.85C1279.5,-239.85 1279.5,-206.08 1279.5,-206.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1283,-206.08 1279.5,-196.08 1276,-206.08 1283,-206.08"/>
<text text-anchor="middle" x="1294" y="-216.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">enables</text>
</g>
<!-- workflow_automation -->
<g id="node37" class="node">
<title>workflow_automation</title>
<path fill="#d5d5d5" stroke="black" d="M1325.5,-116C1325.5,-116 1233.5,-116 1233.5,-116 1227.5,-116 1221.5,-110 1221.5,-104 1221.5,-104 1221.5,-92 1221.5,-92 1221.5,-86 1227.5,-80 1233.5,-80 1233.5,-80 1325.5,-80 1325.5,-80 1331.5,-80 1337.5,-86 1337.5,-92 1337.5,-92 1337.5,-104 1337.5,-104 1337.5,-110 1331.5,-116 1325.5,-116"/>
<text text-anchor="middle" x="1279.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="M1279.5,-159.85C1279.5,-159.85 1279.5,-126.08 1279.5,-126.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1283,-126.08 1279.5,-116.08 1276,-126.08 1283,-126.08"/>
<text text-anchor="middle" x="1295.5" y="-136.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">supports</text>
</g>
<!-- ai_agent_orchestration -->
<g id="node38" class="node">
<title>ai_agent_orchestration</title>
<path fill="#d9d9d9" stroke="black" d="M1330,-36C1330,-36 1229,-36 1229,-36 1223,-36 1217,-30 1217,-24 1217,-24 1217,-12 1217,-12 1217,-6 1223,0 1229,0 1229,0 1330,0 1330,0 1336,0 1342,-6 1342,-12 1342,-12 1342,-24 1342,-24 1342,-30 1336,-36 1330,-36"/>
<text text-anchor="middle" x="1279.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="M1279.5,-79.85C1279.5,-79.85 1279.5,-46.08 1279.5,-46.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1283,-46.08 1279.5,-36.08 1276,-46.08 1283,-46.08"/>
<text text-anchor="middle" x="1295.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="#cdcdcd" stroke="black" d="M1424.5,-276C1424.5,-276 1374.5,-276 1374.5,-276 1368.5,-276 1362.5,-270 1362.5,-264 1362.5,-264 1362.5,-252 1362.5,-252 1362.5,-246 1368.5,-240 1374.5,-240 1374.5,-240 1424.5,-240 1424.5,-240 1430.5,-240 1436.5,-246 1436.5,-252 1436.5,-252 1436.5,-264 1436.5,-264 1436.5,-270 1430.5,-276 1424.5,-276"/>
<text text-anchor="middle" x="1399.5" y="-255.8" font-family="Times,serif" font-size="9.00">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="M1399.5,-319.85C1399.5,-319.85 1399.5,-286.08 1399.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1403,-286.08 1399.5,-276.08 1396,-286.08 1403,-286.08"/>
<text text-anchor="middle" x="1415.5" y="-296.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="#cdcdcd" stroke="black" d="M1540.5,-276C1540.5,-276 1466.5,-276 1466.5,-276 1460.5,-276 1454.5,-270 1454.5,-264 1454.5,-264 1454.5,-252 1454.5,-252 1454.5,-246 1460.5,-240 1466.5,-240 1466.5,-240 1540.5,-240 1540.5,-240 1546.5,-240 1552.5,-246 1552.5,-252 1552.5,-252 1552.5,-264 1552.5,-264 1552.5,-270 1546.5,-276 1540.5,-276"/>
<text text-anchor="middle" x="1503.5" y="-255.8" font-family="Times,serif" font-size="9.00">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="M1462.5,-319.85C1462.5,-319.85 1462.5,-286.08 1462.5,-286.08"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1466,-286.08 1462.5,-276.08 1459,-286.08 1466,-286.08"/>
<text text-anchor="middle" x="1519.5" y="-296.4" font-family="Times,serif" font-size="7.00" fill="#4a4a4a">specifies</text>
</g>
</g>
</svg>
|