Overview ======== AALI (Ansys Automation and Learning Intelligence) is a distributed system for orchestrating workflows and executing functions. It consists of multiple services that communicate via gRPC and WebSocket protocols. Architecture ------------ .. code-block:: text ┌─────────────────────────────────────────────────────────┐ │ User/Client │ └────────────────────┬────────────────────────────────────┘ │ │ WebSocket/gRPC ▼ ┌─────────────────────────────────────────────────────────┐ │ AALI Agent │ │ (Workflow orchestration & routing) │ └────────────┬──────────────────────────┬─────────────────┘ │ │ │ gRPC │ gRPC ▼ ▼ ┌───────────────────────┐ ┌─────────────────────────┐ │ AALI FlowKit │ │ AALI Exec │ │ (Go/Python functions)│ │ (Remote execution) │ └───────────────────────┘ └─────────────────────────┘ ═══════════════════════════════════════════════════════════ ▲ ▲ ▲ │ │ │ └───────────────┴───────────────┘ AALI Shared Types (Common type definitions) Why Shared Types? ----------------- AALI Shared Types ensures all services speak the same language by providing: - **Type definitions** for functions, sessions, and data structures - **gRPC protocols** (``aaliagentgrpc``, ``aaliflowkitgrpc``) for service communication - **Type converters** for JSON/Go transformations - **Configuration structures** for service setup When services like the Agent send function requests to FlowKit, or when FlowKit returns results, they all use these common type definitions to ensure data compatibility. What's Next? ------------ Continue with the :doc:`prerequisites ` to set up your development environment.