diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 320f35ac..5b97d913 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,27 +1,8 @@
-# Contributing to Flo AI
+# Contributing to Wavefront
-Thank you for your interest in contributing to Flo AI! We welcome contributions from the community and are excited to work with you.
+Thank you for your interest in contributing to Wavefront! We welcome contributions from the community and are excited to work with you.
-This guide will help you get started with contributing to the Flo AI project. Please read it carefully before making your first contribution.
-
-> **Note**: This contributing guide currently focuses on **Flo AI**, the core agent building and orchestration library. **Wavefront AI** (the enterprise middleware platform) is currently in development and will be open-sourced in the future. When Wavefront AI is released, we will update this guide with additional contribution guidelines for the middleware platform.
-
----
-
-## ๐ Table of Contents
-
-- [Code of Conduct](#code-of-conduct)
-- [Getting Started](#getting-started)
-- [Development Environment Setup](#development-environment-setup)
-- [Project Structure](#project-structure)
-- [Development Workflow](#development-workflow)
-- [Code Style and Standards](#code-style-and-standards)
-- [Testing Guidelines](#testing-guidelines)
-- [Documentation Guidelines](#documentation-guidelines)
-- [Commit Message Guidelines](#commit-message-guidelines)
-- [Pull Request Process](#pull-request-process)
-- [Types of Contributions](#types-of-contributions)
-- [Questions and Support](#questions-and-support)
+This guide will help you get started with contributing to the Wavefront project. Please read it carefully before making your first contribution.
---
@@ -116,27 +97,11 @@ source .venv/bin/activate # On macOS/Linux
### Environment Variables
-Set up your API keys for testing (create a `.env` file or export them):
-
-[Documentation to be added soon]
-
-### Verify Installation
-
-Test your installation:
+Set up your API keys for testing (create a `.env` file or export them). Please find the documentation on environment variables [here](DOCKER_SETUP.md).
-```bash
-# Run the test suite
-pytest tests/unit-tests/
-
-# Run a specific test
-pytest tests/unit-tests/test_agent_builder_tools.py
-```
+## ๐ Setting up the project Locally
-## ๐ Project Structure
-
-Understanding the project structure will help you navigate the codebase:
-
-[To be added]
+For local development, you can use the following instructions in quick start mentioned [here](/wavefront/README.md#quick-start).
---
@@ -232,91 +197,12 @@ git push origin feature/your-feature-name
---
-## ๐ป Code Style and Standards
-
-### Python Code Style
-
-We use **pre-commit hooks** to ensure code quality. Set it up:
-
-```bash
-# Install pre-commit
-pip install pre-commit
-
-# Install hooks
-pre-commit install
-
-# Run on all files (optional, but recommended)
-pre-commit run --all-files
-```
-
-**Key style guidelines:**
-
-1. **Follow PEP 8** - Python style guide
-2. **Type hints** - Use type hints for function signatures:
- ```python
- from typing import Optional, List
-
- async def process_data(
- items: List[str],
- limit: Optional[int] = None
- ) -> dict:
- ...
- ```
-3. **Docstrings** - Use Google-style docstrings:
- ```python
- def my_function(param1: str, param2: int) -> bool:
- """Brief description of the function.
-
- Args:
- param1: Description of param1
- param2: Description of param2
-
- Returns:
- Description of return value
-
- Raises:
- ValueError: When something goes wrong
- """
- ```
-4. **Async/Await** - Use async/await for I/O operations
-5. **Error Handling** - Use appropriate exception types and provide clear error messages
-
-## ๐งช Testing Guidelines
-
-### Writing Tests
-
-1. **Test Coverage** - Aim for high test coverage, especially for new features
-2. **Test Organization**:
- - Unit tests in `tests/unit-tests/`
- - Integration tests in `tests/integration-tests/`
- - Mark integration tests with `@pytest.mark.integration`
-
-3. **Test Naming**:
- ```python
- def test_function_name_with_condition_returns_expected():
- """Test that function_name returns expected when condition is met."""
- ```
-
-4. **Async Tests**:
- ```python
- import pytest
-
- @pytest.mark.asyncio
- async def test_async_function():
- result = await my_async_function()
- assert result == expected
- ```
-
-5. **Fixtures** - Use pytest fixtures for common setup:
- ```python
- @pytest.fixture
- def sample_agent():
- return AgentBuilder().with_name('test').build()
- ```
-
### Running Tests
```bash
+# Run all tests
+cd wavefront
+
# Run all unit tests
pytest tests/unit-tests/
@@ -345,32 +231,6 @@ pytest -m "not integration"
---
-## ๐ Documentation Guidelines
-
-### Code Documentation
-
-- **Docstrings** - All public functions, classes, and methods should have docstrings
-- **Type hints** - Use type hints for better IDE support and documentation
-- **Comments** - Add comments for complex logic, but prefer self-documenting code
-
-### Documentation Updates
-
-When adding new features, update:
-
-1. **README.md** - If the feature is user-facing
-2. **API Documentation** - If adding new APIs
-3. **Examples** - Add examples in `flo_ai/examples/` if applicable
-4. **Docstrings** - Update docstrings for any changed functions
-
-### Documentation Format
-
-- Use Markdown for documentation files
-- Use MDX for the documentation site
-- Include code examples where helpful
-- Keep documentation up-to-date with code changes
-
----
-
## ๐ Commit Message Guidelines
We follow [Conventional Commits](https://www.conventionalcommits.org/) specification:
@@ -572,18 +432,6 @@ Contributors will be recognized in:
---
-## ๐ License
-
-By contributing, you agree that your contributions will be licensed under the same license as the project (MIT License for Flo AI).
-
----
-
## ๐ Thank You!
-Thank you for taking the time to contribute to Flo AI! Your contributions help make this project better for everyone.
-
-**Happy Contributing! ๐**
-
----
-
-**Questions?** Feel free to open an issue or reach out to vishnu@rootflo.ai
+Thank you for taking the time to contribute to Wavefront! Your contributions help make this project better for everyone.
\ No newline at end of file
diff --git a/README.md b/README.md
index 4c4f5781..a0a8e78e 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,6 @@
-
GitHub
@@ -30,6 +29,8 @@
Website
โข
Documentation
+ โข
+ Discord
@@ -42,33 +43,38 @@
-# ๐ Wavefront AI Middleware
+## What is Wavefront ?
+
+Wavefront AI is an open-source middleware platform designed to:
+- Seamlessly connect to any API, database or file storage system
+- Connect to any LLM or SLM
+- Build AI-driven agents, workflows, and automations across enterprise by connecting to multiple data sources, knowledge bases, and services
+- Provide authentication, authorization, observability, monitoring & evaluation for all agents & workflows
-Wavefront AI is an open-source middleware platform designed to seamlessly build AI-driven agents, workflows, and automations across enterprise environments. It acts as a connective layer that bridges frontend applications and AI automations with backend databases, data-warehouses, data-lakes, third-party services, ensuring secure access, observability, and compatibility with modern AI
+## What people build with Wavefront ?
+- To build AI agents & workflows to audit, underwrite, supervise contact center, and automate business processes
+- To build knowledge bases & RAG ready applications for internal enterprise use
+- To build voice & conversational agents collections and sales use-cases
+- To build AI workflows to connect multiple data sources, knowledge bases, and services
-**Status**: Beta Release
-**Beta release**: Dec 2025
-**Wavefront License**: GNU AFFERO GENERAL PUBLIC LICENSE 3.0
-**FloAI License**: MIT LICENSE
-**Contributing**: We welcome early feedback! See [CONTRIBUTING.md](CONTRIBUTING.md).
-**Community**: Join our discord at https://discord.gg/BPXsNwfuRU
----
+| Project Information | Details |
+|-----------|------------|
+|**Release Status** | Beta Release|
+|**Wavefront License** | GNU AFFERO GENERAL PUBLIC LICENSE 3.0 |
+|**FloAI License** | MIT LICENSE |
## โจ Key Capabilities
-- **๐ฏ Modular AI Application Integration**
- Deploy diverse AI agents for auditing, underwriting, contact center supervision, and business process automation without rebuilding infrastructure.
-
- **๐ Unified API Layer**
- Standardized APIs for developing, deploying, and managing AI workflows across multiple use cases and frameworks.
+ Standardized APIs for developing, deploying, and managing AI workflows & agents across multiple use cases and frameworks.
- **๐ Enterprise-Grade Authentication & Authorization**
- Native integrations with Google Auth, LDAP, Auth0, Okta, and Microsoft AD/Entra for seamless SSO and access controls.
+ Native integrations with Google Auth and Microsoft AD/Entra for seamless SSO and access controls for client applications
- **๐ Comprehensive Data Connectivity**
Ingest data from OLAP/OLTP systems (BigQuery, Redshift), HDFS, cloud storage (S3, GCS), databases (PostgreSQL, MongoDB), and enterprise APIs (Salesforce, SAP).
@@ -83,7 +89,7 @@ Wavefront AI is an open-source middleware platform designed to seamlessly build
Built-in telemetry with Grafana and Prometheus support. Track agent performance, audit trails, and guardrail enforcement in real-time.
- **๐ค No Code Agent & Workflow Builder**
- Built-in capabilities to build and customer AI agents, and AI Workflows, connecting Data Sources, Knowledge Bases, in minutes
+ Built-in capabilities to build and customize AI agents, and AI Workflows, connecting Data Sources, Knowledge Bases, in minutes
- **๐ Voice & Conversational Agents**
Integrated Voice-to-Voice Bots, ASR models, and agentic flows for contact center and conversational use cases.
@@ -91,127 +97,42 @@ Wavefront AI is an open-source middleware platform designed to seamlessly build
- **๐ง Knowledge Bases & RAG Ready**
Native support for Retrieval-Augmented Generation with MCP connectors and external knowledge bases.
----
+- **๐ฏ Modular AI Application Integration (Coming Soon)**
+Deploy diverse AI agents for auditing, underwriting, contact center supervision, and business process automation without rebuilding infrastructure.
-## ๐๏ธ Architecture Overview
+## Quick Start
-
-
-
+**Option 1**: [Schedule a demo](https://calendly.com/meetings-rootflo/30min) and we help you build immediately.
-### Layer Descriptions
+**Option 2**: Self-host for maximum control and customization. Please find the self-hosting instructions in the [Wavefront Documentation](https://github.com/rootflo/wavefront/tree/develop/wavefront).
-| Layer | Purpose | Components |
-|-------|---------|------------|
-| **Frontend Applications** | User-facing AI interfaces | Supervisors, Audit Agents, Underwriters, Copilots |
-| **API Layer** | Standardized communication | Frontend SDK, REST/GraphQL APIs |
-| **Authentication** | Identity verification & SSO | Google Auth, LDAP, Auth0, Okta, Microsoft AD |
-| **Authorization (Agents)** | Agent-level access policies | Role definitions, permission mapping |
-| **AI Workflows** | Intelligent automation | Agentic flows, Voice agents, LLM integrations, RAG |
-| **Data Processing** | ETL and API management | Pipelines, transformations, HTTP endpoints |
-| **Authorization (Data)** | Data source access control | Fine-grained permissions, audit logging |
-| **Data Sources** | Enterprise data systems/Services | Databases, APIs, Cloud storage, Data warehouses, Servics like Salesforce, SAP etc. |
## Platform Components
As part of the project, we are building the following components
-- [FloAI](https://github.com/rootflo/flo-ai/tree/develop/flo_ai) library for Agent Building & A2A Orchestration
-- **Wavefront Core** Middleware Service, which connects multiple frontend applications with complex backend ai pipelines, provides authentication, authorization, observability, monitoring & evaluation
-- **Wavefront Control Panel** Unified frontend for configuring agents, workflows, AI models, Guardrails developer-friendly, RBAC etc.
-- **Wavefront cli** for configuring through cli (Yet to Build), for full developer-friendly control
-
-## ๐ฃ๏ธ Current Support & Roadmap
-
-### Data Adapters
-
-| Adapter | Status | Notes |
-|---------|--------|-------|
-| BigQuery | โ
Available | Full read/write support |
-| Redshift | โ
Available | Production-ready |
-| PostgreSQL | ๐ In Progress | Optimized for large datasets |
-| MySQL | ๐ Roadmap | Compatible with MySQL 5.7+ |
-
-### API Adapters
-
-| Adapter | Status | Notes |
-|---------|--------|-------|
-| Custom API Configuration | ๐ In Progress | Flexible HTTP endpoint support |
-| Salesforce | ๐ In Progress | Native API integration |
-
-### LLM Connectors
-
-| Model/Service | Status | Notes |
-|---------------|--------|-------|
-| OpenAI | โ
Available | GPT-3.5, GPT-4 support |
-| Anthropic | โ
Available | Claude models supported |
-| vLLM (Open-Source) | โ
Available | Self-hosted inference |
-| Ollama | โ
Available | Local model deployment |
-| GroqAI | ๐ In Progress | Fast inference support |
-| Vertex AI | โ
Available | Google Cloud integration |
-| Bedrock | ๐ In Progress | AWS integration coming soon |
-
-### Authentication Providers
-
-| Provider | Status | Notes |
-|----------|--------|-------|
-| Google Auth | โ
Available | OAuth 2.0 support |
-| Microsoft AD/Entra | โ
Available | Enterprise SSO ready |
-| Okta | ๐ Roadmap | Q1 2026 |
-| SAML 2.0 | ๐ Roadmap | Q1 2026 |
+| Component | Description |
+|---------|-------------|
+| **flo-ai** | [FloAI](https://github.com/rootflo/flo-ai/tree/develop/flo_ai) library for Agent Building & A2A Orchestration. Detailed documentation is available [here](https://wavefront.rootflo.ai/flo-ai). |
+| **wavefront-server** | Core Middleware Service, which connects everything and orchestrates the flows. Detailed documentation is available [here](https://github.com/rootflo/wavefront/tree/develop/wavefront). |
+| **wavefront-client** | Unified frontend for configuring agents, workflows, AI models, Guardrails developer-friendly, RBAC etc. Details [here](https://github.com/rootflo/wavefront/tree/develop/wavefront). |
+| **wavefront-cli** | for configuring through cli, for full developer-friendly control (**Coming Soon**) |
-### Audit & Observability
-
-| Feature | Status | Notes |
-|---------|--------|-------|
-| Application Metrics | โ
Available | Prometheus-compatible |
-| Application Logs | โ
Available | Structured logging |
-| AI Token Tracking | โ
Available | Token tracking per agent |
-| Open Telemetry | โ
Available | Full OTel support |
-| AI Audit Logging | ๐ In Progress | Detailed decision trails (Q4 2025) |
-| AI Guardrails | ๐ Roadmap | Policy enforcement (Q1 2026) |
-
-### Frontend SDK
-
-| Feature | Status | Notes |
-|---------|--------|-------|
-| Component Library | โ
Available | React components ready |
-| AI-Based No-Code Builder | ๐ Roadmap | Visual agent creation (Q1 2026) |
-| Low Code AI Agent Builder | โ
Available | YAML-based builder available |
-
-### Release Timeline
+## Release Timeline
| Quarter | Milestone | Features |
|---------|-----------|----------|
| **Nov 2025** | Public README.md | Publish readme and take in community feedback |
-| **Dec 2025** | Open-source community edition | Community edition release with working MVP |
-| **Q1 2026** | Enterprise Edition | Advanced RBAC, More Data source Integrations|
-| **Q1 2026** | Rootflo Wavefront Cloud | One-click deployable Wavefront Cloud
+| **Dec 2025** | Open-source Beta Release | Beta with basic features |
+| **Q1 2026** | GA Release | Advanced RBAC, More Data source Integrations|
+| **Q1 2026** | Rootflo Wavefront Cloud | Multi-tenant Cloud offering |
See [ROADMAP.md](ROADMAP.md) for detailed feature plans and contribution opportunities.
----
-
-## ๐ค Contributing
-
-We welcome contributions from the community! Whether it's bug reports, feature requests, or code contributions:
-
-1. Fork the repository
-2. Create a feature branch (`git checkout -b feature/amazing-feature`)
-3. Commit your changes (`git commit -m 'Add amazing feature'`)
-4. Push to the branch (`git push origin feature/amazing-feature`)
-5. Open a Pull Request
-
-See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
-
----
-
-
-## ๐ Acknowledgments
-
-Wavefront AI was built with inspiration from leading open-source projects in the AI infrastructure space. Special thanks to our early adopters and community contributors.
-
----
+> [!WARNING]
+>
+> - This project is under active development and APIs may change without notice. Please checkout the [platform docs](https://wavefront.rootflo.ai) for the latest information.
+> - The platform is not in the GA state, and there are unimplemented feature. Checkout [ROADMAP.md](../ROADMAP.md) for the list of features, and whats missing.
## โญ Show Your Support
@@ -224,10 +145,13 @@ If you find Wavefront AI useful, please consider:
---
-**Ready to transform your enterprise AI infrastructure?**
-
-Get in touch for production-grade support and SLA-driven deployments that ensure uptime, stability, and performance at scale.
+## Next Steps
-๐ง sales@rootflo.ai
+- [Join our Discord](https://discord.gg/BPXsNwfuRU)
+- [Read our docs](https://wavefront.rootflo.ai/)
+- [Submit an issue](https://github.com/rootflo/wavefront/issues/new/choose)
+- [Talk to us](https://calendly.com/meetings-rootflo/30min)
-**Join our discord at https://discord.gg/BPXsNwfuRU**
\ No newline at end of file
+Text us!
+[](https://x.com/viz_satiz)
+[](https://x.com/ntinkster)
diff --git a/ROADMAP.md b/ROADMAP.md
index 5ffbb6d1..20f8173d 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -2,23 +2,7 @@
This roadmap provides a comprehensive overview of the direction Wavefront AI is heading. It covers all major components of the platform: the Flo AI library, Wavefront Core middleware, Control Panel, CLI, and ecosystem tools.
-The roadmap is organized by component and priority, with clear timelines and status indicators. We welcome community feedback and contributions!
-
----
-
-## ๐ Table of Contents
-
-- [Release Timeline](#release-timeline)
-- [Flo AI Library](#flo-ai-library)
-- [Wavefront Core Middleware](#wavefront-core-middleware)
-- [Wavefront Control Panel](#wavefront-control-panel)
-- [Wavefront CLI](#wavefront-cli)
-- [Data & Integration Layer](#data--integration-layer)
-- [Developer Experience](#developer-experience)
-- [Enterprise Features](#enterprise-features)
-- [Observability & Monitoring](#observability--monitoring)
-
----
+The roadmap is organized by component and priority. We welcome community feedback and contributions!
## ๐๏ธ Release Timeline
@@ -31,9 +15,22 @@ The roadmap is organized by component and priority, with clear timelines and sta
---
+## ๐ Beta Release Scope
+
+Current release has the following features implemented:
+
+| Feature | Limitation |
+|---------|------------|
+| **Datasource** | You can connect to multiple data sources. Current support is for Google Bigquery and AWS redshift. |
+| **Agent** | You can create agents using the console and run them using the middleware. |
+| **Workflow** | You can create workflows using the console and run them using the middleware. |
+| **Voice Bots** | You can process voice calls using the middleware. But currently only outgoing calls are supported. Only supported telephony service is Twilio |
+| **Inference App** | You can create inference pytorch models using the middleware, but the support is limited to certain pytorch models. This feature is fully `experimental`, and APIs are bound to change. |
+| **API Service** | You can create API services to connect to any backend service. We have provided support for JSON and non JSON payload. Authenticate is limited to API Key, Basic Auth & Bearer Token. |
+
## ๐ค Flo AI Library
-The core agent building and orchestration framework.
+The core agent building and orchestration framework. The following are that is going to be implemented in the coming releases
### Core Features
@@ -70,7 +67,7 @@ The core agent building and orchestration framework.
---
-## ๐๏ธ Wavefront Core Middleware
+## ๐๏ธ Wavefront Core Middleware (a.k.a Floware)
The core middleware service that provides APIs, authentication, authorization, and data connectivity.
@@ -105,13 +102,11 @@ The core middleware service that provides APIs, authentication, authorization, a
| **Agent-Level RBAC** | Fine-grained permissions for agent access and execution | High | Yet to start | v0.1.0 |
| **Data Source RBAC** | Granular permissions for data source access | High | Yet to start | v0.1.0 |
| **Role Management** | Create, update, and manage custom roles | High | โ
Available | v0.1.0 |
-| **Permission Inheritance** | Hierarchical permission inheritance | Medium | Yet to start | v0.2.0 |
-| **Attribute-Based Access Control (ABAC)** | Advanced ABAC policies | Low | Yet to start | v0.3.0 |
| **Audit Logging for Access** | Comprehensive audit logs for all access attempts | High | Yet to start | v0.1.0 |
---
-## ๐๏ธ Wavefront Control Panel
+## ๐๏ธ Wavefront Control Panel (a.k.a Flo Console)
Unified frontend for configuring agents, workflows, AI models, guardrails, and RBAC.
@@ -193,12 +188,11 @@ Command-line interface for configuring and managing Wavefront AI.
| Adapter | Description | Priority | Status | Target Release |
|---------|-------------|----------|--------|----------------|
-| **Custom API Configuration** | Flexible HTTP endpoint support with custom authentication | High | ๐ In Progress | v0.1.0 |
+| **Custom API Configuration** | Flexible HTTP endpoint support with custom authentication | High | โ
Available | v0.1.0 |
| **Salesforce** | Native Salesforce API integration | High | ๐ In Progress | v0.1.0 |
| **SAP** | SAP ERP system integration | Medium | Yet to start | v0.2.0 |
-| **ServiceNow** | ServiceNow API integration | Medium | Yet to start | v0.2.0 |
| **Jira** | Jira API integration for project management | Low | Yet to start | v0.3.0 |
-| **Slack** | Slack API integration for notifications and workflows | Medium | Yet to start | v0.2.0 |
+| **Slack** | Slack API integration for notifications and workflows | Medium | โ
Available | v0.2.0 |
| **Microsoft 365** | Microsoft 365 API integration | Medium | Yet to start | v0.2.0 |
| **GitHub/GitLab** | Version control system integrations | Low | Yet to start | v0.3.0 |
@@ -224,8 +218,6 @@ Command-line interface for configuring and managing Wavefront AI.
## ๐จ Developer Experience
-### Flo AI Studio Enhancements
-
### Developer Tools
| Feature | Description | Priority | Status | Target Release |
@@ -302,88 +294,8 @@ Command-line interface for configuring and managing Wavefront AI.
---
-## ๐ Community & Ecosystem
-
-### Documentation
-
-| Feature | Description | Priority | Status | Target Release |
-|---------|-------------|----------|--------|----------------|
-| **Getting Started Guide** | Comprehensive getting started documentation | High | ๐ In Progress | v0.1.0 |
-| **API Documentation** | Complete API reference documentation | High | Yet to start | v0.1.0 |
-| **Tutorials** | Step-by-step tutorials for common use cases | High | Yet to start | v0.1.0 |
-| **Architecture Documentation** | Detailed architecture and design documentation | Medium | Yet to start | v0.2.0 |
-| **Best Practices Guide** | Best practices for building production agents | Medium | Yet to start | v0.2.0 |
-| **Video Tutorials** | Video tutorials and demos | Low | Yet to start | v0.3.0 |
-
-### Examples & Templates
-
-| Feature | Description | Priority | Status | Target Release |
-|---------|-------------|----------|--------|----------------|
-| **Example Gallery** | Comprehensive collection of example agents and workflows | High | ๐ In Progress | v0.1.0 |
-| **Use Case Templates** | Pre-built templates for common use cases | High | Yet to start | v0.2.0 |
-| **Integration Examples** | Examples for integrating with popular services | Medium | Yet to start | v0.2.0 |
-| **Community Templates** | Platform for sharing community-created templates | Low | Yet to start | v0.3.0 |
-
-### Community Features
-
-| Feature | Description | Priority | Status | Target Release |
-|---------|-------------|----------|--------|----------------|
-| **Community Forum** | Discussion forum for community support | Medium | Yet to start | v0.2.0 |
-| **Template Marketplace** | Marketplace for sharing and discovering templates | Low | Yet to start | v0.3.0 |
-| **Contributor Guide** | Comprehensive guide for contributors | High | ๐ In Progress | v0.1.0 |
-| **Community Showcase** | Showcase of community-built solutions | Low | Yet to start | v0.3.0 |
-
----
-
-## โ
Released Features
-
-### Flo AI Library
-
-| Feature | Description | Status | Version |
-|---------|-------------|--------|---------|
-| **Full Composability** | Teams can be combined with teams and agents with agents. Extended to team + agent composability | โ
| v0.0.4 |
-| **Error Handling** | Ability to handle errors autonomously | โ
| v0.0.4 |
-| **LLM Extensibility** | Ability to use different LLMs across different agents and teams | โ
| v0.0.4 |
-| **Async Tools** | Ability to create tools easily within asyncio | โ
| v0.0.4 |
-| **Observer Framework** | Observer framework for raising agent decision events and other important events | โ
| v0.0.4 |
-| **Test Framework** | Framework for unit-testing flo-ai and its internal functionalities | โ
| v0.0.4 |
-| **Linear Router** | Router that lets you build agents or teams that execute linearly or sequentially | โ
| v0.0.3 |
-| **Reflection Router** | Component that can make the AI retrospectively look at the current output and retry or work again on the task | โ
| v0.0.3 |
-| **Delegator Router** | Component that can help delegate a flo to a particular agent, by some condition | โ
| v0.0.3 |
-| **Logging Framework** | Better logging framework which can be extended to parent application (with log level control) | โ
| v0.0.3 |
-| **Output Formatter** | Ability to templatize output format using Pydantic | โ
| v0.0.5 |
-| **YAML-Based Agents** | Define agents and workflows using YAML configuration | โ
| v1.0.0 |
-| **LLM-Powered Routers** | Intelligent routing using Large Language Models | โ
| v1.0.0 |
-| **Plan-Execute Router** | Cursor-style plan-and-execute workflows | โ
| v1.0.0 |
-| **Document Processing** | Process PDF and TXT documents with AI agents | โ
| v1.0.0 |
-| **Variables System** | Dynamic variable resolution in agent prompts | โ
| v1.0.0 |
-| **Agent Builder Pattern** | Fluent interface for building agents | โ
| v1.0.0 |
-| **Arium Workflow Engine** | Multi-agent workflow orchestration engine | โ
| v1.0.0 |
-| **OpenTelemetry Integration** | Built-in observability with automatic instrumentation | โ
| v1.0.0 |
-| **Flo AI Studio** | Visual workflow designer with React-based UI | โ
| v1.0.0 |
-
-### Platform Components
-
-| Feature | Description | Status | Version |
-|---------|-------------|--------|---------|
-| **Frontend SDK** | React component library for building AI applications | โ
| v1.0.0 |
-| **Low Code YAML Builder** | YAML-based agent and workflow builder | โ
| v1.0.0 |
-
----
-
## ๐ Notes
-- **Status Legend**:
- - โ
Available - Feature is implemented and available
- - ๐ In Progress - Feature is currently being developed
- - Yet to start - Feature is planned but not yet started
- - ๐ Roadmap - Feature is on the roadmap with lower priority
-
-- **Priority Levels**:
- - **High**: Critical for core functionality or major milestones
- - **Medium**: Important but not blocking
- - **Low**: Nice to have, can be deferred
-
- **Version Numbers**: Version numbers are estimates and subject to change based on priorities and community feedback.
- **Community Contributions**: The community is welcome to suggest changes to the roadmap through pull requests. Community-suggested features will be evaluated and prioritized based on alignment with project goals.
diff --git a/flo_ai/pyproject.toml b/flo_ai/pyproject.toml
index db609896..8f6daf94 100644
--- a/flo_ai/pyproject.toml
+++ b/flo_ai/pyproject.toml
@@ -1,8 +1,8 @@
[project]
name = "flo_ai"
-version = "1.1.0-rc5"
+version = "1.1.0-rc6"
description = "A easy way to create structured AI agents"
-authors = [{ name = "rootflo", email = "*@rootflo.ai" }]
+authors = [{ name = "rootflo", email = "engineering.tools@rootflo.ai" }]
requires-python = ">=3.10,<4.0"
readme = "README.md"
license = "MIT"
diff --git a/flo_ai/setup.py b/flo_ai/setup.py
index 91d27742..6e2e613e 100644
--- a/flo_ai/setup.py
+++ b/flo_ai/setup.py
@@ -5,7 +5,7 @@
setuptools.setup(
name='flo-ai',
- version='1.0.7-rc5',
+ version='1.1.0-rc1',
author='Rootflo',
description='Create composable AI agents',
long_description=long_description,
diff --git a/flo_ai/uv.lock b/flo_ai/uv.lock
index f3dc7384..076ab59e 100644
--- a/flo_ai/uv.lock
+++ b/flo_ai/uv.lock
@@ -897,7 +897,7 @@ wheels = [
[[package]]
name = "flo-ai"
-version = "1.1.0rc5"
+version = "1.1.0rc6"
source = { editable = "." }
dependencies = [
{ name = "aiohttp" },
diff --git a/images/wavefront-middleware.png b/images/wavefront-middleware.png
new file mode 100644
index 00000000..eb60cac5
Binary files /dev/null and b/images/wavefront-middleware.png differ
diff --git a/images/wavefront-service-mesh.png b/images/wavefront-service-mesh.png
new file mode 100644
index 00000000..1ba952e9
Binary files /dev/null and b/images/wavefront-service-mesh.png differ
diff --git a/wavefront/docker_setup.md b/wavefront/DOCKER_SETUP.md
similarity index 51%
rename from wavefront/docker_setup.md
rename to wavefront/DOCKER_SETUP.md
index a8aab192..ee12e92d 100644
--- a/wavefront/docker_setup.md
+++ b/wavefront/DOCKER_SETUP.md
@@ -2,6 +2,11 @@
This guide explains how to configure and run the RootFlo AI platform using Docker Compose.
+> [!WARNING]
+>
+> - This project is under active development and APIs may change without notice. Please checkout the [platform docs](https://wavefront.rootflo.ai) for the latest information.
+> - The platform is not in the GA state, and there are unimplemented feature. Checkout [ROADMAP.md](../ROADMAP.md) for the list of features, and whats missing.
+
## Quick Start
1. **Generate JWT Keys**
@@ -74,14 +79,14 @@ Some services require credential files (JSON files for GCP, OAuth, etc.). Follow
| Service | Port | Description |
|---------|------|-------------|
-| **floware** | 8001 | Core AI middleware platform |
-| **floconsole** | 8002 | Management console |
-| **inference_app** | 8003 | Inference App |
-| **call_processing** | 8004 | Voice call processing (Pipecat) |
-| **postgres-floware** | 5432 | Floware database (pgvector) |
+| **floware** | 8001 | Core AI middleware service |
+| **floconsole** | 8002 | Management console service |
+| **inference_app** | 8003 | Inference App service (Alpha) |
+| **call_processing** | 8004 | Voice call processing service (Pipecat) |
+| **postgres-floware** | 5432 | Floware database (with pgvector extension) |
| **postgres-console** | 5433 | Console database |
| **redis-floware** | 6379 | Floware cache |
-| **redis-call-processing** | 6380 | Call processing cache |
+| **redis-call-processing** | 6380 | Call processing service cache |
## Environment Variables Reference
@@ -90,172 +95,216 @@ Some services require credential files (JSON files for GCP, OAuth, etc.). Follow
#### Required Variables
**Database**:
-- `DB_USERNAME`: PostgreSQL username (default: `postgres`)
-- `DB_PASSWORD`: PostgreSQL password (default: `postgres`)
-- `DB_HOST`: Database host (default: `postgres-floware`)
-- `DB_PORT`: Database port (default: `5432`)
-- `DB_NAME`: Database name (default: `floware`)
+
+| Variable | Description |
+|----------|-------------|
+| `DB_USERNAME` | PostgreSQL username (default: `postgres`) |
+| `DB_PASSWORD` | PostgreSQL password (default: `postgres`) |
+| `DB_HOST` | Database host (default: `postgres-floware`) |
+| `DB_PORT` | Database port (default: `5432`) |
+| `DB_NAME` | Database name (default: `floware`) |
**Redis**:
-- `REDIS_PROTOCOL`: Protocol (default: `redis`)
-- `REDIS_HOST`: Redis host (default: `redis-floware`)
-- `REDIS_PORT`: Redis port (default: `6379`)
+
+| Variable | Description |
+|----------|-------------|
+| `REDIS_PROTOCOL` | Protocol (default: `redis`) |
+| `REDIS_HOST` | Redis host (default: `redis-floware`) |
+| `REDIS_PORT` | Redis port (default: `6379`) |
**Application Settings**:
-- `APP_ENV`: Application environment (e.g., `dev`, `staging`, `production`)
-- `APP_NAME`: Application name (default: `floware`)
-- `ALLOWED_ORIGINS`: Comma-separated list of allowed CORS origins
-- `PASSTHROUGH_SECRET`: Secret for service-to-service authentication (**IMPORTANT**: Must be the same in floware, floconsole, and call_processing services)
+
+| Variable | Description |
+|----------|-------------|
+| `APP_ENV` | Application environment (e.g., `dev`, `staging`, `production`) |
+| `APP_NAME` | Application name (default: `floware`) |
+| `ALLOWED_ORIGINS` | Comma-separated list of allowed CORS origins |
+| `PASSTHROUGH_SECRET` | Secret for service-to-service authentication (when `APP_ENV` is local, dev, staging)|
+
+**IMPORTANT**: `PASSTHROUGH_SECRET` must be the same in floware, floconsole, and call_processing services. This is used only in non-production environments (`APP_NAME` being local, dev, staging), for production, you should configure service mesh or API gateway to handle service-to-service authentication.
**JWT Authentication**:
-- `PRIVATE_KEY`: Base64-encoded RSA private key (generate using `./scripts/generate-keys.sh`)
-- `PUBLIC_KEY`: Base64-encoded RSA public key (generate using `./scripts/generate-keys.sh`)
-- `TOKEN_EXPIRY`: Token expiration in seconds (default: `3600`)
-- `TEMPORARY_TOKEN_EXPIRY`: Temporary token expiration (default: `600`)
-- `ENABLE_CLOUD_KMS`: Enable cloud KMS for key management (`true` or `false`)
-- `CONSOLE_TOKEN_PREFIX`: Token prefix for console tokens (default: `fc_`)
-- `FLOWARE_JWT_ISSUER`: JWT issuer URL for floware
-- `FLOWARE_JWT_AUDIENCE`: JWT audience URL for floware
-- `FLOWARE_JWT_VALIDATION_ISSUER`: Comma-separated list of valid issuers
+
+| Variable | Description |
+|----------|-------------|
+| `PRIVATE_KEY` | Base64-encoded RSA private key (generate using `./scripts/generate-keys.sh`) |
+| `PUBLIC_KEY` | Base64-encoded RSA public key (generate using `./scripts/generate-keys.sh`) |
+| `TOKEN_EXPIRY` | Token expiration in seconds (default: `3600`) |
+| `TEMPORARY_TOKEN_EXPIRY` | Temporary token expiration (default: `600`) |
+| `ENABLE_CLOUD_KMS` | Enable cloud KMS for key management (`true` or `false`) |
+| `CONSOLE_TOKEN_PREFIX` | Token prefix for console tokens (default: `fc_`) |
+| `FLOWARE_JWT_ISSUER` | JWT issuer URL for floware |
+| `FLOWARE_JWT_AUDIENCE` | JWT audience URL for floware |
+| `FLOWARE_JWT_VALIDATION_ISSUER` | Comma-separated list of valid issuers |
**Initial User configuration**:
-- `EMAIL`: User Email
-- `PASSWORD`: User Password
-- `FIRST_NAME`: User first name
-- `LAST_NAME`: User last name
+
+| Variable | Description |
+|----------|-------------|
+| `EMAIL` | User Email |
+| `PASSWORD` | User Password |
+| `FIRST_NAME` | User first name |
+| `LAST_NAME` | User last name |
**Cloud Provider** (Choose one: `aws` or `gcp`):
-- `CLOUD_PROVIDER`: Set to `aws` or `gcp`
+
+| Variable | Description |
+|----------|-------------|
+| `CLOUD_PROVIDER` | Set to `aws` or `gcp` |
#### AWS Configuration (if CLOUD_PROVIDER=aws)
-```yaml
-AWS_ACCESS_KEY_ID: Your AWS access key
-AWS_SECRET_ACCESS_KEY: Your AWS secret key
-AWS_REGION: AWS region (e.g., ap-south-1)
-AWS_KMS_ARN: KMS key ARN for encryption
-AWS_QUEUE_URL: SQS queue URL
-
-# S3 Buckets
-TRANSCRIPT_BUCKET_NAME: Bucket for audio transcripts
-AUDIO_BUCKET_NAME: Bucket for audio files
-AWS_GOLD_ASSET_BUCKET_NAME: Bucket for gold/insights assets
-MODEL_STORAGE_BUCKET: Bucket for ML models
-AGENT_YAML_BUCKET: Bucket for agent YAML configs
-VOICE_AGENT_BUCKET: Bucket for voice agent configs
-IMAGE_SEARCH_REFERENCE_IMAGES_BUCKET: Bucket for reference images
-APPLICATION_BUCKET: Bucket for API service applications
-```
+| Variable | Description |
+|----------|-------------|
+| `AWS_ACCESS_KEY_ID` | Your AWS access key |
+| `AWS_SECRET_ACCESS_KEY` | Your AWS secret key |
+| `AWS_REGION` | AWS region (e.g., ap-south-1) |
+| `AWS_KMS_ARN` | KMS key ARN for encryption |
+| `AWS_QUEUE_URL` | SQS queue URL |
+| `TRANSCRIPT_BUCKET_NAME` | Bucket for audio transcripts |
+| `AUDIO_BUCKET_NAME` | Bucket for audio files |
+| `AWS_GOLD_ASSET_BUCKET_NAME` | Bucket for gold/insights assets |
+| `MODEL_STORAGE_BUCKET` | Bucket for ML models |
+| `AGENT_YAML_BUCKET` | Bucket for agent YAML configs |
+| `VOICE_AGENT_BUCKET` | Bucket for voice agent configs |
+| `IMAGE_SEARCH_REFERENCE_IMAGES_BUCKET` | Bucket for reference images |
+| `APPLICATION_BUCKET` | Bucket for API service applications |
#### GCP Configuration (if CLOUD_PROVIDER=gcp)
-```yaml
-GCP_PROJECT_ID: Your GCP project ID
-GCP_LOCATION: GCP region (e.g., asia-south1)
-GOOGLE_APPLICATION_CREDENTIALS: Path to service account JSON file
-GCP_KMS_KEY_RING: KMS key ring name
-GCP_KMS_CRYPTO_KEY: KMS crypto key name
-GCP_KMS_CRYPTO_KEY_VERSION: KMS key version (usually 1)
-
-# GCS Buckets
-GCP_ASSET_STORAGE_BUCKET: Bucket for assets
-GCP_GOLD_TOPIC_ID: Gold/insights Pub/Sub topic
-GCP_EMAIL_TOPIC_ID: Email processing Pub/Sub topic
-WORKFLOW_WORKER_TOPIC: Workflow Pub/Sub topic
-```
-
-#### LLM/AI Configuration
-
-**OpenAI**:
-- `OPENAI_API_KEY`: Your OpenAI API key
-- `OPENAI_MODEL_NAME`: Model to use (default: `gpt-4o`)
-
-**Other APIs**:
-- `GOOGLE_API_KEY`: Google API key
+| Variable | Description |
+|----------|-------------|
+| `GCP_PROJECT_ID` | Your GCP project ID |
+| `GCP_LOCATION` | GCP region (e.g., asia-south1) |
+| `GOOGLE_APPLICATION_CREDENTIALS` | Path to service account JSON file |
+| `GCP_KMS_KEY_RING` | KMS key ring name |
+| `GCP_KMS_CRYPTO_KEY` | KMS crypto key name |
+| `GCP_KMS_CRYPTO_KEY_VERSION` | KMS key version (usually 1) |
+| `GCP_ASSET_STORAGE_BUCKET` | Bucket for assets |
+| `WORKFLOW_WORKER_TOPIC` | Workflow Pub/Sub topic |
+| `APPLICATION_BUCKET` | Bucket for API service applications |
#### Optional Configurations
**External Services**:
-- `INFERENCE_SERVICE_URL`: URL for the inference service (default: `http://inference_app:8003`)
-- `EMBEDDING_SERVICE_URL`: URL for the embedding service
-- `CALL_PROCESSING_BASE_URL`: URL for call processing service (default: `http://call_processing:8004`)
-- `HERMES_URL`: URL for Hermes service
-**OAuth Integration**:
-- Azure: `AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`, `AZURE_SCOPES`, `AZURE_REDIRECT_URI`
+| Variable | Description |
+|----------|-------------|
+| `INFERENCE_SERVICE_URL` | URL for the inference service (default: `http://inference_app:8003`) |
+| `EMBEDDING_SERVICE_URL` | URL for the embedding service |
+| `CALL_PROCESSING_BASE_URL` | URL for call processing service (default: `http://call_processing:8004`) |
+| `HERMES_URL` | URL for Hermes service |
+
+
**Email Integration**:
-- `EMAIL_PROVIDER`: `gmail` or `outlook`
-- Gmail: `GMAIL_SERVICE_ACCOUNT_FILE`, `GMAIL_SENDER_EMAILID`, `GMAIL_DELEGATE_USER`
-- Outlook: `OUTLOOK_CLIENT_ID`, `OUTLOOK_CLIENT_SECRET`, `OUTLOOK_TENANT_ID`, `OUTLOOK_SENDER_EMAILID`
-
-**Analytics**:
-- Superset: `SUPERSET_URL`, `SUPERSET_USERNAME`, `SUPERSET_PASSWORD`
-- BigQuery: `BQ_PROJECT_ID`, `BQ_DATASET_ID`
-- Redshift: `REDSHIFT_DB`, `REDSHIFT_USERNAME`, `REDSHIFT_PASSWORD`, `REDSHIFT_HOST`, `REDSHIFT_PORT`
-
-**Security Settings**:
-- `MAX_FAILED_ATTEMPTS`: Maximum failed login attempts before lockout (default: `3`)
-- `LOCKOUT_DURATION_HOURS`: Hours to lock account after max failed attempts (default: `24`)
-- `INACTIVE_DAYS_THRESHOLD`: Days of inactivity before account is disabled (default: `60`)
-
-**Feature Flags** (set to `true` or `false`):
-- `AZURE_FLAG`: Enable Azure integration
-- `AZURE_OPENAI_FLAG`: Enable Azure OpenAI
-- `CELERY_FLAG`: Enable Celery for async tasks
-- `EMAIL_SYNC_FLAG`: Enable email synchronization
-- `GOOGLE_FLAG`: Enable Google integration
-- `INACTIVE_ACCOUNT_DISABLE_FLAG`: Enable automatic account disabling for inactive users
-- `SAML_FLAG`: Enable SAML authentication
-- `SLACK_FLAG`: Enable Slack integration
-- `SUPERSET_FLAG`: Enable Superset analytics
-- `VECTOR_DB_FLAG`: Enable vector database features
+
+| Variable | Description |
+|----------|-------------|
+| `EMAIL_PROVIDER` | `gmail` or `outlook` |
+| `GMAIL_SERVICE_ACCOUNT_FILE` | Gmail service account JSON file path |
+| `GMAIL_SENDER_EMAILID` | Gmail sender email address |
+| `GMAIL_DELEGATE_USER` | Gmail delegate user |
+| `OUTLOOK_CLIENT_ID` | Outlook OAuth client ID |
+| `OUTLOOK_CLIENT_SECRET` | Outlook OAuth client secret |
+| `OUTLOOK_TENANT_ID` | Outlook OAuth tenant ID |
+| `OUTLOOK_SENDER_EMAILID` | Outlook sender email address |
+
+
+
+**Auth Security Settings**:
+
+| Variable | Description |
+|----------|-------------|
+| `MAX_FAILED_ATTEMPTS` | Maximum failed login attempts before lockout (default: `3`) |
+| `LOCKOUT_DURATION_HOURS` | Hours to lock account after max failed attempts (default: `24`) |
+| `INACTIVE_DAYS_THRESHOLD` | Days of inactivity before account is disabled (default: `60`) |
+
+
### FloConsole Service
#### Required Variables
-- `ALLOWED_ORIGINS`: Allowed origins (http://wavefront:3000)
-- `CONSOLE_DB_HOST`: Database host (default: `postgres-console`)
-- `CONSOLE_DB_PORT`: Database port (default: `5432`)
-- `CONSOLE_DB_USERNAME`: Database username (default: `postgres`)
-- `CONSOLE_DB_PASSWORD`: Database password (default: `postgres`)
-- `CONSOLE_DB_NAME`: Database name (default: `console`)
-- `CONSOLE_EMAIL`: Admin email address
-- `CONSOLE_PASSWORD`: Admin password
-- `CONSOLE_FIRST_NAME`: Admin first name
-- `CONSOLE_LAST_NAME`: Admin last name
-- `CONSOLE_JWT_ISSUER`: JWT issuer URL for console
-- `CONSOLE_JWT_AUDIENCE`: JWT audience URL for console
-- `CONSOLE_TOKEN_PREFIX`: Token prefix for console tokens (default: `fc_`)
-- `SUPER_ADMIN_EMAIL`: Super admin email (usually same as `CONSOLE_EMAIL`)
-- `TOKEN_EXPIRY`: Token expiration in seconds (default: `3600`)
-- `TEMPORARY_TOKEN_EXPIRY`: Temporary token expiration (default: `600`)
-- `PRIVATE_KEY`: Base64-encoded RSA private key (can be different from floware)
-- `PUBLIC_KEY`: Base64-encoded RSA public key (can be different from floware)
-- `APP_ENV`: Application environment
-- `ENABLE_CLOUD_KMS`: Enable cloud KMS for key management (`true` or `false`)
-- `PASSTHROUGH_SECRET`: Secret for service-to-service authentication (**IMPORTANT**: Must be the same as floware and call_processing)
-- `DEFAULT_APP_NAME`: Name for the default app created automatically (e.g., `floware-dev`)
-- `DEFAULT_APP_PUBLIC_URL`: Public URL for the default app (e.g., `http://floware:8001`)
-- `DEFAULT_APP_PRIVATE_URL`: Private URL for the default app (e.g., `http://floware:8001`)
+| Variable | Description |
+|----------|-------------|
+| `ALLOWED_ORIGINS` | Allowed origins (http://wavefront:3000) |
+| `CONSOLE_DB_HOST` | Database host (default: `postgres-console`) |
+| `CONSOLE_DB_PORT` | Database port (default: `5432`) |
+| `CONSOLE_DB_USERNAME` | Database username (default: `postgres`) |
+| `CONSOLE_DB_PASSWORD` | Database password (default: `postgres`) |
+| `CONSOLE_DB_NAME` | Database name (default: `console`) |
+| `CONSOLE_EMAIL` | Admin email address |
+| `CONSOLE_PASSWORD` | Admin password |
+| `CONSOLE_FIRST_NAME` | Admin first name |
+| `CONSOLE_LAST_NAME` | Admin last name |
+| `CONSOLE_JWT_ISSUER` | JWT issuer URL for console |
+| `CONSOLE_JWT_AUDIENCE` | JWT audience URL for console |
+| `CONSOLE_TOKEN_PREFIX` | Token prefix for console tokens (default: `fc_`) |
+| `SUPER_ADMIN_EMAIL` | Super admin email (usually same as `CONSOLE_EMAIL`) |
+| `TOKEN_EXPIRY` | Token expiration in seconds (default: `3600`) |
+| `TEMPORARY_TOKEN_EXPIRY` | Temporary token expiration (default: `600`) |
+| `PRIVATE_KEY` | Base64-encoded RSA private key (can be different from floware) |
+| `PUBLIC_KEY` | Base64-encoded RSA public key (can be different from floware) |
+| `APP_ENV` | Application environment |
+| `ENABLE_CLOUD_KMS` | Enable cloud KMS for key management (`true` or `false`) |
+| `PASSTHROUGH_SECRET` | Secret for service-to-service authentication (**IMPORTANT**: Must be the same as floware and call_processing) |
+| `DEFAULT_APP_NAME` | Name for the default app created automatically (e.g., `floware-dev`) |
+| `DEFAULT_APP_PUBLIC_URL` | Public URL for the default app (e.g., `http://floware:8001`) |
+| `DEFAULT_APP_PRIVATE_URL` | Private URL for the default app (e.g., `http://floware:8001`) |
### Call Processing Service
#### Required Variables
-- `REDIS_HOST`: Redis host (default: `redis-call-processing`)
-- `REDIS_PORT`: Redis port (default: `6379`)
-- `REDIS_DB`: Redis database number (default: `0`)
-- `APP_ENV`: Application environment
-- `APP_NAME`: Application name (default: `call_processing`)
-- `APP_NAME_FLOWARE`: Floware app name reference (default: `floware`)
-- `FLOWARE_BASE_URL`: Floware URL (default: `http://floware:8001`)
-- `PASSTHROUGH_SECRET`: Secret for service-to-service authentication
-- `TOKEN_EXPIRY`: Token expiration in seconds (default: `3600`)
-- `TEMPORARY_TOKEN_EXPIRY`: Temporary token expiration (default: `600`)
-- `CALL_PROCESSING_TOKEN_PREFIX`: Token prefix (default: `fc_`)
-- `CALL_PROCESSING_JWT_ISSUER`: JWT issuer URL for call processing
+| Variable | Description |
+|----------|-------------|
+| `REDIS_HOST` | Redis host (default: `redis-call-processing`) |
+| `REDIS_PORT` | Redis port (default: `6379`) |
+| `REDIS_DB` | Redis database number (default: `0`) |
+| `APP_ENV` | Application environment |
+| `APP_NAME` | Application name (default: `call_processing`) |
+| `APP_NAME_FLOWARE` | Floware app name reference (default: `floware`) |
+| `FLOWARE_BASE_URL` | Floware URL (default: `http://floware:8001`) |
+| `PASSTHROUGH_SECRET` | Secret for service-to-service authentication |
+| `TOKEN_EXPIRY` | Token expiration in seconds (default: `3600`) |
+| `TEMPORARY_TOKEN_EXPIRY` | Temporary token expiration (default: `600`) |
+| `CALL_PROCESSING_TOKEN_PREFIX` | Token prefix (default: `fc_`) |
+| `CALL_PROCESSING_JWT_ISSUER` | JWT issuer URL for call processing |
### Inference App Service (Optional)
@@ -263,18 +312,26 @@ Uncomment the `inference_app` service in `docker-compose.yml` to enable.
#### Required Variables
-- `APP_ENV`: Application environment
-- `CLOUD_PROVIDER`: `aws` or `gcp`
-- `MODEL_STORAGE_BUCKET`: Bucket for ML models
+| Variable | Description |
+|----------|-------------|
+| `APP_ENV` | Application environment |
+| `CLOUD_PROVIDER` | `aws` or `gcp` |
+| `MODEL_STORAGE_BUCKET` | Bucket for ML models |
**If AWS**:
-- `AWS_ACCESS_KEY_ID`: AWS access key
-- `AWS_SECRET_ACCESS_KEY`: AWS secret key
-- `AWS_REGION`: AWS region (e.g., `ap-south-1`)
+
+| Variable | Description |
+|----------|-------------|
+| `AWS_ACCESS_KEY_ID` | AWS access key |
+| `AWS_SECRET_ACCESS_KEY` | AWS secret key |
+| `AWS_REGION` | AWS region (e.g., `ap-south-1`) |
**If GCP**:
-- `GCP_PROJECT_ID`: GCP project ID
-- `GOOGLE_APPLICATION_CREDENTIALS`: Path to service account JSON file (default: `/app/credentials/gcp-service-account.json`)
+
+| Variable | Description |
+|----------|-------------|
+| `GCP_PROJECT_ID` | GCP project ID |
+| `GOOGLE_APPLICATION_CREDENTIALS` | Path to service account JSON file (default: `/app/credentials/gcp-service-account.json`) |
## Cloud Provider Setup
@@ -503,16 +560,6 @@ ports:
Increase Docker memory limit in Docker Desktop settings (recommended: 8GB minimum).
-## Security Best Practices
-
-1. **Never commit docker-compose.yml with real credentials**
-2. **Use strong passwords** for database and admin accounts
-3. **Rotate JWT keys** regularly
-4. **Use environment-specific configurations** (don't use dev credentials in production)
-5. **Enable KMS encryption** for production deployments (`ENABLE_CLOUD_KMS=true`)
-6. **Use HTTPS** for production deployments (add reverse proxy like Nginx)
-7. **Restrict network access** using Docker networks and firewall rules
-
## Initial Setup
After starting all services, you need to configure floconsole to connect to floware:
diff --git a/wavefront/README.md b/wavefront/README.md
index 22476f36..3e164ce0 100644
--- a/wavefront/README.md
+++ b/wavefront/README.md
@@ -1 +1,97 @@
-# To be updated
\ No newline at end of file
+
+
+
+
+
+
+## Prerequisites
+
+The project has its backend services written in python and frontend in reactjs. It has the following dependencies:
+
+- Python >=3.11
+- Node.js >=22.12
+- uv >=0.7.15
+- pnpm >=10.13.1
+
+## Wavefront Overview
+
+The platform consist of following components, which create a microservice mesh to provide scalable, secure, and reliable AI services. We have not used a fully microservice architecture as it is not necessary for our use case.
+
+The platform consists of following components:
+
+| Service | Port | Description | Release Status |
+|---------|------|-------------|----------------|
+| **floware** | 8001 | Core AI middleware service. This service connects wavefront to multiple backends, databases, AI models and more. This is the core control center of the platform. | Beta |
+| **floconsole** | 8002 | Management console service, this module is multi-app control centre for configuriong multiple apps on the wavefront middleware. | Beta |
+| **inference_app** | 8003 | Inference App service. A simple service for running pytorch models. We right now support all models which works on pytorch version 0.16.0. | Experimental |
+| **call_processing** | 8004 | Voice call processing service (Pipecat) | Beta |
+
+#### Middleware High Level Architecture:
+
+
+
+
+
+#### Console High Level Architecture:
+
+
+
+
+
+The project is ready for production use only in Google Cloud Console and Amazon Web Services.
+In the current state of the project, it requires following cloud services to run locally (We are working on removing this dependencies for local runs):
+
+- Google Cloud Storage or Amazon S3
+- Google Cloud Pub/Sub or AWS SQS
+
+## Quick Start
+
+> [!WARNING]
+>
+> - This project is under active development and APIs may change without notice. Please checkout the [platform docs](https://wavefront.rootflo.ai) for the latest information.
+> - The platform is not in the GA state, and there are unimplemented feature. Checkout [ROADMAP.md](../ROADMAP.md) for the list of features, and whats missing.
+
+### Docker Setup
+
+You can use docker compose to setup the platform locally. Details on setting up using docker can be found in [DOCKER_SETUP.md](DOCKER_SETUP.md)
+
+### Dev/Local Setup
+
+**Step 1**: You can use the local setup to setup the platform locally. Start by cloning the repo and running the following commands:
+
+```bash
+chmod +x install-dep-local.sh
+./install-dep-local.sh
+```
+
+This will install all the dependencies required to run the platform locally.
+
+**Step 2**: Wavefront uses vscode (or its clone like cursor or anti-gravity) as the primary editor. We have provided a vscode workspace file to make it easier to work with the project. Open the workspace file in vscode and it will open the project in vscode.
+
+Once you open the vscode you will be seeing three workspaces:
+
+- `wavefront-root-dir`: This is the root directory of the project. With all the root-dir files
+- `wavefront`: This is the backend & frontend service of the platform.
+- `flo_ai`: The A2A orchestration library developed by RootFlo AI.
+
+**Step 3**: Go to `wavefront` workspace and open the server directory. In the directory go to `apps`, where you can find all the services mentioned in the table above. Open each of the setup `.env` files with environment variables as mentioned in the [DOCKER_SETUP.md](DOCKER_SETUP.md).
+
+**Step 4**: Run all the backend services services. Check the floware health at http://localhost:8001/floware/v1/health.
+
+**Step 5**: Go to `wavefront` workspace and open the client directory. Add the neccessary environment variables in the `.env` file. Run the following commands to start the frontend services:
+
+```bash
+pnpm install
+pnpm run dev
+```
+
+Now open http://localhost:5173 in your browser to see the frontend & login with the credentials set in environment variables.
+
+**Step 6**: Go to the console, add your first app by clicking on the `Add App` button. Use the details of the floware service you started on Step 4
+
+## Next Steps
+
+Connect your datasources, and create your first agent & workflow or go ahead an try out the voice bot feature.
+
+- Checkout the platform docs here [https://wavefront.rootflo.ai](https://wavefront.rootflo.ai/).
+- Incase you face any issues, dont hesitate to reach out to schedule a call with us [here](https://calendly.com/meetings-rootflo/30min)
\ No newline at end of file