Database Schema
Entity-Relationship Overview
Main Entities
- User: id, name, email, password_hash, roles
- Workflow: id, name, owner_id, definition_json, created_at, updated_at
- WorkflowRun: id, workflow_id, status, started_at, ended_at, input_params, output, logs
- Agent: id, name, type (docker/api/a2a), config_json, owner_id
- HITLTask: id, run_id, node_id, assignee_id, status, instructions, context_json
- MarketplaceItem: id, agent_id, visibility, metadata_json
Example Table: workflow
| Column | Type | Description |
|---|---|---|
| id | UUID/serial | Primary key |
| name | VARCHAR | Workflow name |
| owner_id | UUID | FK to user |
| definition_json | JSONB | Visual builder definition |
| created_at | TIMESTAMP | Creation time |
| updated_at | TIMESTAMP | Last update |
Relationships
- A user can own multiple workflows and agents.
- A workflow can have multiple runs.
- An agent can be listed in the marketplace.