Container View: Gesso AI
The AI abstraction layer. Providers hold no API keys: they call the frontend's API middleware, which calls the model.
flowchart LR
gemini("Google Gemini<br/>[Software System]")
vertex("Google Vertex AI<br/>[Software System]")
subgraph gessoAI["Gesso AI [Software System]"]
geminiProvider("Gemini Provider<br/>[Container]")
vertexProvider("Vertex Provider<br/>[Container]")
end
gemini -. "Via API middleware" .-> geminiProvider
vertex -. "Via API middleware" .-> vertexProvider
classDef external fill:#64748b,stroke:#475569,color:#ffffff
classDef container fill:#dbeafe,stroke:#2563eb,color:#1e3a8a
class gemini,vertex external
class geminiProvider,vertexProvider container
style gessoAI fill:none,stroke:#7d8794,stroke-width:2px,stroke-dasharray:6 4