CWA-Project/
├── src/ # Código-fonte principal
│ ├── controllers/ # Controladores que orquestram agentes e workflows
│ │ ├── index.js # Controlador principal que gerencia fluxos
│ │ ├── userController.js # Exemplo de controlador para usuários
│ │ └── ticketController.js # Exemplo de controlador para chamados de suporte
│ │
│ ├── workflows/ # Workflows que definem lógicas e transições de estados
│ │ ├── ticketWorkflow.js # Workflow para processamento de chamados
│ │ ├── onboardingWorkflow.js # Workflow para onboarding de usuários
│ │ └── index.js # Exportação e registro de workflows
│ │
│ ├── agents/ # Agentes especializados em tarefas específicas
│ │ ├── classifierAgent.js # Agente que classifica entradas de texto
│ │ ├── billingAgent.js # Agente especializado em questões financeiras
│ │ ├── supportAgent.js # Agente para suporte técnico
│ │ └── index.js # Registro e inicialização dos agentes
│ │
│ ├── tools/ # Ferramentas externas e utilitárias
│ │ ├── apiClient.js # Cliente API genérico
│ │ ├── emailSender.js # Integração com serviço de envio de e-mails
│ │ └── index.js # Exportação centralizada das ferramentas
│ │
│ ├── db/ # Conexões e operações com banco de dados
│ │ ├── connection.js # Configuração e inicialização da conexão com o banco de dados
│ │ ├── userModel.js # Modelo para a tabela/coleção de usuários
│ │ ├── ticketModel.js # Modelo para a tabela/coleção de chamados
│ │ └── index.js # Registro e exportação dos modelos
│ │
│ ├── memory/ # Camada de memória para armazenamento contextual
│ │ ├── shortTerm.js # Memória de curto prazo (sessão)
│ │ ├── longTerm.js # Memória de longo prazo (persistente)
│ │ └── index.js # Interface principal para memória
│ │
│ ├── utils/ # Funções utilitárias reutilizáveis
│ │ ├── logger.js # Configuração de logging
│ │ ├── errorHandler.js # Tratamento de erros
│ │ ├── config.js # Configurações do projeto
│ │ └── index.js # Registro de utilitários
│ │
│ └── app.js # Arquivo principal de inicialização do app
│
├── .env # Variáveis de ambiente
├── .gitignore # Arquivos ignorados pelo Git
├── package.json # Dependências e configurações do projeto Node.js
├── package-lock.json # Lockfile do npm/yarn
└── README.md # Documentação inicial do projeto
Em resposta a CWA: Arquitetura de Controller Workflow Agent
0