Primary Data Flows

Chat Conversation Flow

1
User → Chat UI

User sends message through chat interface

2
Chat UI → FastAPI Backend

POST /agent/initiate (REST API)

3
FastAPI → Chat Thread Module

Process request and coordinate modules

4
Chat Thread → AIM Module

Retrieve context from knowledge base

→ AIM queries user_dagad_entries in Supabase
5
Chat Thread → Orbit Module

Fetch project and sandbox information

→ Orbit queries projects, sandboxes, threads tables
6
Chat Thread → Vault Module

Check for file operations

→ Vault queries files table
7
Chat Thread → Redis

Cache context and session data

8
Chat Thread → LLM Providers

Generate response via LiteLLM gateway

9
Chat Thread → Docker Sandboxes

Execute tools if needed

10
Chat Thread → Chat UI

Stream response via SSE

11
Chat Thread → Supabase

Save messages and agent_runs

Background Job Flow

1
FastAPI → Background Workers

Queue job via Redis

2
Background Worker → Redis

Pick up job from queue

3
Worker → Docker Sandboxes

Create or use existing sandbox

4
Worker → LLM Providers

Execute agent logic

5
Worker → Docker Sandboxes

Execute tools in isolated environment

6
Worker → Redis

Store intermediate results

7
Worker → Supabase

Update agent_runs status

8
Worker → Chat UI

Stream updates via SSE

File Upload Flow

1
User → Vault UI

Upload file through interface

2
Vault UI → FastAPI Backend

POST /vault/upload (REST API)

3
FastAPI → Vault Module

Process upload request

4
Vault Module → Supabase Storage

Store file in cloud storage

5
Vault Module → Supabase

Save file metadata in files table

6
Vault Module → Redis

Cache file information

7
Vault Module → Vault UI

Return file URL and metadata