Componentes da Plataforma AMia¶
Descrição de responsabilidades, tecnologias e interfaces de cada componente.
Portal (amIA-Portal)¶
| Campo | Detalhe |
|---|---|
| Tecnologia | Angular 19, TypeScript, Angular Material |
| Responsabilidade | Interface web SPA para todos os papéis de usuário |
| Autenticação | @azure/msal-angular — Azure AD / Entra ID |
| Comunicação | HttpClient + interceptadores JWT, @aspnet/signalr para real-time |
| Organização | Atomic Design (átomos → moléculas → organismos → templates → páginas) |
| Repositório | amIA-Portal |
Interfaces expostas: nenhuma (SPA client-side) Interfaces consumidas: AMia Core REST API, AMia Core SignalR Hub
AMia Core (amIA-Core)¶
| Campo | Detalhe |
|---|---|
| Tecnologia | .NET 10, ASP.NET Core, Entity Framework Core 10, PostgreSQL |
| Responsabilidade | Orquestração de negócio — projetos, specs, Work Items, iterações, RBAC, auditoria |
| Arquitetura | Clean Architecture + CQRS (Commands/Queries/Handlers via MediatorDispatcher) |
| Autenticação | Microsoft.Identity.Web + Microsoft Graph — validação JWT Azure AD |
| Observabilidade | Elastic APM, Serilog → Elasticsearch |
| Repositório | amIA-Core |
Interfaces expostas:
- GET/POST/PUT/PATCH/DELETE /api/v1/projects/... — projetos, specs, Work Items, iterações
- GET /api/v1/prompts/{key} — prompts dos agentes (consumido pelo Agents)
- SignalR Hub /hubs/amia — eventos em tempo real para o Portal
- GET /health — status de dependências
Interfaces consumidas: PostgreSQL, RabbitMQ, Azure Key Vault, Azure Blob Storage, Azure AD (Microsoft Graph)
AMia Agents (amIA-Agents)¶
| Campo | Detalhe |
|---|---|
| Tecnologia | Python 3.11, FastAPI, LangChain, Anthropic Claude (primário), Google Gemini (fallback) |
| Responsabilidade | Agentes especializados de IA — geração de Visão, Arquitetura, Design, Story Mapping, Codificação, QA/BDD |
| Arquitetura | Clean Architecture + chains LangChain independentes por agente |
| Prompts | Consumidos em runtime via GET /api/v1/prompts/{key} no Core — Prompt As Code |
| Contingência | Troca automática Anthropic → Gemini quando latência > 20s por 3 minutos |
| Observabilidade | Elastic APM, métricas de LLM (tokens, latência, custo) → Elasticsearch |
| Repositório | amIA-Agents |
Interfaces expostas:
- Workers RabbitMQ: amia.specs.generate, amia.workitems.generate, amia.story_tasks.generate
- POST /api/v1/agents/{type}/run — acionamento direto pelo MCP Server
- GET /health — status de LLM providers e Core API
Interfaces consumidas: RabbitMQ, AMia Core REST API, Anthropic API, Google Gemini API, Azure Key Vault, Redis, Elasticsearch
MCP Server (amIA-MCP-Server)¶
| Campo | Detalhe |
|---|---|
| Tecnologia | Python 3.11, FastAPI, Model Context Protocol (MCP) |
| Responsabilidade | Adaptador local — expõe tools MCP para o ambiente do desenvolvedor (IDE, Claude Code) |
| Autenticação | JWT Bearer (Azure AD) — validado em cada requisição |
| Acesso a arquivos | Restrito ao diretório {projectRoot} definido em .amia.json |
| Repositório | amIA-MCP-Server |
Interfaces expostas (tools MCP):
- read_file, write_file, list_files — operações seguras no repositório local
- get_spec, get_work_items — contexto do projeto via Core
- generate_code, generate_tests — acionamento de agentes
Interfaces consumidas: AMia Core REST API (specs, Work Items), AMia Agents API (geração)
Prompts (amIA-PromptAsCode)¶
| Campo | Detalhe |
|---|---|
| Tecnologia | Markdown com frontmatter YAML, Azure DevOps Pipelines |
| Responsabilidade | Versionamento de prompts dos agentes como artefatos de código |
| Fluxo | PR → merge → pipeline CI/CD → POST /api/v1/prompts/{key}/versions no Core |
| Rollback | Revert de commit re-executa pipeline com versão anterior |
| Repositório | amIA-PromptAsCode |
Banco de Dados — PostgreSQL 15+¶
| Entidade principal | Responsabilidade |
|---|---|
Project |
Projetos com metadados e lista de membros/papéis |
Specification |
Specs por projeto (Visão, Arquitetura, Design, Story Mapping) com versionamento |
WorkItem |
Épicos, Features, Stories e Tasks com hierarquia |
Iteration |
Iterações com Work Items alocados e status |
Prompt / PromptVersion |
Prompts dos agentes com histórico de versões |
AuditLog |
Rastreamento completo de operações para conformidade |