$ show rootflo/wavefront
Wavefront is an enterprise AI middleware platform, open-source alternative to tools like UnifyApps and n8n. It provides a full-stack system for building, managing, and deploying AI agents, chatbots, voice agents, knowledge bases (RAG), and AI-powered workflows. The monorepo includes a Python FastAPI backend with a modular, domain-driven architecture (agents, tools, knowledge base, voice, triggers, auth, API proxy), a React/TypeScript management console, background workers (Celery, stream processors), and the `flo_ai` Python agent framework (LLM wrappers, Arium graph engine, tool system). The platform supports multi-tenancy, RBAC, cloud storage abstractions (GCP/AWS/Azure), and pluggable datasource and authenticator modules. While primarily an application, it incorporates RAG pipelines, image embedding services, and model inference, giving it a hybrid character with strong data engineering elements.
The LLM identified 5 files worth highlighting for reuse:
Defines a CloudStorageHandler abstract base class and a CloudStorageManager factory that instantiates GCS, S3, or Azure Blob implementations based on configuration. This pattern isolates cloud provider details behind a common interface, making it trivial to switch providers or mock storage in tests. It is self-contained, has no internal imports beyond the types package, and can be extracted into any project requiring multi-cloud file operations.
A generic, type-hinted async SQLAlchemy repository implementing common CRUD operations (create, find, update, upsert, delete) with support for filtering, pagination, raw SQL execution, and session management. It accepts a model class and optional session injection for transactional ownership. The design is framework-agnostic within SQLAlchemy and can be reused with any model. It includes pgvector HSNW index tuning for vector search, demonstrating advanced data access patterns.
The Arium runtime is a YAML-driven graph execution engine for orchestrating multi-agent workflows. It supports branching (IF-ELSE, switch), concurrency (parallel branches), looping (FOREACH), and structured output schemas. The implementation separates graph definition from execution, uses typed nodes, and integrates with the flo_ai memory and tool systems. This is a non-trivial, self-contained orchestration pattern that could be extracted for any sequential or parallel task workflow.
FastAPI middleware that sets security-related HTTP response headers (CSP, HSTS, X-Content-Type-Options, Referrer-Policy, etc.) with path-dependent CSP configuration (stricter for API routes, relaxed for docs). It has no internal dependencies aside from Starlette/FastAPI and can be dropped into any FastAPI project to enforce security headers consistently.
Generic cache manager class wrapping Redis operations (get, set, delete, xadd, xreadgroup) with retry logic, connection pooling, and support for Azure Managed Redis (SSL). Exposes a simple interface used across the platform for caching LLM configs, user data, and execution status. Can be extracted as a standalone utility for any project needing Redis caching with robust connection management.