Composable, event-driven system architecture. Pipeline pattern for message processing. Circuit breakers for failover. Multi-tenant workspace isolation. Enterprise-grade reliability.
Composable middleware architecture — each step transforms shared MessageContext
Load conversation history, workspace settings, KB metadata
Injection detection, content filtering, rate limiting
Semantic search → vector store → context enrichment
Groq (primary) → OpenAI (failover) with circuit breaker
Keyword-based positive/neutral/negative detection
Pattern matching: FAQ, booking, sales, support, escalation
Heuristic: length, citations, relevance signals → 0.0-1.0
Pricing/timeline/contact signals → cumulative score
Save message, update conversation state, emit events
Add/remove pipeline steps without touching core engine. Steps share MessageContext — modify in-place, return control to pipeline.
Production-grade components. Battle-tested reliability. Zero vendor lock-in.
Enterprise-grade architectural patterns for reliability and maintainability
Composable middleware for message processing. Isolated, testable, swappable steps.
LLM router tracks failures, auto-failover from Groq to OpenAI after threshold.
Every DB query scoped to workspace_id. JWT tokens carry workspace context.
In-process pub/sub for cross-module communication. Decouples analytics, channels.
Database access abstracted. Simplifies testing and data layer migration.
Redis failure doesn't break app. Cache, rate limiting degrade gracefully.
Live endpoint testing. Complete schema definitions. Request/response examples.