| Admin | Usuário com role admin — infoprodutor/escola que gerencia cursos, agentes e alunos |
| Agente | Assistente de IA treinado com o conteúdo de um curso específico, acessado via chat |
| Aluno | Usuário com role student que conversa com agentes via chat |
| Checkout Session | Sessão de pagamento do Stripe utilizada para processar assinaturas (modo subscription) e compra de créditos (modo payment) |
| Chunk | Trecho de documento resultante da divisão por RecursiveCharacterTextSplitter |
| Crédito | Unidade de mensagem permitida por aluno por período (renova mensalmente) |
| Crédito Extra | Crédito adquirido via compra de pacote, armazenado em StudentMessageCredit.extra_credits |
| Customer Portal | Portal self-service da Stripe onde admins podem atualizar método de pagamento, ver faturas, cancelar ou retomar assinatura |
| Embedding | Representação vetorial de texto gerada pelo modelo text-embedding-3-small |
| Enrollment | Matrícula de um aluno em um curso, definindo acesso ao agente correspondente |
| FAISS | Facebook AI Similarity Search — vector store local usado para recuperação RAG |
| GPT-5.4 | Modelo de linguagem avançado da OpenAI, disponível nos planos Pro e Enterprise |
| Infoprodutor | Criador de conteúdo digital (cursos online) — papel equivalente a Admin |
| LangChain | Framework para construção de aplicações de IA com LLMs |
| LangGraph | Biblioteca para orquestração de fluxos de IA via grafos de estado |
| MessagePackage | Pacote de créditos extras que pode ser comprado pelo aluno (ex: Básico 50 créditos, Intermediário 150, Premium 500) |
| MessagePurchase | Registro de uma compra de pacote de créditos, com status de pagamento (pending, completed, failed, expired, refunded) |
| Multi-tenant | Arquitetura onde múltiplos clientes (escolas) compartilham a mesma infraestrutura |
| Payment Intent | Objeto Stripe que representa a intenção de cobrança de um pagamento; associado a uma MessagePurchase via stripe_payment_intent_id |
| Plano | Tier de assinatura (Free, Starter, Pro, Max) com limites e preços |
| Price ID | Identificador único de um preço no Stripe (price_...), associado a um Plan ou MessagePackage |
| RAG | Retrieval-Augmented Generation — técnica que enriquece respostas do LLM com contexto recuperado |
| Role | Papel do usuário: admin (infoprodutor) ou student (aluno) |
| Escola | Entidade multi-tenant que agrupa cursos, agentes e alunos |
| SSE | Server-Sent Events — protocolo HTTP para streaming de dados do servidor ao cliente |
| Stripe | Plataforma de pagamentos usada para processar assinaturas de escolas e compra de créditos de alunos via checkout e webhook |
| Stripe Webhook | Endpoint (/api/stripe/webhook/) que recebe eventos do Stripe (ex: checkout.session.completed, invoice.paid) para sincronizar status de pagamento em tempo real |
| StripeWebhookEvent | Registro idempotente dos eventos recebidos do webhook da Stripe; previne processamento duplicado via stripe_event_id |
| Subscription | Assinatura ativa da escola que define plano, limites, status do trial e status de pagamento Stripe |
| Trial | Período de teste gratuito de 14 dias para novas escolas no plano Free |
| Vector Store | Banco de dados de vetores (embeddings) para busca por similaridade semântica |
| Webhook Secret | Chave (whsec_...) usada para verificar a autenticidade dos eventos recebidos do Stripe (Stripe-Signature) |