init commit
This commit is contained in:
104
docs/graphs/system_architecture.dot
Normal file
104
docs/graphs/system_architecture.dot
Normal file
@@ -0,0 +1,104 @@
|
||||
digraph system_architecture {
|
||||
rankdir=TB
|
||||
bgcolor="#0a0e17"
|
||||
fontname="Helvetica"
|
||||
node [fontname="Helvetica" fontsize=11 style=filled color="#1e2a4a" fontcolor="#e8eaf0"]
|
||||
edge [fontname="Helvetica" fontsize=9 fontcolor="#8892a8" color="#4a5568"]
|
||||
|
||||
label="System Architecture"
|
||||
labelloc=t
|
||||
fontsize=16
|
||||
fontcolor="#0066ff"
|
||||
|
||||
subgraph cluster_external {
|
||||
label="External"
|
||||
style=dashed
|
||||
color="#1e2a4a"
|
||||
fontcolor="#8892a8"
|
||||
|
||||
kong [label="Kong Konnect\n(API Gateway)" fillcolor="#243056" shape=octagon]
|
||||
bedrock [label="AWS Bedrock\n(Claude Sonnet)" fillcolor="#243056" shape=octagon]
|
||||
openmeteo [label="OpenMeteo\n(Live Weather)" fillcolor="#1a3a1a" shape=octagon fontcolor="#00c853"]
|
||||
faa [label="FAA NASSTATUS\n(Live Airport Status)" fillcolor="#1a3a1a" shape=octagon fontcolor="#00c853"]
|
||||
}
|
||||
|
||||
subgraph cluster_app {
|
||||
label="Application (EC2 / Kind Cluster)"
|
||||
style=dashed
|
||||
color="#1e2a4a"
|
||||
fontcolor="#8892a8"
|
||||
|
||||
subgraph cluster_frontend {
|
||||
label="Frontend"
|
||||
color="#1e2a4a"
|
||||
fontcolor="#4a5568"
|
||||
ui [label="Vue 3 SPA\n(NOVA UI)\nPort 8040" fillcolor="#121829" shape=box]
|
||||
}
|
||||
|
||||
subgraph cluster_api {
|
||||
label="API Layer"
|
||||
color="#1e2a4a"
|
||||
fontcolor="#4a5568"
|
||||
fastapi [label="FastAPI\n+ WebSocket\nPort 8000" fillcolor="#121829" shape=box]
|
||||
}
|
||||
|
||||
subgraph cluster_agents {
|
||||
label="Agent Clients"
|
||||
color="#1e2a4a"
|
||||
fontcolor="#4a5568"
|
||||
efhas [label="FCE Agent\n(Passenger)" fillcolor="#1a1a3a" shape=box]
|
||||
handover [label="Handover Agent\n(Ops)" fillcolor="#1a1a3a" shape=box]
|
||||
}
|
||||
|
||||
subgraph cluster_mcp {
|
||||
label="MCP Servers (stdio)"
|
||||
color="#0066ff"
|
||||
fontcolor="#0066ff"
|
||||
shared [label="shared\nflights · weather · airport\nmaintenance" fillcolor="#0d1a33" shape=component]
|
||||
ops [label="ops\ncrew · rebookings\nnarrative" fillcolor="#0d1a33" shape=component]
|
||||
passenger [label="passenger\nnotification" fillcolor="#0d1a33" shape=component]
|
||||
}
|
||||
|
||||
subgraph cluster_data {
|
||||
label="Data Layer"
|
||||
color="#1e2a4a"
|
||||
fontcolor="#4a5568"
|
||||
scenarios [label="Scenario Manager\n4 scenarios" fillcolor="#121829" shape=cylinder]
|
||||
mock [label="Mock Data\n(Pydantic models)" fillcolor="#121829" shape=cylinder]
|
||||
}
|
||||
|
||||
subgraph cluster_obs {
|
||||
label="Observability"
|
||||
color="#1e2a4a"
|
||||
fontcolor="#4a5568"
|
||||
langfuse [label="Langfuse\nPort 3000" fillcolor="#121829" shape=box]
|
||||
postgres [label="PostgreSQL" fillcolor="#121829" shape=cylinder]
|
||||
}
|
||||
}
|
||||
|
||||
// Connections
|
||||
ui -> kong [label="HTTP" style=dashed]
|
||||
kong -> fastapi [label="proxy"]
|
||||
ui -> fastapi [label="WebSocket" color="#0066ff"]
|
||||
|
||||
fastapi -> efhas [label="trigger"]
|
||||
fastapi -> handover [label="trigger"]
|
||||
|
||||
efhas -> shared [label="MCP" color="#0066ff"]
|
||||
efhas -> passenger [label="MCP" color="#0066ff"]
|
||||
handover -> shared [label="MCP" color="#0066ff"]
|
||||
handover -> ops [label="MCP" color="#0066ff"]
|
||||
|
||||
shared -> openmeteo [label="HTTP" color="#00c853"]
|
||||
shared -> faa [label="HTTP" color="#00c853"]
|
||||
shared -> scenarios
|
||||
shared -> mock
|
||||
|
||||
ops -> mock
|
||||
ops -> scenarios
|
||||
ops -> bedrock [label="Converse API" style=dashed]
|
||||
passenger -> bedrock [label="Converse API" style=dashed]
|
||||
|
||||
langfuse -> postgres
|
||||
fastapi -> langfuse [label="traces" style=dotted color="#8892a8"]
|
||||
}
|
||||
Reference in New Issue
Block a user