Pular para conteúdo

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