Architecture
System Overview
The system follows a modular, microservices-oriented architecture with clear separation of concerns:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CRED Agent AI β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β Slack Module β β Teams Module β β GraphQL API β β
β β (Controller) β β (Controller) β β (Controller) β β
β βββββββββββ¬ββββββββ βββββββββββ¬ββββββββ βββββββββββ¬ββββββββ β
β β β β β
β ββββββββββββββββββββββΌβββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Message Processing Layer β β
β β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββ β β
β β β Messages Serviceβ β LLM Processor β β File β β β
β β β β β Service β β Processor β β β
β β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β AI & Processing Layer β β
β β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββ β β
β β β Claude β β MCP Connector β β OpenAI β β β
β β β Connector β β β β Connector β β β
β β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Data & Storage Layer β β
β β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββ β β
β β β PostgreSQL β β Google Cloud β β File β β β
β β β Database β β Storage β β Import β β β
β β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Core Design Principles
- Modularity - Each platform integration is isolated in its own module
- Scalability - Stateless design with external storage
- Extensibility - Easy addition of new platforms and processors
- Reliability - Comprehensive error handling and retry mechanisms
- Security - JWT-based authentication and secure token management
Core Modules
Messages Module (src/messages/)
Central message processing orchestrator.
Key Components:
MessagesService- Main orchestrator for message processingTextProcessor- Handles text content preprocessingDatabaseConversationHistoryAdapter- Manages conversation persistence
Features:
- Debug mode support (
[debug],[info]flags) - Conversation history management
- Message threading support
- Token usage tracking
LLM Processor Module (src/llm-processor/)
Handles all AI-related processing.
Key Components:
| Component | Purpose |
|---|---|
LLMProcessorService |
Main LLM processing coordinator |
FileProcessorService |
Processes files for AI consumption |
CSVProcessorService |
CSV processing with LangChain |
ExcelProcessorService |
Excel file processing |
AudioProcessorService |
Audio transcription with Whisper |
Claude Connector (src/connectors/claude/)
Direct integration with Anthropic's Claude AI.
- Claude Sonnet 4 model integration
- Tool calling with MCP integration
- Streaming response processing
- System prompt customization per platform
MCP Connector (src/connectors/mcp/)
Model Context Protocol integration.
- Multi-server MCP client support
- JWT-based authentication
- Tool discovery and execution
- HTTP transport with custom headers